<?xml version="1.0"?>
<doc>
    <assembly>
        <name>AWSSDK.S3</name>
    </assembly>
    <members>
        <member name="T:Amazon.S3.AmazonS3Client">
             <summary>
             Implementation for accessing S3
            
             
             </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.Initialize">
            <summary>
            Specialize the initialize of the client.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetPreSignedURLInternal(Amazon.S3.Model.GetPreSignedUrlRequest,System.Boolean)">
            <summary>
            Create a signed URL allowing access to a resource that would 
            usually require authentication.
            </summary>
            <remarks>
            <para>
            When using query string authentication you create a query,
            specify an expiration time for the query, sign it with your
            signature, place the data in an HTTP request, and distribute
            the request to a user or embed the request in a web page.
            </para>
            <para>
            A PreSigned URL can be generated for GET, PUT, DELETE and HEAD
            operations on your bucketName, keys, and versions.
            </para>
            </remarks>
            <param name="request">The GetPreSignedUrlRequest that defines the
            parameters of the operation.</param>
            <param name="useSigV2Fallback">determines if signing will fall back to SigV2 if the
            signing region is us-east-1</param>
            <returns>A string that is the signed http request.</returns>
            <exception cref="T:System.ArgumentException" />
            <exception cref="T:System.ArgumentNullException" />
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.Marshall(Amazon.Runtime.IClientConfig,Amazon.S3.Model.GetPreSignedUrlRequest,System.String,System.String,System.Boolean)">
            <summary>
            Marshalls the parameters for a presigned url for a preferred signing protocol.
            </summary>
            <param name="getPreSignedUrlRequest"></param>
            <param name="accessKey"></param>
            <param name="token"></param>
            <param name="aws4Signing">
            True if AWS4 signing will be used; if the expiry period in the request exceeds the
            maximum allowed for AWS4 (one week), an ArgumentException is thrown.
            </param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetPreSignedURL(Amazon.S3.Model.GetPreSignedUrlRequest)">
            <summary>
            Create a signed URL allowing access to a resource that would 
            usually require authentication.
            </summary>
            <remarks>
            <para>
            When using query string authentication you create a query,
            specify an expiration time for the query, sign it with your
            signature, place the data in an HTTP request, and distribute
            the request to a user or embed the request in a web page.
            </para>
            <para>
            A PreSigned URL can be generated for GET, PUT, DELETE and HEAD
            operations on your bucketName, keys, and versions.
            </para>
            </remarks>
            <param name="request">The GetPreSignedUrlRequest that defines the
            parameters of the operation.</param>
            <returns>A string that is the signed http request.</returns>
            <exception cref="T:System.ArgumentException" />
            <exception cref="T:System.ArgumentNullException" />
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor">
             <summary>
             Constructs AmazonS3Client with the credentials loaded from the application's
             default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
             
             Example App.config with credentials set. 
             <code>
             &lt;?xml version="1.0" encoding="utf-8" ?&gt;
             &lt;configuration&gt;
                 &lt;appSettings&gt;
                     &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                 &lt;/appSettings&gt;
             &lt;/configuration&gt;
             </code>
            
             </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(Amazon.RegionEndpoint)">
             <summary>
             Constructs AmazonS3Client with the credentials loaded from the application's
             default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
             
             Example App.config with credentials set. 
             <code>
             &lt;?xml version="1.0" encoding="utf-8" ?&gt;
             &lt;configuration&gt;
                 &lt;appSettings&gt;
                     &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                 &lt;/appSettings&gt;
             &lt;/configuration&gt;
             </code>
            
             </summary>
             <param name="region">The region to connect.</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(Amazon.S3.AmazonS3Config)">
             <summary>
             Constructs AmazonS3Client with the credentials loaded from the application's
             default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
             
             Example App.config with credentials set. 
             <code>
             &lt;?xml version="1.0" encoding="utf-8" ?&gt;
             &lt;configuration&gt;
                 &lt;appSettings&gt;
                     &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                 &lt;/appSettings&gt;
             &lt;/configuration&gt;
             </code>
            
             </summary>
             <param name="config">The AmazonS3Client Configuration Object</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(Amazon.Runtime.AWSCredentials)">
            <summary>
            Constructs AmazonS3Client with AWS Credentials
            </summary>
            <param name="credentials">AWS Credentials</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(Amazon.Runtime.AWSCredentials,Amazon.RegionEndpoint)">
            <summary>
            Constructs AmazonS3Client with AWS Credentials
            </summary>
            <param name="credentials">AWS Credentials</param>
            <param name="region">The region to connect.</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(Amazon.Runtime.AWSCredentials,Amazon.S3.AmazonS3Config)">
            <summary>
            Constructs AmazonS3Client with AWS Credentials and an
            AmazonS3Client Configuration object.
            </summary>
            <param name="credentials">AWS Credentials</param>
            <param name="clientConfig">The AmazonS3Client Configuration Object</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String,Amazon.RegionEndpoint)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="region">The region to connect.</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String,Amazon.S3.AmazonS3Config)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID, AWS Secret Key and an
            AmazonS3Client Configuration object. 
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="clientConfig">The AmazonS3Client Configuration Object</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String,System.String)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String,System.String,Amazon.RegionEndpoint)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID and AWS Secret Key
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
            <param name="region">The region to connect.</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.#ctor(System.String,System.String,System.String,Amazon.S3.AmazonS3Config)">
            <summary>
            Constructs AmazonS3Client with AWS Access Key ID, AWS Secret Key and an
            AmazonS3Client Configuration object. 
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
            <param name="clientConfig">The AmazonS3Client Configuration Object</param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CreateSigner">
            <summary>
            Creates the signer for the service.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CustomizeRuntimePipeline(Amazon.Runtime.Internal.RuntimePipeline)">
            <summary>
            Customize the pipeline
            </summary>
            <param name="pipeline"></param>
        </member>
        <member name="P:Amazon.S3.AmazonS3Client.ServiceMetadata">
            <summary>
            Capture metadata for the service.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.Dispose(System.Boolean)">
            <summary>
            Disposes the service client.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.AbortMultipartUpload(System.String,System.String,System.String)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name to which the upload was taking place.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID that identifies the multipart upload.</param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.AbortMultipartUpload(Amazon.S3.Model.AbortMultipartUploadRequest)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the AbortMultipartUpload service method.</param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.AbortMultipartUploadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name to which the upload was taking place.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID that identifies the multipart upload.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.AbortMultipartUploadAsync(Amazon.S3.Model.AbortMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the AbortMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CompleteMultipartUpload(Amazon.S3.Model.CompleteMultipartUploadRequest)">
            <summary>
            Completes a multipart upload by assembling previously uploaded parts.
            
             
            <para>
            You first initiate the multipart upload and then upload all parts using the <a>UploadPart</a>
            operation. After successfully uploading all relevant parts of an upload, you call
            this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates
            all the parts in ascending order by part number to create a new object. In the Complete
            Multipart Upload request, you must provide the parts list. You must ensure that the
            parts list is complete. This operation concatenates the parts that you provide in
            the list. For each part in the list, you must provide the part number and the <code>ETag</code>
            value, returned after that part was uploaded.
            </para>
             
            <para>
            Processing of a Complete Multipart Upload request could take several minutes to complete.
            After Amazon S3 begins processing the request, it sends an HTTP response header that
            specifies a 200 OK response. While processing is in progress, Amazon S3 periodically
            sends white space characters to keep the connection from timing out. Because a request
            could fail after the initial 200 OK response has been sent, it is important that you
            check the response body to determine whether the request succeeded.
            </para>
             
            <para>
            Note that if <code>CompleteMultipartUpload</code> fails, applications should be prepared
            to retry the failed requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon
            S3 Error Best Practices</a>.
            </para>
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycle</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>EntityTooSmall</code> 
            </para>
             <ul> <li> 
            <para>
            Description: Your proposed upload is smaller than the minimum allowed object size.
            Each part must be at least 5 MB in size, except the last part.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPart</code> 
            </para>
             <ul> <li> 
            <para>
            Description: One or more of the specified parts could not be found. The part might
            not have been uploaded, or the specified entity tag might not have matched the part's
            entity tag.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPartOrder</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The list of parts was not in ascending order. The parts list must be
            specified in order by part number.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>NoSuchUpload</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The specified multipart upload does not exist. The upload ID might be
            invalid, or the multipart upload might have been aborted or completed.
            </para>
             </li> <li> 
            <para>
            404 Not Found
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CompleteMultipartUpload service method.</param>
            
            <returns>The response from the CompleteMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CompleteMultipartUploadAsync(Amazon.S3.Model.CompleteMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            Completes a multipart upload by assembling previously uploaded parts.
            
             
            <para>
            You first initiate the multipart upload and then upload all parts using the <a>UploadPart</a>
            operation. After successfully uploading all relevant parts of an upload, you call
            this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates
            all the parts in ascending order by part number to create a new object. In the Complete
            Multipart Upload request, you must provide the parts list. You must ensure that the
            parts list is complete. This operation concatenates the parts that you provide in
            the list. For each part in the list, you must provide the part number and the <code>ETag</code>
            value, returned after that part was uploaded.
            </para>
             
            <para>
            Processing of a Complete Multipart Upload request could take several minutes to complete.
            After Amazon S3 begins processing the request, it sends an HTTP response header that
            specifies a 200 OK response. While processing is in progress, Amazon S3 periodically
            sends white space characters to keep the connection from timing out. Because a request
            could fail after the initial 200 OK response has been sent, it is important that you
            check the response body to determine whether the request succeeded.
            </para>
             
            <para>
            Note that if <code>CompleteMultipartUpload</code> fails, applications should be prepared
            to retry the failed requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon
            S3 Error Best Practices</a>.
            </para>
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycle</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>EntityTooSmall</code> 
            </para>
             <ul> <li> 
            <para>
            Description: Your proposed upload is smaller than the minimum allowed object size.
            Each part must be at least 5 MB in size, except the last part.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPart</code> 
            </para>
             <ul> <li> 
            <para>
            Description: One or more of the specified parts could not be found. The part might
            not have been uploaded, or the specified entity tag might not have matched the part's
            entity tag.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPartOrder</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The list of parts was not in ascending order. The parts list must be
            specified in order by part number.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>NoSuchUpload</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The specified multipart upload does not exist. The upload ID might be
            invalid, or the multipart upload might have been aborted or completed.
            </para>
             </li> <li> 
            <para>
            404 Not Found
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CompleteMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CompleteMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObject(System.String,System.String,System.String,System.String)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObject(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceVersionId">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObject(Amazon.S3.Model.CopyObjectRequest)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObjectAsync(System.String,System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObjectAsync(System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceVersionId">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.CopyObjectAsync(Amazon.S3.Model.CopyObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPart(System.String,System.String,System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPart(System.String,System.String,System.String,System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPart(Amazon.S3.Model.CopyPartRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPartAsync(System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPartAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.CopyPartAsync(Amazon.S3.Model.CopyPartRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucket(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucket(Amazon.S3.Model.DeleteBucketRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucketAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucketAsync(Amazon.S3.Model.DeleteBucketRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketAnalyticsConfiguration(Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest)">
            <summary>
            Deletes an analytics configuration for the bucket (specified by the analytics configuration
            ID).
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketAnalyticsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketAnalyticsConfigurationAsync(Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes an analytics configuration for the bucket (specified by the analytics configuration
            ID).
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketAnalyticsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucketEncryption(Amazon.S3.Model.DeleteBucketEncryptionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteBucketEncryptionAsync(Amazon.S3.Model.DeleteBucketEncryptionRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketInventoryConfiguration(Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest)">
            <summary>
            Deletes an inventory configuration (identified by the inventory ID) from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            Operations related to <code>DeleteBucketInventoryConfiguration</code> include: 
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketInventoryConfigurationAsync(Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes an inventory configuration (identified by the inventory ID) from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            Operations related to <code>DeleteBucketInventoryConfiguration</code> include: 
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketMetricsConfiguration(Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest)">
            <summary>
            Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified
            by the metrics configuration ID) from the bucket. Note that this doesn't include the
            daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketMetricsConfigurationAsync(Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified
            by the metrics configuration ID) from the bucket. Note that this doesn't include the
            daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketPolicy(System.String)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketPolicy(Amazon.S3.Model.DeleteBucketPolicyRequest)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketPolicy service method.</param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketPolicyAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketPolicyAsync(Amazon.S3.Model.DeleteBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketReplication(Amazon.S3.Model.DeleteBucketReplicationRequest)">
            <summary>
            Deletes the replication configuration from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutReplicationConfiguration</code>
            action. The bucket owner has these permissions by default and can grant it to others.
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>. 
            </para>
             <note> 
            <para>
            It can take a while for the deletion of a replication configuration to fully propagate.
            </para>
             </note> 
            <para>
             For information about replication configuration, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketReplication service method.</param>
            
            <returns>The response from the DeleteBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketReplicationAsync(Amazon.S3.Model.DeleteBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the replication configuration from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutReplicationConfiguration</code>
            action. The bucket owner has these permissions by default and can grant it to others.
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>. 
            </para>
             <note> 
            <para>
            It can take a while for the deletion of a replication configuration to fully propagate.
            </para>
             </note> 
            <para>
             For information about replication configuration, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketTagging(System.String)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket that has the tag set to be removed.</param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketTagging(Amazon.S3.Model.DeleteBucketTaggingRequest)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketTagging service method.</param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketTaggingAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket that has the tag set to be removed.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketTaggingAsync(Amazon.S3.Model.DeleteBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketWebsite(System.String)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which you want to remove the website configuration. </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketWebsite(Amazon.S3.Model.DeleteBucketWebsiteRequest)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketWebsite service method.</param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketWebsiteAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which you want to remove the website configuration. </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteBucketWebsiteAsync(Amazon.S3.Model.DeleteBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteCORSConfiguration(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteCORSConfiguration(Amazon.S3.Model.DeleteCORSConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteCORSConfigurationAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.DeleteCORSConfigurationAsync(Amazon.S3.Model.DeleteCORSConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.DeleteLifecycleConfiguration(System.String)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the lifecycle to delete.</param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteLifecycleConfiguration(Amazon.S3.Model.DeleteLifecycleConfigurationRequest)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method.</param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteLifecycleConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the lifecycle to delete.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteLifecycleConfigurationAsync(Amazon.S3.Model.DeleteLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObject(System.String,System.String)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObject(System.String,System.String,System.String)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObject(Amazon.S3.Model.DeleteObjectRequest)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObject service method.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectAsync(Amazon.S3.Model.DeleteObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjects(Amazon.S3.Model.DeleteObjectsRequest)">
            <summary>
            This operation enables you to delete multiple objects from a bucket using a single
            HTTP request. If you know the object keys that you want to delete, then this operation
            provides a suitable alternative to sending individual delete requests, reducing per-request
            overhead.
            
             
            <para>
            The request contains a list of up to 1000 keys that you want to delete. In the XML,
            you provide the object key names, and optionally, version IDs if you want to delete
            a specific version of the object from a versioning-enabled bucket. For each key, Amazon
            S3 performs a delete operation and returns the result of that delete, success, or
            failure, in the response. Note that if the object specified in the request is not
            found, Amazon S3 returns the result as deleted.
            </para>
             
            <para>
             The operation supports two modes for the response: verbose and quiet. By default,
            the operation uses verbose mode in which the response includes the result of deletion
            of each key in your request. In quiet mode the response includes only keys where the
            delete operation encountered an error. For a successful deletion, the operation does
            not return any information about the delete in the response body.
            </para>
             
            <para>
            When performing this operation on an MFA Delete enabled bucket, that attempts to delete
            any versioned objects, you must include an MFA token. If you do not provide one, the
            entire request will fail, even if there are non-versioned objects you are trying to
            delete. If you provide an invalid token, whether there are versioned keys in the request
            or not, the entire Multi-Object Delete request will fail. For information about MFA
            Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete">
            MFA Delete</a>.
            </para>
             
            <para>
            Finally, the Content-MD5 header is required for all Multi-Object Delete requests.
            Amazon S3 uses the header value to ensure that your request body has not been altered
            in transit.
            </para>
             
            <para>
            The following operations are related to <code>DeleteObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjects service method.</param>
            
            <returns>The response from the DeleteObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectsAsync(Amazon.S3.Model.DeleteObjectsRequest,System.Threading.CancellationToken)">
            <summary>
            This operation enables you to delete multiple objects from a bucket using a single
            HTTP request. If you know the object keys that you want to delete, then this operation
            provides a suitable alternative to sending individual delete requests, reducing per-request
            overhead.
            
             
            <para>
            The request contains a list of up to 1000 keys that you want to delete. In the XML,
            you provide the object key names, and optionally, version IDs if you want to delete
            a specific version of the object from a versioning-enabled bucket. For each key, Amazon
            S3 performs a delete operation and returns the result of that delete, success, or
            failure, in the response. Note that if the object specified in the request is not
            found, Amazon S3 returns the result as deleted.
            </para>
             
            <para>
             The operation supports two modes for the response: verbose and quiet. By default,
            the operation uses verbose mode in which the response includes the result of deletion
            of each key in your request. In quiet mode the response includes only keys where the
            delete operation encountered an error. For a successful deletion, the operation does
            not return any information about the delete in the response body.
            </para>
             
            <para>
            When performing this operation on an MFA Delete enabled bucket, that attempts to delete
            any versioned objects, you must include an MFA token. If you do not provide one, the
            entire request will fail, even if there are non-versioned objects you are trying to
            delete. If you provide an invalid token, whether there are versioned keys in the request
            or not, the entire Multi-Object Delete request will fail. For information about MFA
            Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete">
            MFA Delete</a>.
            </para>
             
            <para>
            Finally, the Content-MD5 header is required for all Multi-Object Delete requests.
            Amazon S3 uses the header value to ensure that your request body has not been altered
            in transit.
            </para>
             
            <para>
            The following operations are related to <code>DeleteObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjects service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectTagging(Amazon.S3.Model.DeleteObjectTaggingRequest)">
            <summary>
            Removes the entire tag set from the specified object. For more information about managing
            object tags, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">
            Object Tagging</a>.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:DeleteObjectTagging</code>
            action.
            </para>
             
            <para>
            To delete tags of a specific object version, add the <code>versionId</code> query
            parameter in the request. You will need permission for the <code>s3:DeleteObjectVersionTagging</code>
            action.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjectTagging service method.</param>
            
            <returns>The response from the DeleteObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeleteObjectTaggingAsync(Amazon.S3.Model.DeleteObjectTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the entire tag set from the specified object. For more information about managing
            object tags, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">
            Object Tagging</a>.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:DeleteObjectTagging</code>
            action.
            </para>
             
            <para>
            To delete tags of a specific object version, add the <code>versionId</code> query
            parameter in the request. You will need permission for the <code>s3:DeleteObjectVersionTagging</code>
            action.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjectTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeletePublicAccessBlock(Amazon.S3.Model.DeletePublicAccessBlockRequest)">
            <summary>
            Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:PutBucketPublicAccessBlock</code>
            permission. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketPolicyStatus</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeletePublicAccessBlock service method.</param>
            
            <returns>The response from the DeletePublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.DeletePublicAccessBlockAsync(Amazon.S3.Model.DeletePublicAccessBlockRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:PutBucketPublicAccessBlock</code>
            permission. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketPolicyStatus</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeletePublicAccessBlock service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeletePublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetACL(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetACL(Amazon.S3.Model.GetACLRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetACLAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetACLAsync(Amazon.S3.Model.GetACLRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAccelerateConfiguration(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAccelerateConfiguration(Amazon.S3.Model.GetBucketAccelerateConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAccelerateConfigurationAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAccelerateConfigurationAsync(Amazon.S3.Model.GetBucketAccelerateConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAnalyticsConfiguration(Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.GetBucketAnalyticsConfigurationAsync(Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketEncryption(Amazon.S3.Model.GetBucketEncryptionRequest)">
            <summary>
            Returns the default encryption configuration for an Amazon S3 bucket. For information
            about the Amazon S3 default encryption feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon
            S3 Default Bucket Encryption</a>.
            
             
            <para>
             To use this operation, you must have permission to perform the <code>s3:GetEncryptionConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketEncryption</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketEncryption</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketEncryption</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketEncryption service method.</param>
            
            <returns>The response from the GetBucketEncryption service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketEncryptionAsync(Amazon.S3.Model.GetBucketEncryptionRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the default encryption configuration for an Amazon S3 bucket. For information
            about the Amazon S3 default encryption feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon
            S3 Default Bucket Encryption</a>.
            
             
            <para>
             To use this operation, you must have permission to perform the <code>s3:GetEncryptionConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketEncryption</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketEncryption</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketEncryption</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketEncryption service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketEncryption service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketInventoryConfiguration(Amazon.S3.Model.GetBucketInventoryConfigurationRequest)">
            <summary>
            Returns an inventory configuration (identified by the inventory configuration ID)
            from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketInventoryConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method.</param>
            
            <returns>The response from the GetBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketInventoryConfigurationAsync(Amazon.S3.Model.GetBucketInventoryConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns an inventory configuration (identified by the inventory configuration ID)
            from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketInventoryConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLocation(System.String)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the location.</param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLocation(Amazon.S3.Model.GetBucketLocationRequest)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLocation service method.</param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLocationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the location.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLocationAsync(Amazon.S3.Model.GetBucketLocationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLocation service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLogging(System.String)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the logging information.</param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLogging(Amazon.S3.Model.GetBucketLoggingRequest)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLogging service method.</param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLoggingAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the logging information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketLoggingAsync(Amazon.S3.Model.GetBucketLoggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLogging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketMetricsConfiguration(Amazon.S3.Model.GetBucketMetricsConfigurationRequest)">
            <summary>
            Gets a metrics configuration (specified by the metrics configuration ID) from the
            bucket. Note that this doesn't include the daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the GetBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketMetricsConfigurationAsync(Amazon.S3.Model.GetBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Gets a metrics configuration (specified by the metrics configuration ID) from the
            bucket. Note that this doesn't include the daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketNotification(System.String)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket for which to get the notification configuration</param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketNotification(Amazon.S3.Model.GetBucketNotificationRequest)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketNotification service method.</param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketNotificationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket for which to get the notification configuration</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketNotificationAsync(Amazon.S3.Model.GetBucketNotificationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketNotification service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicy(System.String)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the bucket policy.</param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicy(Amazon.S3.Model.GetBucketPolicyRequest)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicy service method.</param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicyAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the bucket policy.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicyAsync(Amazon.S3.Model.GetBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicyStatus(Amazon.S3.Model.GetBucketPolicyStatusRequest)">
            <summary>
            Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket
            is public. In order to use this operation, you must have the <code>s3:GetBucketPolicyStatus</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             
            <para>
             For more information about when Amazon S3 considers a bucket public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>. 
            </para>
             
            <para>
            The following operations are related to <code>GetBucketPolicyStatus</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicyStatus service method.</param>
            
            <returns>The response from the GetBucketPolicyStatus service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketPolicyStatusAsync(Amazon.S3.Model.GetBucketPolicyStatusRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket
            is public. In order to use this operation, you must have the <code>s3:GetBucketPolicyStatus</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             
            <para>
             For more information about when Amazon S3 considers a bucket public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>. 
            </para>
             
            <para>
            The following operations are related to <code>GetBucketPolicyStatus</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicyStatus service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicyStatus service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketReplication(Amazon.S3.Model.GetBucketReplicationRequest)">
            <summary>
            Retrieves the replication configuration for the given Amazon S3 bucket.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketReplication service method.</param>
            
            <returns>The response from the GetBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketReplicationAsync(Amazon.S3.Model.GetBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the replication configuration for the given Amazon S3 bucket.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketRequestPayment(System.String)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the payment request configuration</param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketRequestPayment(Amazon.S3.Model.GetBucketRequestPaymentRequest)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketRequestPayment service method.</param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketRequestPaymentAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the payment request configuration</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketRequestPaymentAsync(Amazon.S3.Model.GetBucketRequestPaymentRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketRequestPayment service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketTagging(Amazon.S3.Model.GetBucketTaggingRequest)">
            <summary>
            Returns the tag set associated with the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others.
            </para>
             
            <para>
             <code>GetBucketTagging</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchTagSetError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: There is no tag set associated with the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>GetBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketTagging service method.</param>
            
            <returns>The response from the GetBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketTaggingAsync(Amazon.S3.Model.GetBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the tag set associated with the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others.
            </para>
             
            <para>
             <code>GetBucketTagging</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchTagSetError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: There is no tag set associated with the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>GetBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketVersioning(System.String)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the versioning information.</param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketVersioning(Amazon.S3.Model.GetBucketVersioningRequest)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketVersioning service method.</param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketVersioningAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the versioning information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketVersioningAsync(Amazon.S3.Model.GetBucketVersioningRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketVersioning service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketWebsite(System.String)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the website configuration.</param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketWebsite(Amazon.S3.Model.GetBucketWebsiteRequest)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketWebsite service method.</param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketWebsiteAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the website configuration.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetBucketWebsiteAsync(Amazon.S3.Model.GetBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetCORSConfiguration(System.String)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the cors configuration.</param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetCORSConfiguration(Amazon.S3.Model.GetCORSConfigurationRequest)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetCORSConfiguration service method.</param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetCORSConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the cors configuration.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetCORSConfigurationAsync(Amazon.S3.Model.GetCORSConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetCORSConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetLifecycleConfiguration(System.String)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the lifecycle information.</param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetLifecycleConfiguration(Amazon.S3.Model.GetLifecycleConfigurationRequest)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetLifecycleConfiguration service method.</param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetLifecycleConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the lifecycle information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetLifecycleConfigurationAsync(Amazon.S3.Model.GetLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObject(System.String,System.String)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObject(System.String,System.String,System.String)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObject(Amazon.S3.Model.GetObjectRequest)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObject service method.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectAsync(Amazon.S3.Model.GetObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectLegalHold(Amazon.S3.Model.GetObjectLegalHoldRequest)">
            <summary>
            Gets an object's current Legal Hold status. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLegalHold service method.</param>
            
            <returns>The response from the GetObjectLegalHold service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectLegalHoldAsync(Amazon.S3.Model.GetObjectLegalHoldRequest,System.Threading.CancellationToken)">
            <summary>
            Gets an object's current Legal Hold status. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLegalHold service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectLegalHold service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectLockConfiguration(Amazon.S3.Model.GetObjectLockConfigurationRequest)">
            <summary>
            Gets the Object Lock configuration for a bucket. The rule specified in the Object
            Lock configuration will be applied by default to every new object placed in the specified
            bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLockConfiguration service method.</param>
            
            <returns>The response from the GetObjectLockConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectLockConfigurationAsync(Amazon.S3.Model.GetObjectLockConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Gets the Object Lock configuration for a bucket. The rule specified in the Object
            Lock configuration will be applied by default to every new object placed in the specified
            bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLockConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectLockConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadata(System.String,System.String)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadata(System.String,System.String,System.String)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadata(Amazon.S3.Model.GetObjectMetadataRequest)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectMetadata service method.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadataAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadataAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectMetadataAsync(Amazon.S3.Model.GetObjectMetadataRequest,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectMetadata service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectRetention(Amazon.S3.Model.GetObjectRetentionRequest)">
            <summary>
            Retrieves an object's retention settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectRetention service method.</param>
            
            <returns>The response from the GetObjectRetention service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectRetentionAsync(Amazon.S3.Model.GetObjectRetentionRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves an object's retention settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectRetention service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectRetention service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTagging(Amazon.S3.Model.GetObjectTaggingRequest)">
            <summary>
            Returns the tag-set of an object. You send the GET request against the tagging subresource
            associated with the object.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetObjectTagging</code>
            action. By default, the GET operation 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 <code>s3:GetObjectVersionTagging</code> action.
            </para>
             
            <para>
             By default, the bucket owner has this permission and can grant this permission to
            others.
            </para>
             
            <para>
             For information about the Amazon S3 object tagging feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object
            Tagging</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTagging service method.</param>
            
            <returns>The response from the GetObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTaggingAsync(Amazon.S3.Model.GetObjectTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the tag-set of an object. You send the GET request against the tagging subresource
            associated with the object.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetObjectTagging</code>
            action. By default, the GET operation 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 <code>s3:GetObjectVersionTagging</code> action.
            </para>
             
            <para>
             By default, the bucket owner has this permission and can grant this permission to
            others.
            </para>
             
            <para>
             For information about the Amazon S3 object tagging feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object
            Tagging</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTorrent(System.String,System.String)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object for which to get the torrent files.</param>
            <param name="key">The object key for which to get the information.</param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTorrent(Amazon.S3.Model.GetObjectTorrentRequest)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTorrent service method.</param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTorrentAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object for which to get the torrent files.</param>
            <param name="key">The object key for which to get the information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetObjectTorrentAsync(Amazon.S3.Model.GetObjectTorrentRequest,System.Threading.CancellationToken)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTorrent service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetPublicAccessBlock(Amazon.S3.Model.GetPublicAccessBlockRequest)">
            <summary>
            Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:GetBucketPublicAccessBlock</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             <important> 
            <para>
            When Amazon S3 evaluates the <code>PublicAccessBlock</code> configuration for a bucket
            or an object, it checks the <code>PublicAccessBlock</code> configuration for both
            the bucket (or the bucket that contains the object) and the bucket owner's account.
            If the <code>PublicAccessBlock</code> settings are different between the bucket and
            the account, Amazon S3 uses the most restrictive combination of the bucket-level and
            account-level settings.
            </para>
             </important> 
            <para>
            For more information about when Amazon S3 considers a bucket or an object public,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetPublicAccessBlock</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetPublicAccessBlock service method.</param>
            
            <returns>The response from the GetPublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.GetPublicAccessBlockAsync(Amazon.S3.Model.GetPublicAccessBlockRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:GetBucketPublicAccessBlock</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             <important> 
            <para>
            When Amazon S3 evaluates the <code>PublicAccessBlock</code> configuration for a bucket
            or an object, it checks the <code>PublicAccessBlock</code> configuration for both
            the bucket (or the bucket that contains the object) and the bucket owner's account.
            If the <code>PublicAccessBlock</code> settings are different between the bucket and
            the account, Amazon S3 uses the most restrictive combination of the bucket-level and
            account-level settings.
            </para>
             </important> 
            <para>
            For more information about when Amazon S3 considers a bucket or an object public,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetPublicAccessBlock</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetPublicAccessBlock service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetPublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.HeadBucket(Amazon.S3.Model.HeadBucketRequest)">
            <summary>
            This operation is useful to determine if a bucket exists and you have permission to
            access it. The operation returns a <code>200 OK</code> if the bucket exists and you
            have permission to access it. Otherwise, the operation might return responses such
            as <code>404 Not Found</code> and <code>403 Forbidden</code>. 
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:ListBucket</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the HeadBucket service method.</param>
            
            <returns>The response from the HeadBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.HeadBucketAsync(Amazon.S3.Model.HeadBucketRequest,System.Threading.CancellationToken)">
            <summary>
            This operation is useful to determine if a bucket exists and you have permission to
            access it. The operation returns a <code>200 OK</code> if the bucket exists and you
            have permission to access it. Otherwise, the operation might return responses such
            as <code>404 Not Found</code> and <code>403 Forbidden</code>. 
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:ListBucket</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the HeadBucket service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the HeadBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.InitiateMultipartUpload(System.String,System.String)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to which to initiate the upload</param>
            <param name="key">Object key for which the multipart upload is to be initiated.</param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.InitiateMultipartUpload(Amazon.S3.Model.InitiateMultipartUploadRequest)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the InitiateMultipartUpload service method.</param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.InitiateMultipartUploadAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to which to initiate the upload</param>
            <param name="key">Object key for which the multipart upload is to be initiated.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.InitiateMultipartUploadAsync(Amazon.S3.Model.InitiateMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the InitiateMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketAnalyticsConfigurations(Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest)">
            <summary>
            Lists the analytics configurations for the bucket. You can have up to 1,000 analytics
            configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. You should always check the <code>IsTruncated</code> element in the response.
            If there are no more configurations to list, <code>IsTruncated</code> is set to false.
            If there are more configurations to list, <code>IsTruncated</code> is set to true,
            and there will be a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketAnalyticsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketAnalyticsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method.</param>
            
            <returns>The response from the ListBucketAnalyticsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketAnalyticsConfigurationsAsync(Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the analytics configurations for the bucket. You can have up to 1,000 analytics
            configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. You should always check the <code>IsTruncated</code> element in the response.
            If there are no more configurations to list, <code>IsTruncated</code> is set to false.
            If there are more configurations to list, <code>IsTruncated</code> is set to true,
            and there will be a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketAnalyticsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketAnalyticsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketAnalyticsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketInventoryConfigurations(Amazon.S3.Model.ListBucketInventoryConfigurationsRequest)">
            <summary>
            Returns a list of inventory configurations for the bucket. You can have up to 1,000
            analytics configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a> 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketInventoryConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method.</param>
            
            <returns>The response from the ListBucketInventoryConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketInventoryConfigurationsAsync(Amazon.S3.Model.ListBucketInventoryConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns a list of inventory configurations for the bucket. You can have up to 1,000
            analytics configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a> 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketInventoryConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketInventoryConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketMetricsConfigurations(Amazon.S3.Model.ListBucketMetricsConfigurationsRequest)">
            <summary>
            Lists the metrics configurations for the bucket. The metrics configurations are only
            for the request metrics of the bucket and do not provide information on daily storage
            metrics. You can have up to 1,000 configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in <code>continuation-token</code>
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For more information about metrics configurations and CloudWatch request metrics,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListBucketMetricsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method.</param>
            
            <returns>The response from the ListBucketMetricsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketMetricsConfigurationsAsync(Amazon.S3.Model.ListBucketMetricsConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the metrics configurations for the bucket. The metrics configurations are only
            for the request metrics of the bucket and do not provide information on daily storage
            metrics. You can have up to 1,000 configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in <code>continuation-token</code>
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For more information about metrics configurations and CloudWatch request metrics,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListBucketMetricsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketMetricsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBuckets">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBuckets(Amazon.S3.Model.ListBucketsRequest)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBuckets service method.</param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketsAsync(System.Threading.CancellationToken)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListBucketsAsync(Amazon.S3.Model.ListBucketsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBuckets service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploads(System.String)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploads(System.String,System.String)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">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 you'd use a folder in a file system.)</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploads(Amazon.S3.Model.ListMultipartUploadsRequest)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListMultipartUploads service method.</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploadsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploadsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">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 you'd use a folder in a file system.)</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListMultipartUploadsAsync(Amazon.S3.Model.ListMultipartUploadsRequest,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListMultipartUploads service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjects(System.String)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjects(System.String,System.String)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="prefix">Limits the response to keys that begin with the specified prefix.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjects(Amazon.S3.Model.ListObjectsRequest)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjects service method.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjectsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjectsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="prefix">Limits the response to keys that begin with the specified prefix.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjectsAsync(Amazon.S3.Model.ListObjectsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjects service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjectsV2(Amazon.S3.Model.ListObjectsV2Request)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            <code>200 OK</code> response can contain valid or invalid XML. Make sure to design
            your application to parse the contents of the response and handle it appropriately.
            
             
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            To use this operation in an AWS Identity and Access Management (IAM) policy, you must
            have permissions to perform the <code>s3:ListBucket</code> action. The bucket owner
            has this permission by default and can grant this permission to others. For more information
            about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             <important> 
            <para>
            This section describes the latest revision of the API. We recommend that you use this
            revised API for application development. For backward compatibility, Amazon S3 continues
            to support the prior version of this API, <a>ListObjects</a>.
            </para>
             </important> 
            <para>
            To get a list of your buckets, see <a>ListBuckets</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectsV2</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjectsV2 service method.</param>
            
            <returns>The response from the ListObjectsV2 service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListObjectsV2Async(Amazon.S3.Model.ListObjectsV2Request,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            <code>200 OK</code> response can contain valid or invalid XML. Make sure to design
            your application to parse the contents of the response and handle it appropriately.
            
             
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            To use this operation in an AWS Identity and Access Management (IAM) policy, you must
            have permissions to perform the <code>s3:ListBucket</code> action. The bucket owner
            has this permission by default and can grant this permission to others. For more information
            about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             <important> 
            <para>
            This section describes the latest revision of the API. We recommend that you use this
            revised API for application development. For backward compatibility, Amazon S3 continues
            to support the prior version of this API, <a>ListObjects</a>.
            </para>
             </important> 
            <para>
            To get a list of your buckets, see <a>ListBuckets</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectsV2</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjectsV2 service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjectsV2 service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListParts(System.String,System.String,System.String)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the parts are being uploaded.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Object key for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID identifying the multipart upload whose parts are being listed.</param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListParts(Amazon.S3.Model.ListPartsRequest)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListParts service method.</param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListPartsAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the parts are being uploaded.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Object key for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID identifying the multipart upload whose parts are being listed.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListPartsAsync(Amazon.S3.Model.ListPartsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListParts service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersions(System.String)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersions(System.String,System.String)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way 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. </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersions(Amazon.S3.Model.ListVersionsRequest)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListVersions service method.</param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersionsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersionsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way 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. </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.ListVersionsAsync(Amazon.S3.Model.ListVersionsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListVersions service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutACL(Amazon.S3.Model.PutACLRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutACLAsync(Amazon.S3.Model.PutACLRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.PutBucket(System.String)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to create.</param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucket(Amazon.S3.Model.PutBucketRequest)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucket service method.</param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to create.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketAsync(Amazon.S3.Model.PutBucketRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucket service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketAccelerateConfiguration(Amazon.S3.Model.PutBucketAccelerateConfigurationRequest)">
            <summary>
            Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration
            is a bucket-level feature that enables you to perform faster data transfers to Amazon
            S3.
            
             
            <para>
             To use this operation, you must have permission to perform the 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             The Transfer Acceleration state of a bucket can be set to one of the following two
            values:
            </para>
             <ul> <li> 
            <para>
             Enabled – Enables accelerated data transfers to the bucket.
            </para>
             </li> <li> 
            <para>
             Suspended – Disables accelerated data transfers to the bucket.
            </para>
             </li> </ul> 
            <para>
            The <a>GetBucketAccelerateConfiguration</a> operation returns the transfer acceleration
            state of a bucket.
            </para>
             
            <para>
            After setting the Transfer Acceleration state of a bucket to Enabled, it might take
            up to thirty minutes before the data transfer rates to the bucket increase.
            </para>
             
            <para>
             The name of the bucket used for Transfer Acceleration must be DNS-compliant and must
            not contain periods (".").
            </para>
             
            <para>
             For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketAccelerateConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAccelerateConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method.</param>
            
            <returns>The response from the PutBucketAccelerateConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketAccelerateConfigurationAsync(Amazon.S3.Model.PutBucketAccelerateConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration
            is a bucket-level feature that enables you to perform faster data transfers to Amazon
            S3.
            
             
            <para>
             To use this operation, you must have permission to perform the 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             The Transfer Acceleration state of a bucket can be set to one of the following two
            values:
            </para>
             <ul> <li> 
            <para>
             Enabled – Enables accelerated data transfers to the bucket.
            </para>
             </li> <li> 
            <para>
             Suspended – Disables accelerated data transfers to the bucket.
            </para>
             </li> </ul> 
            <para>
            The <a>GetBucketAccelerateConfiguration</a> operation returns the transfer acceleration
            state of a bucket.
            </para>
             
            <para>
            After setting the Transfer Acceleration state of a bucket to Enabled, it might take
            up to thirty minutes before the data transfer rates to the bucket increase.
            </para>
             
            <para>
             The name of the bucket used for Transfer Acceleration must be DNS-compliant and must
            not contain periods (".").
            </para>
             
            <para>
             For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketAccelerateConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAccelerateConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketAccelerateConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketAnalyticsConfiguration(Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketAnalyticsConfigurationAsync(Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketEncryption(Amazon.S3.Model.PutBucketEncryptionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketEncryptionAsync(Amazon.S3.Model.PutBucketEncryptionRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketInventoryConfiguration(Amazon.S3.Model.PutBucketInventoryConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketInventoryConfigurationAsync(Amazon.S3.Model.PutBucketInventoryConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketLogging(Amazon.S3.Model.PutBucketLoggingRequest)">
            <summary>
            Set the logging parameters for a bucket and to specify permissions for who can view
            and modify the logging parameters. All logs are saved to buckets in the same AWS Region
            as the source bucket. To set the logging status of a bucket, you must be the bucket
            owner.
            
             
            <para>
            The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code>
            request element to grant access to other people. The <code>Permissions</code> request
            element specifies the kind of access the grantee has to the logs.
            </para>
             
            <para>
             <b>Grantee Values</b> 
            </para>
             
            <para>
            You can specify the person (grantee) to whom you're assigning access rights (using
            request elements) in the following ways:
            </para>
             <ul> <li> 
            <para>
            By the person's ID:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"&gt;&lt;ID&gt;&lt;&gt;ID&lt;&gt;&lt;/ID&gt;&lt;DisplayName&gt;&lt;&gt;GranteesEmail&lt;&gt;&lt;/DisplayName&gt;
            &lt;/Grantee&gt;</code> 
            </para>
             
            <para>
            DisplayName is optional and ignored in the request.
            </para>
             </li> <li> 
            <para>
            By Email address:
            </para>
             
            <para>
             <code> &lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"&gt;&lt;EmailAddress&gt;&lt;&gt;Grantees@email.com&lt;&gt;&lt;/EmailAddress&gt;&lt;/Grantee&gt;</code>
            
            </para>
             
            <para>
            The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl
            request, appears as the CanonicalUser.
            </para>
             </li> <li> 
            <para>
            By URI:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"&gt;&lt;URI&gt;&lt;&gt;http://acs.amazonaws.com/groups/global/AuthenticatedUsers&lt;&gt;&lt;/URI&gt;&lt;/Grantee&gt;</code>
            
            </para>
             </li> </ul> 
            <para>
            To enable logging, you use LoggingEnabled and its children request elements. To disable
            logging, you use an empty BucketLoggingStatus request element:
            </para>
             
            <para>
             <code>&lt;BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" /&gt;</code>
            
            </para>
             
            <para>
            For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server
            Access Logging</a>. 
            </para>
             
            <para>
            For more information about creating a bucket, see <a>CreateBucket</a>. For more information
            about returning the logging status of a bucket, see <a>GetBucketLogging</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketLogging service method.</param>
            
            <returns>The response from the PutBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketLoggingAsync(Amazon.S3.Model.PutBucketLoggingRequest,System.Threading.CancellationToken)">
            <summary>
            Set the logging parameters for a bucket and to specify permissions for who can view
            and modify the logging parameters. All logs are saved to buckets in the same AWS Region
            as the source bucket. To set the logging status of a bucket, you must be the bucket
            owner.
            
             
            <para>
            The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code>
            request element to grant access to other people. The <code>Permissions</code> request
            element specifies the kind of access the grantee has to the logs.
            </para>
             
            <para>
             <b>Grantee Values</b> 
            </para>
             
            <para>
            You can specify the person (grantee) to whom you're assigning access rights (using
            request elements) in the following ways:
            </para>
             <ul> <li> 
            <para>
            By the person's ID:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"&gt;&lt;ID&gt;&lt;&gt;ID&lt;&gt;&lt;/ID&gt;&lt;DisplayName&gt;&lt;&gt;GranteesEmail&lt;&gt;&lt;/DisplayName&gt;
            &lt;/Grantee&gt;</code> 
            </para>
             
            <para>
            DisplayName is optional and ignored in the request.
            </para>
             </li> <li> 
            <para>
            By Email address:
            </para>
             
            <para>
             <code> &lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"&gt;&lt;EmailAddress&gt;&lt;&gt;Grantees@email.com&lt;&gt;&lt;/EmailAddress&gt;&lt;/Grantee&gt;</code>
            
            </para>
             
            <para>
            The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl
            request, appears as the CanonicalUser.
            </para>
             </li> <li> 
            <para>
            By URI:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"&gt;&lt;URI&gt;&lt;&gt;http://acs.amazonaws.com/groups/global/AuthenticatedUsers&lt;&gt;&lt;/URI&gt;&lt;/Grantee&gt;</code>
            
            </para>
             </li> </ul> 
            <para>
            To enable logging, you use LoggingEnabled and its children request elements. To disable
            logging, you use an empty BucketLoggingStatus request element:
            </para>
             
            <para>
             <code>&lt;BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" /&gt;</code>
            
            </para>
             
            <para>
            For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server
            Access Logging</a>. 
            </para>
             
            <para>
            For more information about creating a bucket, see <a>CreateBucket</a>. For more information
            about returning the logging status of a bucket, see <a>GetBucketLogging</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketLogging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketMetricsConfiguration(Amazon.S3.Model.PutBucketMetricsConfigurationRequest)">
            <summary>
            Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
            You can have up to 1,000 metrics configurations per bucket. If you're updating an
            existing metrics configuration, note that this is a full replacement of the existing
            metrics configuration. If you don't include the elements you want to keep, they are
            erased.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> </ul> 
            <para>
             <code>GetBucketLifecycle</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>TooManyConfigurations</code> 
            </para>
             <ul> <li> 
            <para>
            Description: You are attempting to create a new configuration but have already reached
            the 1,000-configuration limit.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: HTTP 400 Bad Request
            </para>
             </li> </ul> </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the PutBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketMetricsConfigurationAsync(Amazon.S3.Model.PutBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
            You can have up to 1,000 metrics configurations per bucket. If you're updating an
            existing metrics configuration, note that this is a full replacement of the existing
            metrics configuration. If you don't include the elements you want to keep, they are
            erased.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> </ul> 
            <para>
             <code>GetBucketLifecycle</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>TooManyConfigurations</code> 
            </para>
             <ul> <li> 
            <para>
            Description: You are attempting to create a new configuration but have already reached
            the 1,000-configuration limit.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: HTTP 400 Bad Request
            </para>
             </li> </ul> </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketNotification(Amazon.S3.Model.PutBucketNotificationRequest)">
            <summary>
            Enables notifications of specified events for a bucket. For more information about
            event notifications, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Event Notifications</a>.
            
             
            <para>
            Using this API, you can replace an existing notification configuration. The configuration
            is an XML file that defines the event types that you want Amazon S3 to publish and
            the destination where you want Amazon S3 to publish an event notification when it
            detects an event of the specified type.
            </para>
             
            <para>
            By default, your bucket has no event notifications configured. That is, the notification
            configuration will be an empty <code>NotificationConfiguration</code>.
            </para>
             
            <para>
             <code>&lt;NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
             <code>&lt;/NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
            This operation replaces the existing notification configuration with the configuration
            you include in the request body.
            </para>
             
            <para>
            After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification
            Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists,
            and that the bucket owner has permission to publish to it by sending a test notification.
            In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function
            permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Notifications for Amazon S3 Events</a>.
            </para>
             
            <para>
            You can disable notifications by adding the empty NotificationConfiguration element.
            </para>
             
            <para>
            By default, only the bucket owner can configure notifications on a bucket. However,
            bucket owners can use a bucket policy to grant permission to other users to set this
            configuration with <code>s3:PutBucketNotification</code> permission.
            </para>
             <note> 
            <para>
            The PUT notification is an atomic operation. For example, suppose your notification
            configuration includes SNS topic, SQS queue, and Lambda function configurations. When
            you send a PUT request with this configuration, Amazon S3 sends test messages to your
            SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3
            will not add the configuration to your bucket.
            </para>
             </note> 
            <para>
             <b>Responses</b> 
            </para>
             
            <para>
            If the configuration in the request body includes only one <code>TopicConfiguration</code>
            specifying only the <code>s3:ReducedRedundancyLostObject</code> event type, the response
            will also include the <code>x-amz-sns-test-message-id</code> header containing the
            message ID of the test notification sent to the topic.
            </para>
             
            <para>
            The following operation is related to <code>PutBucketNotificationConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketNotificationConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketNotification service method.</param>
            
            <returns>The response from the PutBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketNotificationAsync(Amazon.S3.Model.PutBucketNotificationRequest,System.Threading.CancellationToken)">
            <summary>
            Enables notifications of specified events for a bucket. For more information about
            event notifications, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Event Notifications</a>.
            
             
            <para>
            Using this API, you can replace an existing notification configuration. The configuration
            is an XML file that defines the event types that you want Amazon S3 to publish and
            the destination where you want Amazon S3 to publish an event notification when it
            detects an event of the specified type.
            </para>
             
            <para>
            By default, your bucket has no event notifications configured. That is, the notification
            configuration will be an empty <code>NotificationConfiguration</code>.
            </para>
             
            <para>
             <code>&lt;NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
             <code>&lt;/NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
            This operation replaces the existing notification configuration with the configuration
            you include in the request body.
            </para>
             
            <para>
            After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification
            Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists,
            and that the bucket owner has permission to publish to it by sending a test notification.
            In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function
            permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Notifications for Amazon S3 Events</a>.
            </para>
             
            <para>
            You can disable notifications by adding the empty NotificationConfiguration element.
            </para>
             
            <para>
            By default, only the bucket owner can configure notifications on a bucket. However,
            bucket owners can use a bucket policy to grant permission to other users to set this
            configuration with <code>s3:PutBucketNotification</code> permission.
            </para>
             <note> 
            <para>
            The PUT notification is an atomic operation. For example, suppose your notification
            configuration includes SNS topic, SQS queue, and Lambda function configurations. When
            you send a PUT request with this configuration, Amazon S3 sends test messages to your
            SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3
            will not add the configuration to your bucket.
            </para>
             </note> 
            <para>
             <b>Responses</b> 
            </para>
             
            <para>
            If the configuration in the request body includes only one <code>TopicConfiguration</code>
            specifying only the <code>s3:ReducedRedundancyLostObject</code> event type, the response
            will also include the <code>x-amz-sns-test-message-id</code> header containing the
            message ID of the test notification sent to the topic.
            </para>
             
            <para>
            The following operation is related to <code>PutBucketNotificationConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketNotificationConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketNotification service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicy(System.String,System.String)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicy(System.String,System.String,System.String)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="contentMD5">The MD5 hash of the request body.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicy(Amazon.S3.Model.PutBucketPolicyRequest)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketPolicy service method.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicyAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicyAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="contentMD5">The MD5 hash of the request body.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketPolicyAsync(Amazon.S3.Model.PutBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketReplication(Amazon.S3.Model.PutBucketReplicationRequest)">
            <summary>
            Creates a replication configuration or replaces an existing one. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            
             <note> 
            <para>
            To perform this operation, the user or role performing the operation must have the
            <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a>
            permission.
            </para>
             </note> 
            <para>
            Specify the replication configuration in the request body. In the replication configuration,
            you provide the name of the destination bucket where you want Amazon S3 to replicate
            objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,
            and other relevant information.
            </para>
             
            <para>
            A replication configuration must include at least one rule, and can contain a maximum
            of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects
            in the source bucket. To choose additional subsets of objects to replicate, add a
            rule for each subset. All rules must specify the same destination bucket.
            </para>
             
            <para>
            To specify a subset of the objects in the source bucket to apply a replication rule
            to, add the Filter element as a child of the Rule element. You can filter objects
            based on an object key prefix, one or more object tags, or both. When you add the
            Filter element in the configuration, you must also add the following elements: <code>DeleteMarkerReplication</code>,
            <code>Status</code>, and <code>Priority</code>.
            </para>
             
            <para>
            For information about enabling versioning on a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using
            Versioning</a>.
            </para>
             
            <para>
            By default, a resource owner, in this case the AWS account that created the bucket,
            can perform this operation. The resource owner can also grant others permissions to
            perform the operation. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <b>Handling Replication of Encrypted Objects</b> 
            </para>
             
            <para>
            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side
            encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add
            the following: <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>,
            <code>Status</code>, <code>EncryptionConfiguration</code>, and <code>ReplicaKmsKeyID</code>.
            For information about replication configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating
            Objects Created with SSE Using CMKs stored in AWS KMS</a>.
            </para>
             
            <para>
            For information on <code>PutBucketReplication</code> errors, see <a>ReplicationErrorCodeList</a>
            
            </para>
             
            <para>
            The following operations are related to <code>PutBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketReplication service method.</param>
            
            <returns>The response from the PutBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketReplicationAsync(Amazon.S3.Model.PutBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a replication configuration or replaces an existing one. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            
             <note> 
            <para>
            To perform this operation, the user or role performing the operation must have the
            <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a>
            permission.
            </para>
             </note> 
            <para>
            Specify the replication configuration in the request body. In the replication configuration,
            you provide the name of the destination bucket where you want Amazon S3 to replicate
            objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,
            and other relevant information.
            </para>
             
            <para>
            A replication configuration must include at least one rule, and can contain a maximum
            of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects
            in the source bucket. To choose additional subsets of objects to replicate, add a
            rule for each subset. All rules must specify the same destination bucket.
            </para>
             
            <para>
            To specify a subset of the objects in the source bucket to apply a replication rule
            to, add the Filter element as a child of the Rule element. You can filter objects
            based on an object key prefix, one or more object tags, or both. When you add the
            Filter element in the configuration, you must also add the following elements: <code>DeleteMarkerReplication</code>,
            <code>Status</code>, and <code>Priority</code>.
            </para>
             
            <para>
            For information about enabling versioning on a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using
            Versioning</a>.
            </para>
             
            <para>
            By default, a resource owner, in this case the AWS account that created the bucket,
            can perform this operation. The resource owner can also grant others permissions to
            perform the operation. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <b>Handling Replication of Encrypted Objects</b> 
            </para>
             
            <para>
            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side
            encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add
            the following: <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>,
            <code>Status</code>, <code>EncryptionConfiguration</code>, and <code>ReplicaKmsKeyID</code>.
            For information about replication configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating
            Objects Created with SSE Using CMKs stored in AWS KMS</a>.
            </para>
             
            <para>
            For information on <code>PutBucketReplication</code> errors, see <a>ReplicationErrorCodeList</a>
            
            </para>
             
            <para>
            The following operations are related to <code>PutBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketRequestPayment(System.String,Amazon.S3.Model.RequestPaymentConfiguration)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="requestPaymentConfiguration">Container for Payer.</param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketRequestPayment(Amazon.S3.Model.PutBucketRequestPaymentRequest)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketRequestPayment service method.</param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketRequestPaymentAsync(System.String,Amazon.S3.Model.RequestPaymentConfiguration,System.Threading.CancellationToken)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="requestPaymentConfiguration">Container for Payer.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketRequestPaymentAsync(Amazon.S3.Model.PutBucketRequestPaymentRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketRequestPayment service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketTagging(System.String,System.Collections.Generic.List{Amazon.S3.Model.Tag})">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="tagSet">A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method.</param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketTagging(Amazon.S3.Model.PutBucketTaggingRequest)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketTagging service method.</param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketTaggingAsync(System.String,System.Collections.Generic.List{Amazon.S3.Model.Tag},System.Threading.CancellationToken)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="tagSet">A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketTaggingAsync(Amazon.S3.Model.PutBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketVersioning(Amazon.S3.Model.PutBucketVersioningRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutBucketVersioningAsync(Amazon.S3.Model.PutBucketVersioningRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketWebsite(System.String,Amazon.S3.Model.WebsiteConfiguration)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="websiteConfiguration">Container for the request.</param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketWebsite(Amazon.S3.Model.PutBucketWebsiteRequest)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketWebsite service method.</param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketWebsiteAsync(System.String,Amazon.S3.Model.WebsiteConfiguration,System.Threading.CancellationToken)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="websiteConfiguration">Container for the request.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutBucketWebsiteAsync(Amazon.S3.Model.PutBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutCORSConfiguration(System.String,Amazon.S3.Model.CORSConfiguration)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutCORSConfiguration(Amazon.S3.Model.PutCORSConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutCORSConfigurationAsync(System.String,Amazon.S3.Model.CORSConfiguration,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutCORSConfigurationAsync(Amazon.S3.Model.PutCORSConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.AmazonS3Client.PutLifecycleConfiguration(System.String,Amazon.S3.Model.LifecycleConfiguration)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to set the configuration.</param>
            <param name="configuration">A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method.</param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutLifecycleConfiguration(Amazon.S3.Model.PutLifecycleConfigurationRequest)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutLifecycleConfiguration service method.</param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutLifecycleConfigurationAsync(System.String,Amazon.S3.Model.LifecycleConfiguration,System.Threading.CancellationToken)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to set the configuration.</param>
            <param name="configuration">A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Client.PutLifecycleConfigurationAsync(Amazon.S3.Model.PutLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObject(Amazon.S3.Model.PutObjectRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectAsync(Amazon.S3.Model.PutObjectRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectLegalHold(Amazon.S3.Model.PutObjectLegalHoldRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectLegalHoldAsync(Amazon.S3.Model.PutObjectLegalHoldRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectLockConfiguration(Amazon.S3.Model.PutObjectLockConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectLockConfigurationAsync(Amazon.S3.Model.PutObjectLockConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectRetention(Amazon.S3.Model.PutObjectRetentionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectRetentionAsync(Amazon.S3.Model.PutObjectRetentionRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectTagging(Amazon.S3.Model.PutObjectTaggingRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutObjectTaggingAsync(Amazon.S3.Model.PutObjectTaggingRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutPublicAccessBlock(Amazon.S3.Model.PutPublicAccessBlockRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.PutPublicAccessBlockAsync(Amazon.S3.Model.PutPublicAccessBlockRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObject(System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObject(System.String,System.String,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObject(System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObject(System.String,System.String,System.String,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObject(Amazon.S3.Model.RestoreObjectRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObjectAsync(System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObjectAsync(System.String,System.String,System.Int32,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObjectAsync(System.String,System.String,System.String,System.Int32,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.RestoreObjectAsync(Amazon.S3.Model.RestoreObjectRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.SelectObjectContent(Amazon.S3.Model.SelectObjectContentRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.SelectObjectContentAsync(Amazon.S3.Model.SelectObjectContentRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.UploadPart(Amazon.S3.Model.UploadPartRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.AmazonS3Client.UploadPartAsync(Amazon.S3.Model.UploadPartRequest,System.Threading.CancellationToken)" -->
        <member name="T:Amazon.S3.AmazonS3Config">
            <summary>
            Configuration for accessing AmazonS3 service
            </summary>
            <summary>
            Configuration for accessing Amazon S3 service
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.ForcePathStyle">
            <summary>
            When true, requests will always use path style addressing.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.UseAccelerateEndpoint">
            <summary>
            Enables S3 accelerate by sending requests to the accelerate endpoint instead of the regular region endpoint. 
            To use this feature, the bucket name should be DNS compliant names and should not contain periods (.). 
            The following APIs are not supported and are sent to the regular region endpoint, even if this option is enabled:
            <ol> 
            <li>PutBucket</li>
            <li>ListBuckets</li>
            <li>DeleteBucket</li>
            </ol>
            </summary>
            <remarks>
            This option cannot be used at the same time as UseDualstackEndpoint.
            </remarks>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.UseArnRegion">
            <summary>
            If set to true and the service package supports it the region identified in the arn for a resource
            will be used when making the service request.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.USEast1RegionalEndpointValue">
            <summary>
            USEast1RegionalEndpointValue determines wheter or not
            to send the us-east-1 s3 requests to the regional endpoint or to
            the legacy global endpoint.
            This flags takes precedence over the AWS_S3_US_EAST_1_REGIONAL_ENDPOINT
            environment variable and the credential file.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.Initialize">
            <summary>
            This method contains custom initializations for the config object.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.DetermineServiceURL">
            <summary>
            Given this client configuration, returns the service url
            </summary>
            <returns>The service url in the form of a string</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.GetEndpointFlagValueForUsEast1Regional">
            <summary>
            If the client is configured to hit us-east-1 with the S3UsEast1RegionalEndpointValue flag not set, 
            this method checks whether the environment variable is present or the credential file contains a valid value
            </summary>
            <returns>A Nullable of S3UsEast1RegionalEndpointValue representing the client configuration for the regional us-east-1 endpoint</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.Validate">
            <summary>
            Validate that the config object is properly configured.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.CheckS3EnvironmentVariable">
            <summary>
            Checks the AWS_S3_US_EAST_1_REGIONAL_ENDPOINT environment variable for the presence of the s3 regional flag
            </summary>
            <returns>A nullable of S3UsEast1RegionalEndpointValue</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.CheckCredentialsFile">
            <summary>
            Checks the credential file for the presence of the s3 regional flag
            </summary>
            <returns>A nullable of S3UsEast1RegionalEndpointValue</returns>
        </member>
        <member name="M:Amazon.S3.AmazonS3Config.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.RegionEndpointServiceName">
            <summary>
            The constant used to lookup in the region hash the endpoint.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.ServiceVersion">
            <summary>
            Gets the ServiceVersion property.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Config.UserAgent">
            <summary>
            Gets the value of UserAgent property.
            </summary>
        </member>
        <member name="T:Amazon.S3.AmazonS3Exception">
            <summary>
            Base exception for S3 errors.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String,System.Exception)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.Exception)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="innerException"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String,System.Exception,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String,System.Exception,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode,System.String)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
            <param name="amazonId2"></param>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.String,System.Exception,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode,System.String,System.String)">
            <summary>
            Construct an instance of AmazonS3Exception
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
            <param name="amazonId2"></param>
            <param name="amazonCfId"></param>
        </member>
        <member name="P:Amazon.S3.AmazonS3Exception.AmazonId2">
            <summary>
            A special token that helps AWS troubleshoot problems.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Exception.AmazonCloudFrontId">
            <summary>
            A special token that helps AWS troubleshoot S3 accelerate problems.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Exception.ResponseBody">
            <summary>
            The entire response body for this exception, if available.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Exception.Region">
            <summary>
            The region that the AmazonS3Exception relates to.
            </summary>
        </member>
        <member name="P:Amazon.S3.AmazonS3Exception.Message">
            <summary>
            Gets the exception message.
            </summary>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructs a new instance of the AmazonS3Exception class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
        </member>
        <member name="M:Amazon.S3.AmazonS3Exception.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
        </member>
        <member name="T:Amazon.S3.ArnExtensions">
            <summary>
            Extensions methods added to Amazon.Arn type to help parse S3 specific resources from the ARN.
            </summary>
        </member>
        <member name="M:Amazon.S3.ArnExtensions.TryParseAccessPoint(Amazon.Arn,System.String@)">
            <summary>
            Attempt to parse the resource component of the ARN into access point resource name.
            </summary>
            <param name="arn">An AWS ARN to parse</param>
            <param name="accessPoint">The access point resouce identifier found in the ARN.</param>
            <returns>True if the ARN contains an access point resource identifier.</returns>
        </member>
        <member name="M:Amazon.S3.ArnExtensions.TryParseBucket(Amazon.Arn,System.String@)">
            <summary>
            Attempt to parse the resource component of the ARN into bucket name.
            </summary>
            <param name="arn">An AWS ARN to parse</param>
            <param name="bucketName">The bucket name found in the ARN.</param>
            <returns>True if the ARN contains a bucket name.</returns>
        </member>
        <member name="T:Amazon.S3.Internal.AmazonS3ExceptionHandler">
            <summary>
            Custom pipeline handler to clean up streams in case of an exception.
            </summary>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3ExceptionHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Catch exceptions and clean up any open streams.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3ExceptionHandler.HandleException(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Catch exceptions and clean up any open streams.
            </summary>
            <param name="executionContext"></param>
            <param name="exception"></param>
        </member>
        <member name="T:Amazon.S3.Internal.AmazonS3KmsHandler">
            <summary>
            Custom pipeline handler to enable sig V4 for Get requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3KmsHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3KmsHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3KmsHandler.PreInvoke(Amazon.Runtime.IExecutionContext)">
            <summary>
            Custom pipeline handler to enable sig V4 for Get requests.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3PostMarshallHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3PostMarshallHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3PreMarshallHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3PreMarshallHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls the post invoke logic after calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls the and post invoke logic after calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3RetryPolicy.#ctor(Amazon.Runtime.IClientConfig)">
            <summary>
            Constructor for AmazonS3RetryPolicy.
            </summary>
            <param name="config">The IClientConfig object</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3RetryPolicy.RetryForExceptionSync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Perform the processor-bound portion of the RetryForException logic.
            This is shared by the sync, async, and APM versions of the RetryForException method.
            </summary>
            <param name="executionContext"></param>
            <param name="exception"></param>
            <returns>a value if it can be determined, or null if the IO-bound calculations need to be done</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3RetryPolicy.RetryForExceptionAsync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in DefaultRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3RetryPolicy.RetryForException(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in DefaultRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3StandardRetryPolicy.#ctor(Amazon.Runtime.IClientConfig)">
            <summary>
            Constructor for AmazonS3StandardRetryPolicy.
            </summary>
            <param name="config">The IClientConfig object</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3StandardRetryPolicy.RetryForExceptionSync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Perform the processor-bound portion of the RetryForException logic.
            This is shared by the sync, async, and APM versions of the RetryForException method.
            </summary>
            <param name="executionContext"></param>
            <param name="exception"></param>
            <returns>a value if it can be determined, or null if the IO-bound calculations need to be done</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3StandardRetryPolicy.RetryForExceptionAsync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in StandardRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3StandardRetryPolicy.RetryForException(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in StandardRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3AdaptiveRetryPolicy.#ctor(Amazon.Runtime.IClientConfig)">
            <summary>
            Constructor for AmazonS3AdaptiveRetryPolicy.
            </summary>
            <param name="config">The IClientConfig object</param>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3AdaptiveRetryPolicy.RetryForExceptionSync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Perform the processor-bound portion of the RetryForException logic.
            This is shared by the sync, async, and APM versions of the RetryForException method.
            </summary>
            <param name="executionContext"></param>
            <param name="exception"></param>
            <returns>a value if it can be determined, or null if the IO-bound calculations need to be done</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3AdaptiveRetryPolicy.RetryForExceptionAsync(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in AdaptiveRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="M:Amazon.S3.Internal.AmazonS3AdaptiveRetryPolicy.RetryForException(Amazon.Runtime.IExecutionContext,System.Exception)">
            <summary>
            Return true if the request should be retried. Implements additional checks 
            specific to S3 on top of the checks in AdaptiveRetryPolicy.
            </summary>
            <param name="executionContext">Request context containing the state of the request.</param>
            <param name="exception">The exception thrown by the previous request.</param>
            <returns>Return true if the request should be retried.</returns>
        </member>
        <member name="T:Amazon.S3.Internal.IAmazonS3Encryption">
            <summary>
            Marker interface to identify AmazonS3EncryptionClient.
            </summary>
        </member>
        <member name="T:Amazon.S3.Internal.AmazonS3Metadata">
            <summary>
            Service metadata for  Amazon S3 service
            </summary>
        </member>
        <member name="P:Amazon.S3.Internal.AmazonS3Metadata.ServiceId">
            <summary>
            Gets the value of the Service Id.
            </summary>
        </member>
        <member name="P:Amazon.S3.Internal.AmazonS3Metadata.OperationNameMapping">
            <summary>
            Gets the dictionary that gives mapping of renamed operations
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AbortMultipartUploadRequest">
            <summary>
            The parameters to request an abort of a multipart upload.
            </summary>
            <remarks>
            After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. 
            The storage consumed by any previously uploaded parts will be freed. However, if any part uploads 
            are currently in progress, those part uploads might or might not succeed. As a result, it might be 
            necessary to abort a given multipart upload multiple times in order to completely free all storage 
            consumed by all parts.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.AbortMultipartUploadRequest.BucketName">
            <summary>
            <para>The bucket name to which the upload was taking place. </para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AbortMultipartUploadRequest.Key">
            <summary>
            The key of the S3 object that was being uploaded.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AbortMultipartUploadRequest.UploadId">
            <summary>
            The upload id for the in-progress multipart upload that should be aborted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AbortMultipartUploadRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.AbortMultipartUploadRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.AbortMultipartUploadResponse">
            <summary>
            Returns information about the AbortMultipartUpload response metadata.
            The AbortMultipartUpload operation has a void result type.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AbortMultipartUploadResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.AbortMultipartUploadResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.AccelerateConfiguration">
            <summary>
            Bucket accelerate configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AccelerateConfiguration.Status">
            <summary>
            The accelerate status of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AccessControlTranslation">
            <summary>
            AccessControlTranslation class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AccessControlTranslation.Owner">
            <summary>
            The override value for the owner of the replica object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsAndOperator">
            <summary>
            Class for AnalyticsAndOperator
            <para>A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. 
            The operator must have at least two predicates, and an object must match all of the predicates 
            in order for the filter to apply.</para>
            </summary>
            Note: The current implementation restricts the usage to atmost one AnalyticsPrefixPredicate
            and any number of AnalyticsTagPredicates.
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsConfiguration">
            <summary>
            Class for AnalyticsConfiguration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsConfiguration.AnalyticsId">
            <summary>
            The identifier used to represent an analytics configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsConfiguration.AnalyticsFilter">
            <summary>
            The filter used to describe a set of objects for analyses. 
            A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator).
            If no filter is provided, all objects will be considered in any analysis.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsConfiguration.StorageClassAnalysis">
            <summary>
            If present, it indicates that data related to access patterns will be collected 
            and made available to analyze the tradeoffs between different storage classes.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsExportDestination">
            <summary>
            Class for AnalyticsExportDestination
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsExportDestination.S3BucketDestination">
            <summary>
            A destination signifying output to an S3 bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsFilter">
            <summary>
            Filter class for Metrics.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsFilter.AnalyticsFilterPredicate">
            <summary>
            Filter Predicate setup for specific filter types.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsFilterPredicate">
            <summary>
            Filter Predicate abstract class for specific filter types to be derived from.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsNAryOperator">
            <summary>
            Abstract class that can be used over logical filter predicates,i.e. AND/OR.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.AnalyticsPredicateVisitor">
            <summary>
            Internal implementation of Metrics Predicate visitor interface.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.IAnalyticsPredicateVisitor">
            <summary>
            Interface for implementing visitor pattern in Analytics Predicate Filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.IInventoryPredicateVisitor">
            <summary>
            Interface for implementing visitor pattern in Inventory Predicate Filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.IMetricsPredicateVisitor">
            <summary>
            Interface for implementing visitor pattern in Metrics Predicate Filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor">
            <summary>
            Defines the interface that is used to visit all the different
            implementations of <see cref="T:Amazon.S3.Model.LifecycleFilterPredicate"/>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor.Visit(Amazon.S3.Model.LifecyclePrefixPredicate)">
            <summary>
            Visit a <see cref="T:Amazon.S3.Model.LifecyclePrefixPredicate"/>
            </summary>
            <param name="lifecyclePrefixPredicate"></param>
        </member>
        <member name="M:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor.Visit(Amazon.S3.Model.LifecycleTagPredicate)">
            <summary>
            Visit a <see cref="T:Amazon.S3.Model.LifecycleTagPredicate"/>
            </summary>
            <param name="lifecycleTagPredicate"></param>
        </member>
        <member name="M:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor.Visit(Amazon.S3.Model.LifecycleAndOperator)">
            <summary>
            Visit a <see cref="T:Amazon.S3.Model.LifecycleAndOperator"/>
            </summary>
            <param name="lifecycleAndOperator"></param>
        </member>
        <member name="T:Amazon.S3.Model.Internal.LifecycleFilterPredicateMarshallVisitor">
            <summary>
            Implementation of <see cref="T:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor"/> to marshall <see cref="T:Amazon.S3.Model.LifecycleFilterPredicate"/>.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AbortIncompleteMultipartUploadUnmarshaller">
            <summary>
              AbortIncompleteMultipartUpload Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AbortMultipartUploadRequestMarshaller">
            <summary>
            Abort Multipart Upload Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AbortMultipartUploadResponseUnmarshaller">
            <summary>
               Response Unmarshaller for AbortMultipartUpload operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AnalyticsConfigurationUnmarshaller">
            <summary>
            AnalyticsConfiguration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AnalyticsExportDestinationUnmarshaller">
            <summary>
            AnalyticsExportDestinationUnmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AnalyticsPredicateListUnmarshaller">
            <summary>
              AnalyticsFilter Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.AnalyticsS3BucketDestinationUnmarshaller">
            <summary>
              AnalyticsS3BucketDestination Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.BucketUnmarshaller">
            <summary>
              Bucket Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CommonPrefixesItemUnmarshaller">
            <summary>
              CommonPrefixesItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CompleteMultipartUploadRequestMarshaller">
            <summary>
            Complete Multipart Upload Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CompleteMultipartUploadResponseUnmarshaller">
            <summary>
               Response Unmarshaller for CompleteMultipartUpload operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ContentsItemUnmarshaller">
            <summary>
              ContentsItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CopyObjectRequestMarshaller">
            <summary>
            Copy Object Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CopyObjectResponseUnmarshaller">
            <summary>
               Response Unmarshaller for CopyObject operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CopyPartRequestMarshaller">
            <summary>
            Upload Part Copy Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CopyPartResponseUnmarshaller">
            <summary>
               Response Unmarshaller for CopyPart operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.CORSRuleUnmarshaller">
            <summary>
              CORSRule Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DefaultRetentionUnmarshaller">
            <summary>
            Response Unmarshaller for DefaultRetention Object
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.DefaultRetentionUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketAnalyticsConfigurationRequestMarshaller">
            <summary>
            Delete InventoryConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketAnalyticsConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteAnalyticsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteCORSConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteCORSConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketInventoryConfigurationRequestMarshaller">
            <summary>
            Delete InventoryConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketInventoryConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteInventoryConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketMetricsConfigurationRequestMarshaller">
            <summary>
            Delete Bucket MetricsConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketMetricsConfigurationResponseUnmarshaller">
            <summary>
            Response Unmarshaller for DeleteBucketMetricsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketPolicyRequestMarshaller">
            <summary>
            Delete Bucket Policy Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketPolicyResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteBucketPolicy operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketRequestMarshaller">
            <summary>
            Delete Bucket Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteBucket operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketTaggingRequestMarshaller">
            <summary>
            Delete Bucket Tagging Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketTaggingResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteBucketTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketWebsiteRequestMarshaller">
            <summary>
            Delete Bucket Website Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteBucketWebsiteResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteBucketWebsite operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteCORSConfigurationRequestMarshaller">
            <summary>
            Delete Bucket Cors Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeletedObjectUnmarshaller">
            <summary>
              DeletedObject Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteLifecycleConfigurationRequestMarshaller">
            <summary>
            Delete Bucket Lifecycle Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteLifecycleConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteBucketLifecycle operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectRequestMarshaller">
            <summary>
            Delete Object Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteObject operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectsRequestMarshaller">
            <summary>
            Delete Objects Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for DeleteObjects operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectTaggingRequestMarshaller">
            <summary>
            DeleteObjectTaggingRequest Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectTaggingRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshall DeleteObjectTaggingRequest object into an http request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectTaggingRequestMarshaller.Marshall(Amazon.S3.Model.DeleteObjectTaggingRequest)">
            <summary>
            Marshall DeleteObjectTaggingRequest object into an http request.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeleteObjectTaggingResponseUnmarshaller">
            <summary>
            Response Unmarshaller for DeleteObjectTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeletePublicAccessBlockRequestMarshaller">
            <summary>
            DeletePublicAccessBlock Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.DeletePublicAccessBlockResponseUnmarshaller">
            <summary>
            Response Unmarshaller for DeletePublicAccessBlock operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ErrorsItemUnmarshaller">
            <summary>
              ErrorsItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ExpirationUnmarshaller">
            <summary>
              Expiration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.FilterRuleUnmarshaller">
            <summary>
              FilterRule Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.FilterUnmarshaller">
            <summary>
              Filter Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetACLRequestMarshaller">
            <summary>
            Get Object Acl Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetACLResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetACL operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketAccelerateConfigurationRequestMarshaller">
            <summary>
            Get Object Accelerate Configuration Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketAccelerateConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetACL operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketAnalyticsConfigurationRequestMarshaller">
            <summary>
            Get BucketAnalyticsConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketAnalyticsConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetAnalyticsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketInventoryConfigurationRequestMarshaller">
            <summary>
            Get InventoryConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketInventoryConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetInventoryConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketLocationRequestMarshaller">
            <summary>
            Get Bucket Location Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketLocationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketLocation operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketLoggingRequestMarshaller">
            <summary>
            Get Bucket Logging Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketLoggingResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketLogging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketMetricsConfigurationRequestMarshaller">
            <summary>
            Get Bucket MetricsConfigurationRequest Marshaller
            </summary>   
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketMetricsConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketMetricsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketNotificationRequestMarshaller">
            <summary>
            Get Bucket Notification Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketNotificationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketNotification operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketPolicyRequestMarshaller">
            <summary>
            Get BucketName Policy Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketPolicyResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketPolicy operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketPolicyStatusRequestMarshaller">
            <summary>
            GetBucketPolicyStatusRequestMarshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketPolicyStatusResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetBucketPolicyStatus operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketRequestPaymentRequestMarshaller">
            <summary>
            Get Bucket Request Payment Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketRequestPaymentResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketRequestPayment operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketTaggingRequestMarshaller">
            <summary>
            Get Bucket Tagging Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketTaggingResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketVersioningRequestMarshaller">
            <summary>
            Get Bucket Versioning Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketVersioningResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketVersioning operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketWebsiteRequestMarshaller">
            <summary>
            Get Bucket Website Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetBucketWebsiteResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetBucketWebsite operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetCORSConfigurationRequestMarshaller">
            <summary>
            Get Bucket Cors Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetCORSConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetCORSConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetLifecycleConfigurationRequestMarshaller">
            <summary>
            Get Bucket Lifecycle Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetLifecycleConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetLifecycleConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldRequestMarshaller">
            <summary>
            GetObjectLegalHold Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldRequestMarshaller.Marshall(Amazon.S3.Model.GetObjectLegalHoldRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetObjectLegalHold operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLegalHoldResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationRequestMarshaller">
            <summary>
            GetObjectLockConfiguration Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationRequestMarshaller.Marshall(Amazon.S3.Model.GetObjectLockConfigurationRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetObjectLockConfiguration operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectLockConfigurationResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectMetadataRequestMarshaller">
            <summary>
            GetObjectMetadata Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectMetadataResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetObjectMetadata operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRequestMarshaller">
            <summary>
            Get Object Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetObject operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionRequestMarshaller">
            <summary>
            GetObjectRetention Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionRequestMarshaller.Marshall(Amazon.S3.Model.GetObjectRetentionRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetObjectRetention operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectRetentionResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTaggingRequestMarshaller">
            <summary>
            GetObjectTaggingRequest Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTaggingRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshall GetObjectTaggingRequest into an http request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTaggingRequestMarshaller.Marshall(Amazon.S3.Model.GetObjectTaggingRequest)">
            <summary>
            Marshall GetObjectTaggingRequest into an http request.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTaggingResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetObjectTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTorrentRequestMarshaller">
            <summary>
            Get Object Torrent Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetObjectTorrentResponseUnmarshaller">
            <summary>
               Response Unmarshaller for GetObjectTorrent operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetPublicAccessBlockRequestMarshaller">
            <summary>
            GetPublicAccessBlockRequestMarshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GetPublicAccessBlockResponseUnmarshaller">
            <summary>
            Response Unmarshaller for GetPublicAccessBlock operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GranteeUnmarshaller">
            <summary>
              Grantee Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.GrantUnmarshaller">
            <summary>
              Grant Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.HeadBucketRequestMarshaller">
            <summary>
            Head Bucket Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.HeadBucketResponseUnmarshaller">
            <summary>
               Response Unmarshaller for HeadBucket operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InitiateMultipartUploadRequestMarshaller">
            <summary>
            Create Multipart Upload Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InitiateMultipartUploadResponseUnmarshaller">
            <summary>
               Response Unmarshaller for InitiateMultipartUpload operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InitiatorUnmarshaller">
            <summary>
              Initiator Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryConfigurationUnmarshaller">
            <summary>
              InventoryConfiguration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryDestinationUnmarshaller">
            <summary>
              InventoryDestination Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryEncryptionUnmarshaller">
            <summary>
              InventoryEncryption Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryFilterUnmarshaller">
            <summary>
              InventoryFilter Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryS3BucketDestinationUnmarshaller">
            <summary>
              InventoryS3BucketDestination Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.InventoryScheduleUnmarshaller">
            <summary>
              InventorySchedule Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.LifecycleFilterPredicateListUnmarshaller">
            <summary>
            LifecycleFilterPredicate Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.LifecycleRuleNoncurrentVersionExpirationUnmarshaller">
            <summary>
              LifecycleRuleNoncurrentVersionExpiration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.LifecycleRuleNoncurrentVersionTransitionUnmarshaller">
            <summary>
              LifecycleRuleNoncurrentVersionTransition Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketAnalyticsConfigurationsRequestMarshaller">
            <summary>
            List AnalyticsConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketAnalyticsConfigurationsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListAnalyticsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketInventoryConfigurationsRequestMarshaller">
            <summary>
            List InventoryConfiguration Request Marshaller
            </summary>    
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketInventoryConfigurationsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListInventoryConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketMetricsConfigurationsRequestMarshaller">
            <summary>
            List Bucket MetricsConfigurationRequest Marshaller
            </summary>     
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketMetricsConfigurationsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListBucketMetricsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketsRequestMarshaller">
            <summary>
            List Buckets Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListBucketsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListBuckets operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListMultipartUploadsRequestMarshaller">
            <summary>
            List Multipart Uploads Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListMultipartUploadsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListMultipartUploads operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListObjectsRequestMarshaller">
            <summary>
            List Objects Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListObjectsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListObjects operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListObjectsV2RequestMarshaller">
            <summary>
            List Objects Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListObjectsV2ResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListObjects operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListPartsRequestMarshaller">
            <summary>
            List Parts Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListPartsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListParts operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListVersionsRequestMarshaller">
            <summary>
            List Object Versions Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ListVersionsResponseUnmarshaller">
            <summary>
               Response Unmarshaller for ListVersions operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.LoggingEnabledUnmarshaller">
            <summary>
              LoggingEnabled Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.MetricsConfigurationUnmarshaller">
            <summary>
            MetricsConfiguration Unmarshaller 
            </summary>   
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.MetricsPredicateListFilterUnmarshaller">
            <summary>
            MetricsFilte Unmarshaller 
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.MultipartUploadUnmarshaller">
            <summary>
              UploadsItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockConfigurationUnmarshaller">
            <summary>
            Response Unmarshaller for ObjectLockConfiguration Object
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockConfigurationUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockLegalHoldUnmarshaller">
            <summary>
            Response Unmarshaller for ObjectLockLegalHold Object
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockLegalHoldUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockRetentionUnmarshaller">
            <summary>
            Response Unmarshaller for ObjectLockRetention Object
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockRetentionUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockRuleUnmarshaller">
            <summary>
            Response Unmarshaller for ObjectLockRule Object
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.ObjectLockRuleUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.OwnerUnmarshaller">
            <summary>
              Owner Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PartDetailUnmarshaller">
            <summary>
              PartsItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PolicyStatusUnmarshaller">
            <summary>
            PolicyStatus Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PublicAccessBlockConfigurationUnmarshaller">
            <summary>
            PublicAccessBlockConfiguration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutACLRequestMarshaller">
            <summary>
            Put Object Acl Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutACLResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutObjectAcl operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketAccelerateConfigurationRequestMarshaller">
            <summary>
            Put Object Acl Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketAccelerateConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketAccelerate operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketAnalyticsConfigurationRequestMarshaller">
            <summary>
               Request Marshaller for PutAnalyticsConfiguration operation
            </summary> 
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketAnalyticsConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketAnalytics operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketInventoryConfigurationRequestMarshaller">
            <summary>
               Request Marshaller for PutInventoryConfiguration operation
            </summary> 
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketInventoryConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketWebsite operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketLoggingRequestMarshaller">
            <summary>
            Enable Bucket Logging Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketLoggingResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketLogging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketMetricsConfigurationRequestMarshaller">
            <summary>
            Put Bucket MetricsConfigurationRequest Marshaller
            </summary>   
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketMetricsConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketMetricsConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketNotificationRequestMarshaller">
            <summary>
            Put Bucket Notification Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketNotificationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketNotification operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketPolicyRequestMarshaller">
            <summary>
            Put Bucket Policy Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketPolicyResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketPolicy operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketReplicationRequestMarshaller">
            <summary>
            Put Buckeyt Replication Request Marshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketReplicationResponseUnmarshaller">
            <summary>
            Response Unmarshaller for PutBucketReplication operation.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketRequestMarshaller">
            <summary>
            Put Bucket Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketRequestPaymentRequestMarshaller">
            <summary>
            Put Bucket Request Payment Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketRequestPaymentResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketRequestPayment operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucket operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketTaggingRequestMarshaller">
            <summary>
            Put Bucket Tagging Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketTaggingResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketVersioningRequestMarshaller">
            <summary>
            Put Bucket Versioning Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketVersioningResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketVersioning operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketWebsiteRequestMarshaller">
            <summary>
            Put Bucket Website Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutBucketWebsiteResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutBucketWebsite operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutCORSConfigurationRequestMarshaller">
            <summary>
            Put Bucket Cors Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutCORSConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutCORSConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutLifecycleConfigurationRequestMarshaller">
            <summary>
            Put Bucket Lifecycle Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutLifecycleConfigurationResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutLifecycleConfiguration operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldRequestMarshaller">
            <summary>
            PutObjectLegalHold Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldRequestMarshaller.Marshall(Amazon.S3.Model.PutObjectLegalHoldRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldResponseUnmarshaller">
            <summary>
            Response Unmarshaller for PutObjectLegalHold operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLegalHoldResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationRequestMarshaller">
            <summary>
            PutObjectLockConfiguration Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationRequestMarshaller.Marshall(Amazon.S3.Model.PutObjectLockConfigurationRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationResponseUnmarshaller">
            <summary>
            Response Unmarshaller for PutObjectLockConfiguration operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectLockConfigurationResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRequestMarshaller">
            <summary>
            Put Object Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectResponseUnmarshaller">
            <summary>
               Response Unmarshaller for PutObject operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionRequestMarshaller">
            <summary>
            PutObjectRetention Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionRequestMarshaller.Marshall(Amazon.S3.Model.PutObjectRetentionRequest)">
            <summary>
            Marshaller the request object to the HTTP request.
            </summary>  
            <param name="publicRequest"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionResponseUnmarshaller">
            <summary>
            Response Unmarshaller for PutObjectRetention operation
            </summary>  
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Unmarshaller the response from the service to the response class.
            </summary>  
            <param name="context"></param>
            <returns></returns>
        </member>
        <member name="P:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectRetentionResponseUnmarshaller.Instance">
            <summary>
            Gets the singleton.
            </summary>  
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectTaggingRequestMarshaller">
            <summary>
            Delete Object Tagging Request Marshaller
            </summary>       
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectTaggingRequestMarshaller.Marshall(Amazon.Runtime.AmazonWebServiceRequest)">
            <summary>
            Marshall PutObjectTaggingRequest into an http request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectTaggingRequestMarshaller.Marshall(Amazon.S3.Model.PutObjectTaggingRequest)">
            <summary>
            Marshall PutObjectTaggingRequest into an http request.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutObjectTaggingResponseUnmarshaller">
            <summary>
            Response Unmarshaller for DeleteObjectTagging operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutPublicAccessBlockRequestMarshaller">
            <summary>
            PutPublicAccessBlock Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.PutPublicAccessBlockResponseUnmarshaller">
            <summary>
            Response Unmarshaller for PutPublicAccessBlock operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RestoreObjectRequestMarshaller">
            <summary>
            Restore Object Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RestoreObjectResponseUnmarshaller">
            <summary>
               Response Unmarshaller for RestoreObject operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RoutingRuleConditionUnmarshaller">
            <summary>
              Condition Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RoutingRuleRedirectUnmarshaller">
            <summary>
              Redirect Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RoutingRuleUnmarshaller">
            <summary>
              RoutingRule Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.RulesItemUnmarshaller">
            <summary>
              RulesItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.S3ErrorResponseUnmarshaller">
            <summary>
               Response Unmarshaller for all Errors
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.S3ErrorResponseUnmarshaller.Unmarshall(Amazon.Runtime.Internal.Transform.XmlUnmarshallerContext)">
            <summary>
            Build an S3ErrorResponse from XML 
            </summary>
            <param name="context">The XML parsing context. 
            Usually an <c>Amazon.Runtime.Internal.UnmarshallerContext</c>.</param>
            <returns>An <c>S3ErrorResponse</c> object.</returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.S3KeyFilterUnmarshaller">
            <summary>
              Grant Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.S3ReponseUnmarshaller">
            <summary>
            Class for unmarshalling S3 service responses
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.S3UnmarshallerContext">
            <summary>
            Specialized S3 unmarshaller context.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.S3UnmarshallerContext.#ctor(System.IO.Stream,System.Boolean,Amazon.Runtime.Internal.Transform.IWebResponseData)">
            <summary>
            Wrap an XmlTextReader with state for event-based parsing of an XML stream.
            </summary>
            <param name="responseStream"><c>Stream</c> with the XML from a service response.</param>
            <param name="maintainResponseBody"> If set to true, maintains a copy of the complete response body as the stream is being read.</param>
            <param name="responseData">Response data coming back from the request</param>
        </member>
        <member name="M:Amazon.S3.Model.Internal.MarshallTransformations.S3UnmarshallerContext.Read">
            <summary>
            Reads to the next node in the XML document, and updates the context accordingly.
            If node is RequestId, reads the contents and stores in RequestId property.
            </summary>
            <returns>
            True if a node was read, false if there are no more elements to read./
            </returns>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.SSEKMSUnmarshaller">
            <summary>
              SSEKMS Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.StorageClassAnalysisDataExportUnmarshaller">
            <summary>
            StorageClassAnalysisDataExportDataExportUnmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.StorageClassAnalysisUnmarshaller">
            <summary>
             StorageClassAnalysisUnmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.TagUnmarshaller">
            <summary>
              Tag Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.TopicConfigurationUnmarshaller">
            <summary>
              TopicConfiguration Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.TransitionUnmarshaller">
            <summary>
              Transition Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.UploadPartRequestMarshaller">
            <summary>
            Upload Part Request Marshaller
            </summary>       
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.UploadPartResponseUnmarshaller">
            <summary>
               Response Unmarshaller for UploadPart operation
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MarshallTransformations.VersionsItemUnmarshaller">
            <summary>
              VersionsItem Unmarshaller
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.InventoryPredicateVisitor">
            <summary>
            Internal implementation of Inventory Predicate visitor interface.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Internal.MetricsPredicateVisitor">
            <summary>
            Internal implementation of Metrics Predicate visitor interface.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsPrefixPredicate">
            <summary>
            Class for AnalyticsPrefixPredicate
            <para>The prefix used when evaluating a metrics filter.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsS3BucketDestination">
            <summary>
            Class for AnalyticsS3BucketDestination
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsS3BucketDestination.Format">
            <summary>
            The file format used when exporting data to Amazon S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsS3BucketDestination.BucketAccountId">
            <summary>
            The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsS3BucketDestination.BucketName">
            <summary>
            The Amazon resource name (ARN) of the bucket to which data is exported.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.AnalyticsS3BucketDestination.Prefix">
            <summary>
            The prefix to use when exporting data. The exported data begins with this prefix.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.AnalyticsTagPredicate">
            <summary>
            Class for MetricsTagPredicate
            <para>The tag used when evaluating a metrics filter.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ByteRange">
            <summary>
            This class represents the byte range for a range GET from S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ByteRange.#ctor(System.Int64,System.Int64)">
            <summary>
            Constructs a ByteRange and sets the start and end.
            </summary>
            <param name="start"></param>
            <param name="end"></param>
        </member>
        <member name="M:Amazon.S3.Model.ByteRange.#ctor(System.String)">
            <summary>
            Constructs a ByteRange and sets the header to the value specified.
            </summary>
            <param name="byteRangeValue"></param>
        </member>
        <member name="F:Amazon.S3.Model.ByteRange._formattedByteRange">
            <summary>
            A private string, represending the byte range.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ByteRange.Start">
            <summary>
            The starting byte number of the range
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ByteRange.End">
            <summary>
            The ending byte number of the range
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ByteRange.FormattedByteRange">
            <summary>
            The formatted string representing the byte range to be set for the range header.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.CompleteMultipartUploadRequest">
            <summary>
            Container for the parameters to the CompleteMultipartUpload operation.
            <para>Completes a multipart upload by assembling previously uploaded parts.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadRequest.BucketName">
            <summary>
            The name of the bucketName containing the S3 object that was being uploaded in parts.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadRequest.Key">
            <summary>
            The key of the S3 object that was being uploaded.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadRequest.PartETags">
            <summary>
            A collection of part numbers and corresponding etags.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(Amazon.S3.Model.PartETag[])">
            <summary>
            Adds a collection of part numbers and corresponding etags.
            </summary>
            <param name="partETags">PartETags that will added to this request.</param>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(System.Collections.Generic.IEnumerable{Amazon.S3.Model.PartETag})">
            <summary>
            Adds a collection of part numbers and corresponding etags.
            </summary>
            <param name="partETags">PartETags that will added to this request.</param>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(Amazon.S3.Model.UploadPartResponse[])">
            <summary>
            Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags.
            </summary>
            <param name="responses">The list of response objects return from UploadParts.</param>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(System.Collections.Generic.IEnumerable{Amazon.S3.Model.UploadPartResponse})">
            <summary>
            Adds a collection of part numbers and corresponding etags by transforming the UploadPartResponses into PartETags.
            </summary>
            <param name="responses">The list of response objects return from UploadParts.</param>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(Amazon.S3.Model.CopyPartResponse[])">
            <summary>
            Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags.
            </summary>
            <param name="responses">The list of response objects return from CopyParts.</param>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.AddPartETags(System.Collections.Generic.IEnumerable{Amazon.S3.Model.CopyPartResponse})">
            <summary>
            Adds a collection of part numbers and corresponding etags by transforming the CopyPartResponse into PartETags.
            </summary>
            <param name="responses">The list of response objects return from CopyParts.</param>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadRequest.UploadId">
            <summary>
            The upload id for the in-progress multipart upload that should be completed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.CompleteMultipartUploadResponse">
            <summary>
            Returns information about the  CompleteMultipartUpload response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.Location">
            <summary>
            Gets and sets the URI that identifies the newly created object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.BucketName">
            <summary>
            Gets and sets the name of the bucketName that contains the newly created object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.Key">
            <summary>
            Gets and sets the object key of the newly created object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.ETag">
            <summary>
            Gets and sets Entity tag that identifies the newly created object's data. Objects with different
            object data will have different entity tags. The entity tag is an opaque string.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.Expiration">
            <summary>
            Gets and sets the Expiration property.
            Specifies the expiration date for the object and the
            rule governing the expiration.
            Is null if expiration is not applicable.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.ServerSideEncryptionMethod">
            <summary>
            Gets and sets the ServerSideEncryptionMethod property.
            Specifies the encryption used on the server to
            store the content.
            Default is None.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.VersionId">
            <summary>
            Gets and sets the VersionId property.
            This is the version-id of the S3 object
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CompleteMultipartUploadResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CompleteMultipartUploadResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.CopyObjectRequest">
            <summary>
            Container for the parameters to the CopyObject operation.
            <para>Creates a copy of an object that is already stored in Amazon S3.</para>
            </summary>
            <summary>
            Container for the parameters to the CopyObject operation.
            <para>Creates a copy of an object that is already stored in Amazon S3.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.SourceBucket">
            <summary>
            The name of the bucket containing the object to copy.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetSourceBucket">
            <summary>
            Checks if SourceBucket property is set.
            </summary>
            <returns>true if SourceBucket property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.SourceKey">
            <summary>
            The key of the object to copy.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetSourceKey">
            <summary>
            Checks if SourceKey property is set.
            </summary>
            <returns>true if SourceKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.SourceVersionId">
            <summary>
            Specifies a particular version of the source object to copy. By default the latest version is copied.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetSourceVersionId">
            <summary>
            Checks if SourceVersionId property is set.
            </summary>
            <returns>true if SourceVersionId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.DestinationBucket">
            <summary>
            The name of the bucket to contain the copy of the source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetDestinationBucket">
            <summary>
            Checks if DestinationBucket property is set.
            </summary>
            <returns>true if DestinationBucket property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.DestinationKey">
            <summary>
            The key to be given to the copy of the source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetDestinationKey">
            <summary>
            Checks if DestinationKey property is set.
            </summary>
            <returns>true if DestinationKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.CannedACL">
            <summary>
            A canned access control list (CACL) to apply to the object.
            Please refer to <see cref="T:Amazon.S3.S3CannedACL"/> for
            information on S3 Canned ACLs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ETagToMatch">
            <summary>
            ETag to be matched as a pre-condition for copying the source object
            otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if its entity tag (ETag) matches 
            the specified tag; otherwise return a 412 (precondition failed).
            Constraints: This property can be used with IfUnmodifiedSince,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetETagToMatch">
            <summary>
            Checks if ETagToMatch property is set.
            </summary>
            <remarks>
            Copies the object if its entity tag (ETag) is different
            than the specified Etag; otherwise returns a 412 (failed condition).
            Constraints: This header can be used with IfModifiedSince, but cannot
            be used with other conditional copy properties.
            </remarks>
            <returns>true if ETagToMatch property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ETagToNotMatch">
            <summary>
            ETag that must not be matched as a pre-condition for copying the source object,
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetETagToNotMatch">
            <summary>
            Checks if ETagToNotMatch property is set.
            </summary>
            <returns>true if ETagToNotMatch property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ModifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use ModifiedSinceDateUtc instead. Setting either ModifiedSinceDate or
            ModifiedSinceDateUtc results in both ModifiedSinceDate and ModifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            ModifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Copies the object if it has been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it has been modified since the
            specified time; otherwise returns a 412 (failed condition).
            Constraints: This property can be used with ETagToNotMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ModifiedSinceDateUtc">
            <summary>
            Copies the object if it has been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it has been modified since the
            specified time; otherwise returns a 412 (failed condition).
            Constraints: This property can be used with ETagToNotMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetModifiedSinceDateUtc">
            <summary>
            Checks if ModifiedSinceDateUtc property is set.
            </summary>
            <returns>true if ModifiedSinceDateUtc property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.UnmodifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use UnmodifiedSinceDateUtc instead. Setting either UnmodifiedSinceDate or
            UnmodifiedSinceDateUtc results in both UnmodifiedSinceDate and UnmodifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            UnmodifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Copies the object if it has not been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it hasn't been modified since the
            specified time; otherwise returns a 412 (precondition failed).
            Constraints: This property can be used with ETagToMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.UnmodifiedSinceDateUtc">
            <summary>
            Copies the object if it has not been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it hasn't been modified since the
            specified time; otherwise returns a 412 (precondition failed).
            Constraints: This property can be used with ETagToMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetUnmodifiedSinceDateUtc">
            <summary>
            Checks if UnmodifiedSinceDateUtc property is set.
            </summary>
            <returns>true if UnmodifiedSinceDateUtc property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.MetadataDirective">
            <summary>
            Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ObjectLockLegalHoldStatus">
            <summary>
            Gets and sets the property ObjectLockLegalHoldStatus. 
            <para>
            Specifies whether you want to apply a Legal Hold to the copied object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ObjectLockMode">
            <summary>
            Gets and sets the property ObjectLockMode. 
            <para>
            The Object Lock mode that you want to apply to the copied object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ObjectLockRetainUntilDate">
            <summary>
            Gets and sets the property ObjectLockRetainUntilDate. 
            <para>
            The date and time when you want the copied object's Object Lock to expire.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.StorageClass">
            <summary>
            The type of storage to use for the object. Defaults to 'STANDARD'.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.WebsiteRedirectLocation">
            <summary>
            If the bucketName is configured as a website, redirects requests for this object to another object in the same bucketName or to an external URL.
            Amazon S3 stores the value of this header in the object metadata.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ContentType">
            <summary>
            This is a convenience property for Headers.ContentType.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>        /// <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.CopySourceServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.CopySourceServerSideEncryptionCustomerProvidedKey">
            <summary>
            The customer provided encryption key for the source object of the copy.
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if CopySourceServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if CopySourceServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.CopySourceServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the CopySourceServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if CopySourceServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if CopySourceServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.TagSet">
            <summary>
            The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectRequest.IsSetTagSet">
            <summary>
            Checks if Tagging property is set
            </summary>
            <returns>true if Tagging is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.Timeout">
            <summary>
            Overrides the default request timeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used
            to send requests.
            </para>
            <para>
            Please specify a timeout value only if the operation will not complete within the default intervals
            specified for an HttpWebRequest/HttpClient.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            <seealso cref="P:System.Net.HttpWebRequest.Timeout"/>
            <seealso cref="P:System.Net.Http.HttpClient.Timeout"/>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectRequest.ReadWriteTimeout">
            <summary>
            Overrides the default ReadWriteTimeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used
            to send requests.
            </para>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            </remarks>
            <seealso cref="P:System.Net.HttpWebRequest.ReadWriteTimeout"/>
            <seealso cref="P:System.Net.Http.WebRequestHandler.ReadWriteTimeout"/>
        </member>
        <member name="T:Amazon.S3.Model.CopyObjectResponse">
            <summary>
            Returns information about the  CopyObject response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ETag">
            <summary>
            Gets and sets the ETag property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.LastModified">
            <summary>
            Gets and sets the LastModified property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.Expiration">
            <summary>
            Gets and sets the Expiration property.
            Specifies the expiration date for the object and the
            rule governing the expiration.
            Is null if expiration is not applicable.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.SourceVersionId">
            <summary>
            Gets and sets the SourceVersionId property.
            This is the Version Id of the Source Object
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.VersionId">
            <summary>
            Version ID of the newly created copy.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyObjectResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyObjectResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.CopyPartRequest">
            <summary>
            Container for the parameters to the CopyPart operation.
            <para>Uploads a part by copying data from an existing object as data source.</para>
            </summary>
            <summary>
            Container for the parameters to the CopyPart operation.
            <para>Uploads a part by copying data from an existing object as data source.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.SourceBucket">
            <summary>
            The name of the bucket containing the object to copy.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetSourceBucket">
            <summary>
            Checks if SourceBucket property is set.
            </summary>
            <returns>true if SourceBucket property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.SourceKey">
            <summary>
            The key of the object to copy.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetSourceKey">
            <summary>
            Checks if SourceKey property is set.
            </summary>
            <returns>true if SourceKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.SourceVersionId">
            <summary>
            Specifies a particular version of the source object to copy. By default the latest version is copied.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetSourceVersionId">
            <summary>
            Checks if SourceVersionId property is set.
            </summary>
            <returns>true if SourceVersionId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.DestinationBucket">
            <summary>
            The name of the bucket to contain the copy of the source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetDestinationBucket">
            <summary>
            Checks if DestinationBucket property is set.
            </summary>
            <returns>true if DestinationBucket property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.DestinationKey">
            <summary>
            The key to be given to the copy of the source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetDestinationKey">
            <summary>
            Checks if DestinationKey property is set.
            </summary>
            <returns>true if DestinationKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.UploadId">
            <summary>
            The ID identifying multipart upload for which we are copying a part.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetUploadId">
            <summary>
            Checks if UploadId property is set.
            </summary>
            <returns>true if UploadId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ETagToMatch">
            <summary>
            Collection of ETags to be matched as a pre-condition for copying the source object
            otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if its entity tag (ETag) matches one of
            the specified tags; otherwise return a 412 (precondition failed).
            Constraints: This property can be used with IfUnmodifiedSince,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetETagToMatch">
            <summary>
            Checks if ETagsToMatch property is set.
            </summary>
            <returns>true if ETagToMatch property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ETagsToNotMatch">
            <summary>
            Collection of ETags that must not be matched as a pre-condition for copying the source object
            otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if its entity tag (ETag) does not match any of the specified
            tags; otherwise returns a 412 (failed condition).
            Constraints: This header can be used with IfModifiedSince, but cannot
            be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetETagToNotMatch">
            <summary>
            Checks if ETagToNotMatch property is set.
            </summary>
            <returns>true if ETagToNotMatch property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ModifiedSinceDate">
            <summary>
            Copies the object if it has been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it has been modified since the
            specified time; otherwise returns a 412 (failed condition).
            Constraints: This property can be used with ETagToNotMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetModifiedSinceDate">
            <summary>
            Checks if ModifiedSinceDate property is set.
            </summary>
            <returns>true if ModifiedSinceDate property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.UnmodifiedSinceDate">
            <summary>
            Copies the object if it has not been modified since the specified time, otherwise returns a PreconditionFailed.
            </summary>
            <remarks>
            Copies the object if it hasn't been modified since the
            specified time; otherwise returns a 412 (precondition failed).
            Constraints: This property can be used with ETagToMatch,
            but cannot be used with other conditional copy properties.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetUnmodifiedSinceDate">
            <summary>
            Checks if UnmodifiedSinceDate property is set.
            </summary>
            <returns>true if UnmodifiedSinceDate property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.PartNumber">
            <summary>
            The number of the part to be copied.
            </summary>
            <remarks>
            Valid part numbers are from 1 to 10,000 inclusive and will uniquely identify the part 
            and determine the relative ordering within the destination object.  If a part already
            exists with the PartNumber it will be overwritten.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetPartNumber">
            <summary>
            Checks if PartNumber property is set.
            </summary>
            <returns>true if PartNumber property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.FirstByte">
            <summary>
            The location of the first byte in the range if only a portion of the 
            source object is to be copied as the part. 
            </summary>
            <remarks>
            The LastByte property must also be set or this value will be ignored.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetFirstByte">
            <summary>
            Checks if FirstByte property is set.
            </summary>
            <returns>true if FirstByte property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.LastByte">
            <summary>
            The location of the last byte in the range if only a portion of the 
            source object is to be copied as the part.  
            </summary>
            <remarks>
            The FirstByte property must also be set or this value will be ignored.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetLastByte">
            <summary>
            Checks if LastByte property is set.
            </summary>
            <returns>true if LastByte property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ServerSideEncryptionMethod">
            <summary>
            <para>
            This property is obsolete. Use ServerSideEncryptionMethod in InitiateMultipartUploadRequest instead.
            </para>
            <para>
            Default: None
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetServerSideEncryptionMethod">
            <summary>
            Checks if ServerSideEncryptionMethod property is set.
            </summary>
            <returns>true if ServerSideEncryptionMethod property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            This property is obsolete. Use ServerSideEncryptionKeyManagementServiceKeyId in InitiateMultipartUploadRequest instead.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.CopySourceServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.CopySourceServerSideEncryptionCustomerProvidedKey">
            <summary>
            The customer provided encryption key for the source object of the copy.
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if CopySourceServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if CopySourceServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.CopySourceServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the CopySourceServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartRequest.IsSetCopySourceServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if CopySourceServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if CopySourceServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.Timeout">
            <summary>
            Overrides the default request timeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used
            to send requests.
            </para>
            <para>
            Please specify a timeout value only if the operation will not complete within the default intervals
            specified for an HttpWebRequest/HttpClient.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            <seealso cref="P:System.Net.HttpWebRequest.Timeout"/>
            <seealso cref="P:System.Net.Http.HttpClient.Timeout"/>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartRequest.ReadWriteTimeout">
            <summary>
            Overrides the default ReadWriteTimeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used
            to send requests.
            </para>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            </remarks>
            <seealso cref="P:System.Net.HttpWebRequest.ReadWriteTimeout"/>
            <seealso cref="P:System.Net.Http.WebRequestHandler.ReadWriteTimeout"/>
        </member>
        <member name="T:Amazon.S3.Model.CopyPartResponse">
            <summary>
            Returns information about the  CopyPart response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.CopySourceVersionId">
            <summary>
            The version of the source object that was copied, if you have enabled versioning on the source bucketName.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.ETag">
            <summary>
            Entity tag of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.LastModified">
            <summary>
            Date and time at which the object was uploaded.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.PartNumber">
            <summary>
            Gets and sets the PartNumber property.
            This is the part number in it's multi-part upload that will uniquely identify the part 
            and determine the relative ordering within the destination object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CopyPartResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.CopyPartResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.CORSConfiguration">
            <summary>
            A collection of up to 100 cross-origin resource sharing (CORS) rules.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSConfiguration.Rules">
            <summary>
            The collection of rules in this configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.CORSRule">
            <summary>C O R S Rule
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.AllowedMethods">
            <summary>
            Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.AllowedOrigins">
            <summary>
            One or more origins you want customers to be able to access the bucket from.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.Id">
            <summary>
            An optional unique identifier for the rule.
            </summary>
            <remarks>
            The ID value can be up to 255 characters long. The IDs help you find a rule in the configuration.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CORSRule.IsSetId">
            <summary>
            Checks if Id property is set.
            </summary>
            <returns>true if Id property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.ExposeHeaders">
            <summary>
            One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript
            XMLHttpRequest object).
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.MaxAgeSeconds">
            <summary>
            The time in seconds that your browser is to cache the preflight response for the specified resource.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CORSRule.AllowedHeaders">
            <summary>
            Specifies which headers are allowed in a pre-flight OPTIONS request through the 
            Access-Control-Request-Headers header. 
            </summary>
            <remarks>
            Each header name specified in the Access-Control-Request-Headers must have a corresponding 
            entry in the rule. Only the headers that were requested will be sent back. 
            This element can contain at most one * wildcard character.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.CORSRule.IsSetAllowedHeaders">
            <summary>
            Checks if AllowedHeaders property is set.
            </summary>
            <returns>true if AllowedHeaders property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.CSVInput">
            <summary>
            Describes how a CSV-formatted input object is formatted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.FileHeaderInfo">
            <summary>
            Describes the first line of input. Valid values: None, Ignore, Use.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.Comments">
            <summary>
            Single character used to indicate a row should be ignored when present at the start of a row.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.QuoteEscapeCharacter">
            <summary>
            Single character used for escaping the quote character inside an already escaped value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.RecordDelimiter">
            <summary>
            Value used to separate individual records.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.FieldDelimiter">
            <summary>
            Value used to separate individual fields in a record.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.QuoteCharacter">
            <summary>
            Value used for escaping where the field delimiter is part of the value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVInput.AllowQuotedRecordDelimiter">
            <summary>
            Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.CSVOutput">
            <summary>
            Describes how CSV-formatted results are formatted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVOutput.QuoteFields">
            <summary>
            Indicates whether or not all output fields should be quoted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVOutput.QuoteEscapeCharacter">
            <summary>
            Single character used for escaping the quote character inside an already escaped value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVOutput.RecordDelimiter">
            <summary>
            Value used to separate individual records.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVOutput.FieldDelimiter">
            <summary>
            Value used to separate individual fields in a record.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.CSVOutput.QuoteCharacter">
            <summary>
            Value used for escaping where the field delimiter is part of the value.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DefaultRetention">
            <summary>
            The container element for specifying the default Object Lock retention settings for
            new objects placed in the specified bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DefaultRetention.Days">
            <summary>
            Gets and sets the property Days. 
            <para>
            The number of days that you want to specify for the default retention period.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DefaultRetention.Mode">
            <summary>
            Gets and sets the property Mode. 
            <para>
            The default Object Lock retention mode you want to apply to new objects placed in
            the specified bucket.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DefaultRetention.Years">
            <summary>
            Gets and sets the property Years. 
            <para>
            The number of years that you want to specify for the default retention period.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest">
            <summary>
            Container for the parameters to the DeleteBucketAnalyticsConfiguration operation.
            <para>Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket from which an analytics configuration is deleted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest.AnalyticsId">
            <summary>
            The identifier used to represent an analytics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketAnalyticsConfigurationResponse">
            <summary>
            Returns information about the DeleteBucketAnalyticsConfiguration response metadata.
            The DeleteBucketAnalyticsConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketEncryptionRequest">
            <summary>
            Request object for the DeleteBucketEncryption operation.
            Request Deletes the server-side encryption configuration from the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketEncryptionRequest.BucketName">
            <summary>
            The name of the bucket containing the server-side encryption configuration to delete.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketEncryptionResponse">
            <summary>
            Returns information about the DeleteBucketEncryption response metadata.
            The DeleteBucketEncryption operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest">
            <summary>
            Container for the parameters to the DeleteInventoryConfiguration operation.
            <para>Deletes an inventory configuration (identified by the inventory ID) from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest.BucketName">
            <summary>
            The name of the bucket containing the inventory configuration to delete.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest.InventoryId">
            <summary>
            The ID used to identify the inventory configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketInventoryConfigurationResponse">
            <summary>
            Returns information about the DeleteInventoryConfiguration response metadata.
            The DeleteInventoryConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest">
            <summary>
            Container for the parameters to the DeleteBucketMetricsConfiguration operation.
            <para>Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket on which Inventory configuration is to be removed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest.MetricsId">
            <summary>
            The ID used to identify the metrics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketMetricsConfigurationResponse">
            <summary>
            Returns information about the DeleteBucketMetricsConfiguration response metadata.
            The DeleteBucketMetricsConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketPolicyRequest">
            <summary>
            Container for the parameters to the DeleteBucketPolicy operation.
            <para>Deletes the policy from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketPolicyRequest.BucketName">
            <summary>
            The bucket on which the policy is to be deleted.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketPolicyResponse">
            <summary>
            Returns information about the DeleteBucketPolicy response metadata.
            The DeleteBucketPolicy operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketReplicationRequest">
            <summary>
            Request object for the DeleteBucketReplication operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketReplicationRequest.BucketName">
            <summary>
            Gets and sets the property BucketName.
            <p>Deletes the replication subresource associated with the specified
            bucket.</p> <note> <p>There is usually some time lag before
            replication configuration deletion is fully propagated to all the
            Amazon S3 systems.</p> </note> <p> For more information, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html">
            Cross-Region Replication (CRR)</a> in the Amazon S3 Developer
            Guide. </p>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketReplicationResponse">
            <summary>
            Returns information about the DeleteBucketReplication response metadata.
            The DeleteBucketReplication operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketRequest">
            <summary>
            Container for the parameters to the DeleteBucket operation.
            <para>Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket
            itself can be deleted.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketRequest.BucketName">
            <summary>
            The name of the bucket to be created.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketRequest.BucketRegion">
            <summary>
            The region locality for the bucket.
            </summary>
            <remarks>
            When set, this will determine the region the bucket exists in.
            Refer <see cref="T:Amazon.S3.S3Region"/>
            for a list of possible values.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketRequest.UseClientRegion">
            <summary>
            If set to true the bucket will be deleted in the same region as the configuration of the AmazonS3 client.
            DeleteBucketRequest.BucketRegion takes precedence over this property if both are set.
            Default: true.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketResponse">
            <summary>
            Returns information about the DeleteBucket response metadata.
            The DeleteBucket operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketTaggingRequest">
            <summary>
            The parameters to request deletion of a tag set from a bucket.
            </summary>
            <remarks>
            To use this operation, you must have permission to perform the s3:PutBucketTagging action. 
            By default, the bucket owner has this permission and can grant this permission to others.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketTaggingRequest.BucketName">
            <summary>
            The name of the bucket on which the tag set is to be removed.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketTaggingResponse">
            <summary>
            Returns information about the DeleteBucketTagging response metadata.
            The DeleteBucketTagging operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketWebsiteRequest">
            <summary>
            Container for the parameters to the DeleteBucketWebsite operation.
            <para>This operation removes the website configuration from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteBucketWebsiteRequest.BucketName">
            <summary>
            The name of the bucket on which website configuration is to be removed.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteBucketWebsiteResponse">
            <summary>
            Returns information about the DeleteBucketWebsite response metadata.
            The DeleteBucketWebsite operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteCORSConfigurationRequest">
            <summary>
            Container for the parameters to the DeleteCORSConfiguration operation.
            <para>Deletes the cors configuration information set for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteCORSConfigurationRequest.BucketName">
            <summary>
            Gets and sets the BucketName property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteCORSConfigurationResponse">
            <summary>
            Returns information about the DeleteCORSConfiguration response metadata.
            The DeleteCORSConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeletedObject">
            <summary>
            Contains information about a successful delete operation against a specific S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeletedObject.DeleteMarker">
            <summary>
            Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a 
            delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete 
            marker was created.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeletedObject.DeleteMarkerVersionId">
            <summary>
            The version ID of the delete marker created as a result of the DELETE operation. If you delete a 
            specific object version, the value returned by this header is the version ID of the object version 
            deleted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeletedObject.Key">
            <summary>
            The key of the deleted S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeletedObject.VersionId">
            <summary>
            The version of the deleted S3 object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteError">
            <summary>
            Contains information about a failed delete operation against a specific S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteError.Key">
            <summary>
            The key of the S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteError.VersionId">
            <summary>
            The version of the S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteError.Code">
            <summary>
            The failure code for the delete error.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteError.Message">
            <summary>
            The failure message for the delete error.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteLifecycleConfigurationRequest">
            <summary>
            The parameters to request deletion of the lifecycle configuration on a bucket. 
            </summary>
            <remarks>
            <para>
            Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. 
            Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained 
            in the deleted lifecycle configuration.
            </para>
            <para>
            To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the 
            bucket owner has this permission and the bucket owner can grant this permission to others.
            </para>
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems.
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.DeleteLifecycleConfigurationRequest.BucketName">
            <summary>
            The name of the bucket on which the lifecycle configuration is to be deleted.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteLifecycleConfigurationResponse">
            <summary>
            Returns information about the DeleteLifecycleConfiguration response metadata.
            The DeleteLifecycleConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteMarkerReplication">
            <summary>
            <p>Specifies whether Amazon S3 should replicate delete makers.</p>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteMarkerReplication.Status">
            <summary>
            Gets and sets the property Status.
            <p>The status of the delete marker replication.</p> <note>
            <p> In the current implementation, Amazon S3 does not replicate
            the delete markers. Therefore, the status must be
            <code>Disabled</code>. </p> </note>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectRequest">
            <summary>
            The parameters to request deletion of an object in a bucket. 
            The operation removes the null version (if there is one) of an object and inserts a delete marker, which 
            becomes the latest version of the object.
            </summary>
            <remarks>
            <para>
            To remove a specific version, you must be the bucket owner and you must use the versionId subresource. 
            Using this subresource permanently deletes the version.
            </para>
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, 
            you must include specify the MFA serial number and value in the request.
            </para>
            <para>
            If there isn't a null version, Amazon S3 does not remove any objects.     
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.BucketName">
            <summary>
            <para>The bucket name of the bucket containing the object.</para>        
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.BypassGovernanceRetention">
            <summary>
            Gets and sets the property BypassGovernanceRetention.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.Key">
            <summary>
            The key identifying the object to delete.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.VersionId">
            <summary>
            The identifier for the specific version of the object to be deleted, if required.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectRequest.IsSetVersionId">
            <summary>
            Checks if VersionId property is set.
            </summary>
            <returns>true if VersionId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.MfaCodes">
            <summary>
            The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the
            Multi-Factor Authentication device associated with your AWS Account. 
            </summary>
            <remarks>
            This is a required property for this request if:<br />
            1. EnableMfaDelete was configured on the bucket
            containing this object's version.<br />
            2. You are deleting an object's version
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectRequest.IsSetMfaCodes">
            <summary>
            Checks if the MfaCodes property is set.
            </summary>
            <returns>true if the MfaCodes property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectResponse">
            <summary>
            Returns information about the  DeleteObject response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectResponse.DeleteMarker">
            <summary>
            Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectResponse.VersionId">
            <summary>
            Returns the version ID of the delete marker created as a result of the DELETE operation.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectsRequest">
            <summary>
            Container for the parameters to the DeleteObjects operation.
            <para>This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000
            keys.</para>
            </summary>
            <summary>
            Container for the parameters to the DeleteObjects operation.
            <para>This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000
            keys.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.BucketName">
            <summary>
            <para>The bucket name containing the objects to delete.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.BypassGovernanceRetention">
            <summary>
            Gets and sets the property BypassGovernanceRetention. 
            <para>
            Specifies whether you want to delete this object even if it has a Governance-type
            Object Lock in place. You must have sufficient permissions to perform this operation.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.Objects">
            <summary>
            List of object keys to delete.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.Quiet">
            <summary>
            Toggles between Quiet and Verbose mode for the operation.
            If set to true (Quiet mode), the response includes only those keys for objects on which
            the delete operation failed.
            </summary>
            <remarks>
            By default this property is false and keys for both successful deletes
            and failures are returned in the response.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.MfaCodes">
            <summary>
            The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the
            Multi-Factor Authentication device associated with your AWS Account. 
            </summary>
            <remarks>
            This is a required property for this request if:<br />
            1. EnableMfaDelete was configured on the bucket
            containing this object's version.<br />
            2. You are deleting an object's version
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsRequest.IsSetMfaCodes">
            <summary>
            Checks if the MfaCodes property is set.
            </summary>
            <returns>true if the MfaCodes property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsRequest.AddKey(System.String)">
            <summary>
            Add a key to the set of keys of objects to be deleted.
            </summary>
            <param name="key">Object key</param>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsRequest.AddKey(System.String,System.String)">
            <summary>
            Add a key and a version to be deleted.
            </summary>
            <param name="key">Key of the object to be deleted.</param>
            <param name="version">Version of the object to be deleted.</param>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsRequest.AddKey(Amazon.S3.Model.KeyVersion)">
            <summary>
            Add a KeyVersion object representing the S3 object to be deleted.
            </summary>
            <param name="keyVersion">KeyVersion representation of object to be deleted.</param>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectsResponse">
            <summary>
            Returns information about the  DeleteObjects response and response metadata.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsResponse.#ctor">
            <summary>
            A default constructor for DeleteObjectsResponse
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsResponse.DeletedObjects">
            <summary>
            Gets and sets the DeletedObjects property.
            A list of successful deletes.
            Set only when Quiet=false on DeleteObjectsRequest.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsResponse.DeleteErrors">
            <summary>
            Gets and sets the DeleteErrors property.
            A list of errors encountered while deleting objects.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectsResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsResponse.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about DeleteObjectsResponse
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectsResponse.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
             Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the DeleteObjectsResponse.
            </summary>
             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectTaggingRequest">
            <summary>
             Container for the parameters to the DeleteObjectTaggingRequest operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectTaggingRequest.BucketName">
            <summary>
            <para>The bucket name containing the objects from which to remove the tags.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectTaggingRequest.IsSetBucketName">
            <summary>
            Check to see if Bucket property is set 
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectTaggingRequest.Key">
            <summary>
            The key identifying the object tagging to delete.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectTaggingRequest.IsSetKey">
            <summary>
            Check to see if Key property is set
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectTaggingRequest.VersionId">
            <summary>
            The identifier for the specific version of the object to be deleted, if required.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectTaggingRequest.IsSetVersionId">
            <summary>
            Checks if VersionId property is set.
            </summary>
            <returns>true if VersionId property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.DeleteObjectTaggingResponse">
            <summary>
            Returns information about the  DeleteObjectTagging response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeleteObjectTaggingResponse.VersionId">
            <summary>
            Returns the version ID of the delete marker created as a result of the DELETE operation.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.DeleteObjectTaggingResponse.IsSetVersionId">
            <summary>
            Check to see if VersionId property is set
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeletePublicAccessBlockRequest">
            <summary>
            Container for the parameters to the DeletePublicAccessBlock operation.
            Removes the Public Access Block configuration for an Amazon S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.DeletePublicAccessBlockRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
            The Amazon S3 bucket whose Public Access Block configuration you want to delete.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.DeletePublicAccessBlockResponse">
            <summary>
            This is the response object from the DeletePublicAccessBlock operation.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.EncryptionConfiguration">
            <summary>
            EncryptionConfiguration class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.EncryptionConfiguration.ReplicaKmsKeyID">
            <summary>
            The ID of the AWS KMS key for the region where the destination bucket
            resides. Amazon S3 uses this key to encrypt the replica object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ContinuationEvent">
            <summary>
            The Continuation Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ContinuationEvent.#ctor">
            <summary>
            Constructs a Continuation Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ContinuationEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Constructs a Continuation Event.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Amazon.S3.Model.EndEvent">
            <summary>
            The End Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.EndEvent.#ctor">
            <summary>
            Constructs an End Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.EndEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Constructs an End Event.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Amazon.S3.Model.IS3Event">
            <summary>
            Common Contract for S3 Events.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Progress">
            <summary>
            The Progress event details.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Progress.BytesScanned">
            <summary>
            Current number of object bytes scanned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Progress.BytesProcessed">
            <summary>
            Current number of uncompressed object bytes processed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Progress.BytesReturned">
            <summary>
            Total number of bytes of records payload data returned.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Progress.#ctor">
            <summary>
            Constructs a instance of Progress.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ProgressEvent">
            <summary>
            The Progress Event.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ProgressEvent.Details">
            <summary>
            The Progress event details.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ProgressEvent.#ctor">
            <summary>
            Constructs a ProgressEvent.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ProgressEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Constructs a ProgressEvent.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Amazon.S3.Model.RecordsEvent">
            <summary>
            The Records Event
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RecordsEvent.Payload">
            <summary>
            The byte array of partial, one or more result records.
            <para></para>
            Payload is a <see cref="T:System.IO.Stream"/>, which is not thread-safe.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.RecordsEvent.#ctor">
            <summary>
            Constructs a RecordsEvent
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.RecordsEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Creates a new End Event.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Amazon.S3.Model.S3EventStreamException">
            <summary>
            Modeled Exception that either comes over the stream from the service model, or wraps other exceptions for the purpose of raising events. If it is
            modelled, it will be a subclass.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.S3EventStreamException.#ctor">
            <summary>
            Creates a new S3EventStreamException
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.S3EventStreamException.#ctor(System.String)">
            <summary>
            Creates a new S3EventStreamException
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Amazon.S3.Model.S3EventStreamException.#ctor(System.String,System.Exception)">
            <summary>
            Creates a new S3EventStreamException
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
        </member>
        <member name="M:Amazon.S3.Model.S3EventStreamException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructs a new instance of the S3EventStreamException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
        </member>
        <member name="T:Amazon.S3.Model.ISelectObjectContentEventStream">
            <summary>
            The contract for the SelectObjectContentEventStream.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.EventReceived">
            <summary>
            Event that encompasses all IS3Events.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.ExceptionReceived">
            <summary>
            Event that encompasses S3EventStreamExceptions.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.RecordsEventReceived">
            <summary>
            Reaised when a Records event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.StatsEventReceived">
            <summary>
            Reaised when a Stats event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.ProgressEventReceived">
            <summary>
            Reaised when a Progress event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.ContinuationEventReceived">
            <summary>
            Reaised when a Continuation event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.ISelectObjectContentEventStream.EndEventReceived">
            <summary>
            Reaised when an End event is received.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SelectObjectContentEventStream">
            <summary>
            A Stream of Events returned by the SelectObjectContent operation. Events can be retrieved from this stream by either
            <list type="bullet">
              <item><description>attaching handlers to listen events, and then call StartProcessing <i>or</i></description></item>
              <item><description>enumerating over the events.</description></item>
            </list>
            <para></para>
            These options should be treaded as mutually exclusive.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentEventStream.EventMapping">
            <summary>
            The mapping of event message to a generator function to construct the matching Event Stream event.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentEventStream.ExceptionMapping">
            <summary>
            The mapping of event message to a generator function to construct the matching Event Stream exception.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentEventStream.IsProcessing">
            <summary>
            Whether the backround processing loop is running.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.EventReceived">
            <summary>
            Event that encompasses all IS3Events.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.ExceptionReceived">
            <summary>
            Event that encompasses S3EventStreamExceptions.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.RecordsEventReceived">
            <summary>
            Reaised when a Records event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.StatsEventReceived">
            <summary>
            Reaised when a Stats event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.ProgressEventReceived">
            <summary>
            Reaised when a Progress event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.ContinuationEventReceived">
            <summary>
            Reaised when a Continuation event is received.
            </summary>
        </member>
        <member name="E:Amazon.S3.Model.SelectObjectContentEventStream.EndEventReceived">
            <summary>
            Reaised when an End event is received.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.SelectObjectContentEventStream.#ctor(System.IO.Stream)">
            <summary>
            Event Stream returned by SelectObjectContentStream.
            <para></para>
            Events can be retrieved from this stream by either
            <list type="bullet">
              <item><description>attaching handlers to listen events, and then call StartProcessing <i>or</i></description></item>
              <item><description>enumerating over the events.</description></item>
            </list>
            <para></para>
            These options should be treated as mutually exclusive.
            </summary>
            <param name="selectObjectStream">The network stream which events will be parsed from.</param>
        </member>
        <member name="M:Amazon.S3.Model.SelectObjectContentEventStream.#ctor(System.IO.Stream,Amazon.Runtime.EventStreams.Internal.IEventStreamDecoder)">
            <summary>
            Event Stream returned by SelectObjectContentStream.
            <para></para>
            Events can be retrieved from this stream by either
            <list type="bullet">
              <item><description>attaching handlers to listen events, and then call StartProcessing <i>or</i></description></item>
              <item><description>enumerating over the events.</description></item>
            </list>
            <para></para>
            These options should be treaded as mutually exclusive.
            </summary>
            <param name="selectObjectStream">The network stream which events will be parsed from.</param>
            <param name="eventStreamDecoder">The decoder responsible for parsing events.</param>
        </member>
        <member name="T:Amazon.S3.Model.Stats">
            <summary>
            The Stats event details.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Stats.BytesScanned">
            <summary>
            Total number of object bytes scanned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Stats.BytesProcessed">
            <summary>
            Total number of uncompressed object bytes processed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Stats.BytesReturned">
            <summary>
            Total number of bytes of records payload data returned.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Stats.#ctor">
            <summary>
            Constructs an instance of Stats.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.StatsEvent">
            <summary>
            The Stats Event.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StatsEvent.Details">
            <summary>
            The Stats event details.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.StatsEvent.#ctor">
            <summary>
            Constructs a StatsEvent
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.StatsEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Constructs a ProgressEvent.
            </summary>
            <param name="message"></param>
        </member>
        <member name="T:Amazon.S3.Model.UnknownEventStreamEvent">
            <summary>
            This Event is returned if an event is retrieved from the event stream, but a generator function
            for the event is not defined.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UnknownEventStreamEvent.#ctor">
            <summary>
            Constructs an UnknownEventStreamEvent.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UnknownEventStreamEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage)">
            <summary>
            Constructs an UnknownEventStreamEvent.
            </summary>
            <param name="receivedMessage">The Message recieved from the event stream before conversion.</param>
        </member>
        <member name="M:Amazon.S3.Model.UnknownEventStreamEvent.#ctor(Amazon.Runtime.EventStreams.IEventStreamMessage,System.String)">
             <summary>
            Constructs an UnknownEventStreamEvent.
             </summary>
             <param name="receivedMessage">The Message recieved from the event stream before conversion.</param>
             <param name="eventType">The event type.</param>
        </member>
        <member name="T:Amazon.S3.Model.ExistingObjectReplication">
            <summary>
            A container that specifies information about existing object replication. You can choose whether to enable or disable the replication of existing objects.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ExistingObjectReplication.Status">
            <summary>
            Specifies whether existing object replication is enabled.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Expiration">
            <summary>
            Defines the expiration policy for a given object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Expiration.ExpiryDate">
            <summary>
            This property is deprecated. This property exposes a DateTime of kind Unspecified. Use ExpiryDateUtc instead.
            The date and time for expiry.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Expiration.ExpiryDateUtc">
            <summary>
            The date and time for expiry.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Expiration.RuleId">
            <summary>
            Id of the configuration rule for this expiry.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.Expiration.#ctor">
            <summary>
            Constructs an empty instance of an Expiration object
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Filter">
            <summary>Bucket
            Represents a set of filter criteria that limits the objects that can trigger event notifications
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Filter.S3KeyFilter">
            <summary>
            Filter criteria that limits the objects that can trigger event notifications based on their S3 Key name.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.FilterRule">
            <summary>Bucket
            Represents a Filter Rule for a NotificationConfiguration.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.FilterRule.#ctor">
            <summary>
            Constructs an empty FilterRule.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.FilterRule.#ctor(System.String,System.String)">
            <summary>
            Constructs a FilterRule with a specific name and value.
            </summary>
            <param name="name"></param>
            <param name="value"></param>
        </member>
        <member name="P:Amazon.S3.Model.FilterRule.Name">
            <summary>
            The name of the filter rule.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.FilterRule.Value">
            <summary>
            The value of the filter rule.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetACLRequest">
            <summary>
            Container for the parameters to the GetACL operation.
            <para>Returns the access control list (ACL) of an object.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetACLRequest.BucketName">
            <summary>
            <para>The bucket name that contains the object for which to get the ACL information.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetACLRequest.Key">
            <summary>
            The key of the S3 object to be queried.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetACLRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetACLResponse">
            <summary>
            Returns information about the GetACL response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetACLResponse.AccessControlList">
            <summary>
            Gets and sets the AccessControlList property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketAccelerateConfigurationRequest">
            <summary>
            Container for the parameters to the GetBucketAccelerateConfiguration operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketAccelerateConfigurationRequest.BucketName">
            <summary>
            The name of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketAccelerateConfigurationResponse">
            <summary>
            The response class for GetBucketAccelerateConfiguration operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketAccelerateConfigurationResponse.Status">
            <summary>
            The accelerate status of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest">
            <summary>
            Container for the parameters to the GetBucketAnalyticsConfiguration operation.
            <para>Gets an analytics configuration for the bucket (specified by the analytics configuration ID).</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket from which an analytics configuration is retrieved.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest.AnalyticsId">
            <summary>
            The identifier used to represent an analytics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketAnalyticsConfigurationResponse">
            <summary>
            GetBucketAnalyticsConfigurationResponse Response
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketAnalyticsConfigurationResponse.AnalyticsConfiguration">
            <summary>
            The configuration and any analyses for the analytics filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketEncryptionRequest">
            <summary>
            Container for the parameters to the GetBucketEncryptionRequest operation.
            <para>Returns the server-side encryption configuration of a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketEncryptionRequest.BucketName">
            <summary>
            The name of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketEncryptionResponse">
            <summary>
            GetBucketEncryptionResponse Response
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketEncryptionResponse.ServerSideEncryptionConfiguration">
            <summary>
            Container for server-side encryption configuration rules. Currently S3 supports one rule only.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketInventoryConfigurationRequest">
            <summary>
            Container for the parameters to the GetInventoryConfigurationRequest operation.
            <para>Returns an inventory configuration (identified by the inventory ID) from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketInventoryConfigurationRequest.BucketName">
            <summary>
            The name of the bucket containing the inventory configuration to retrieve.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketInventoryConfigurationRequest.InventoryId">
            <summary>
            The ID used to identify the inventory configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketInventoryConfigurationResponse">
            <summary>
            GetInventoryConfigurationResponse Response
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketInventoryConfigurationResponse.InventoryConfiguration">
            <summary>
            Specifies the inventory configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketLocationRequest">
            <summary>
            Container for the parameters to the GetBucketLocation operation.
            <para>Returns the region the bucket resides in.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketLocationRequest.BucketName">
            <summary>
            Gets and sets the BucketName.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketLocationResponse">
            <summary>
            Returns information about the GetBucketLocation response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketLocationResponse.Location">
            <summary>
            Gets and sets the Location property.
            If the the bucket is located in us-east-1 S3Region.US will be return which has a 
            value of empty string.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketLoggingRequest">
            <summary>
            Container for the parameters to the GetBucketLogging operation.
            <para>Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the
            bucket owner.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketLoggingRequest.BucketName">
            <summary>
            The name of the bucket to query.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketLoggingResponse">
            <summary>
            Returns information about the  GetBucketLogging response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketLoggingResponse.BucketLoggingConfig">
            <summary>
            Gets and sets the LoggingConfig property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketMetricsConfigurationRequest">
            <summary>
            Container for the parameters to the GetBucketMetricsConfiguration operation.
            <para>Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketMetricsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket containing the metrics configuration to retrieve.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketMetricsConfigurationRequest.MetricsId">
            <summary>
            The ID used to identify the metrics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketMetricsConfigurationResponse">
            <summary>
            GetBucketMetricsConfiguration Response
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketMetricsConfigurationResponse.MetricsConfiguration">
            <summary>
            Specifies the metrics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketNotificationRequest">
            <summary>
            Container for the parameters to the GetBucketNotification operation.
            <para>Return the notification configuration of a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketNotificationRequest.BucketName">
            <summary>
            Gets and sets the BucketName.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketNotificationResponse">
            <summary>
            Returns information about the  GetBucketNotification response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketNotificationResponse.TopicConfigurations">
            <summary>
            Gets and sets the TopicConfigurations property. TopicConfigurations are configuration 
            for Amazon S3 events to be sent to Amazon SNS topics.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketNotificationResponse.QueueConfigurations">
            <summary>
            Gets and sets the QueueConfigurations property. QueueConfigurations are configuration 
            for Amazon S3 events to be sent to Amazon SQS queues.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketNotificationResponse.LambdaFunctionConfigurations">
            <summary>
            Gets and sets the LambdaFunctionConfigurations property. LambdaFunctionConfigurations are configuration 
            for Amazon S3 events to be sent to an Amazon Lambda cloud function.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketPolicyRequest">
            <summary>
            Container for the parameters to the GetBucketPolicy operation.
            <para>Returns the policy of a specified bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketPolicyRequest.BucketName">
            <summary>
            The name of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketPolicyResponse">
            <summary>
            Get BucketName Policy Response
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketPolicyResponse.Policy">
            <summary>
            The bucket policy as a JSON document.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketPolicyStatusRequest">
            <summary>
            Container for the parameters to the GetBucketPolicyStatus operation.
            Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket
            is public.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketPolicyStatusRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
            The name of the Amazon S3 bucket whose public-policy status you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketPolicyStatusResponse">
            <summary>
            This is the response object from the GetBucketPolicyStatus operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketPolicyStatusResponse.PolicyStatus">
            <summary>
            The public-policy status for this bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketReplicationRequest">
            <summary>
            Container for the parameters to the GetBucketReplicationConfiguration operation.
            <para>Returns the replication configuration information set on the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketReplicationRequest.BucketName">
            <summary>
            Gets and sets the BucketName.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketReplicationResponse">
            <summary>
            Returns information about the  GetReplicationConfiguration response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketReplicationResponse.Configuration">
            <summary>
            The replication configuration for the buccket specified in the request.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketRequestPaymentRequest">
            <summary>
            Container for the parameters to the GetBucketRequestPayment operation.
            <para>Returns the request payment configuration of a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketRequestPaymentRequest.BucketName">
            <summary>
            The name of the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketRequestPaymentResponse">
            <summary>
            Returns information about the  GetBucketRequestPayment response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketRequestPaymentResponse.Payer">
            <summary>
            Specifies who pays for the download and request fees.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketTaggingRequest">
            <summary>
            Container for the parameters to the GetBucketTagging operation.
            <para>Returns the tag set associated with the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketTaggingRequest.BucketName">
            <summary>
            The name of the bucket to be queried.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketTaggingResponse">
            <summary>
            Returns information about the  GetBucketTagging response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketTaggingResponse.TagSet">
            <summary>
            The collection of tags.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketVersioningRequest">
            <summary>
            Container for the parameters to the GetBucketVersioning operation.
            <para>Returns the versioning state of a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketVersioningRequest.BucketName">
            <summary>
            The name of the bucket to be queried.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketVersioningResponse">
            <summary>
            Returns information about the  GetBucketVersioning response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketVersioningResponse.VersioningConfig">
            <summary>
            Gets and sets the Versioning property.
            Unless Versioning has been explicitly "Enabled" on a bucket,
            Versioning Status is "Off". Once Versioning has been 
            "Enabled", it can be "Suspended" but cannot be switched "Off".
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketWebsiteRequest">
            <summary>
            Container for the parameters to the GetBucketWebsite operation.
            <para>Returns the website configuration for a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketWebsiteRequest.BucketName">
            <summary>
            The name of the bucket to be queried.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetBucketWebsiteResponse">
            <summary>
            Returns information about the  GetBucketWebsite response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetBucketWebsiteResponse.WebsiteConfiguration">
            <summary>
            Gets and sets the WebsiteConfiguration property.
            
            This is where the index document suffix and custom error page are defined.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetCORSConfigurationRequest">
            <summary>
            Container for the parameters to the GetBucketCors operation.
            <para>Returns the cors configuration for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetCORSConfigurationRequest.BucketName">
            <summary>
            Gets and sets the BucketName.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetCORSConfigurationResponse">
            <summary>
            Returns information about the  GetBucketCors response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetCORSConfigurationResponse.Configuration">
            <summary>
            The current CORSConfiguration for the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetLifecycleConfigurationRequest">
            <summary>
            Container for the parameters to the GetLifecycleConfiguration operation.
            <para>Returns the lifecycle configuration information set on the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetLifecycleConfigurationRequest.BucketName">
            <summary>
            Gets and sets the BucketName.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetLifecycleConfigurationResponse">
            <summary>
            Returns information about the  GetLifecycleConfiguration response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetLifecycleConfigurationResponse.Configuration">
            <summary>
            Gets and Sets the property that governs whether
            the response includes successful deletes as well as errors
            following the DeleteObjects call against S3.
            
            By default this property is false and successful deletes
            are returned in the response.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectLegalHoldRequest">
            <summary>
            Container for the parameters to the GetObjectLegalHold operation.
            Gets an object's current Legal Hold status.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLegalHoldRequest.BucketName">
            <summary>
            <para>The bucket name containing the object whose Legal Hold status you want to retrieve.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLegalHoldRequest.Key">
            <summary>
            Gets and sets the property Key. 
            <para>
            The key name for the object whose Legal Hold status you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLegalHoldRequest.RequestPayer">
            <summary>
            Gets and sets the property RequestPayer.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLegalHoldRequest.VersionId">
            <summary>
            Gets and sets the property VersionId. 
            <para>
            The version ID of the object whose Legal Hold status you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectLegalHoldResponse">
            <summary>
            This is the response object from the GetObjectLegalHold operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLegalHoldResponse.LegalHold">
            <summary>
            Gets and sets the property LegalHold. 
            <para>
            The current Legal Hold status for the specified object.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectLockConfigurationRequest">
            <summary>
            Container for the parameters to the GetObjectLockConfiguration operation.
            Gets the Object Lock configuration for a bucket. The rule specified in the Object
            Lock configuration will be applied by default to every new object placed in the specified
            bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLockConfigurationRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
            The bucket whose Object Lock configuration you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectLockConfigurationResponse">
            <summary>
            This is the response object from the GetObjectLockConfiguration operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectLockConfigurationResponse.ObjectLockConfiguration">
            <summary>
            Gets and sets the property ObjectLockConfiguration. 
            <para>
            The specified bucket's Object Lock configuration.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectMetadataRequest">
            <summary>
            Container for the parameters to the HeadObject operation.
            <para>The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you''re only
            interested in an object''s metadata. To use HEAD, you must have READ access to the object.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.BucketName">
            <summary>
            The name of the bucket that contains the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.EtagToMatch">
            <summary>
            ETag to be matched as a pre-condition for returning the object,
            otherwise a PreconditionFailed signal is returned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.ModifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use ModifiedSinceDateUtc instead. Setting either ModifiedSinceDate or
            ModifiedSinceDateUtc results in both ModifiedSinceDate and ModifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            ModifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Returns the object only if it has been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.ModifiedSinceDateUtc">
            <summary>
            Returns the object only if it has been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.EtagToNotMatch">
            <summary>
            ETag that should not be matched as a pre-condition for returning the object,
            otherwise a PreconditionFailed signal is returned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.UnmodifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use UnmodifiedSinceDateUtc instead. Setting either UnmodifiedSinceDate or
            UnmodifiedSinceDateUtc results in both UnmodifiedSinceDate and UnmodifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            UnmodifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Returns the object only if it has not been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.UnmodifiedSinceDateUtc">
            <summary>
            Returns the object only if it has not been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.Key">
            <summary>
            The key of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to decrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.PartNumber">
            <summary>
            Part number of the object being read. This is a positive integer between 1 and 10,000.
            Effectively performs a 'ranged' HEAD request for the part specified.
            Useful querying about the size of the part and the number of parts in this object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataRequest.IsSetPartNumber">
            <summary>
            Check if PartNumber property is set.
            </summary>
            <returns>true if PartNumber property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectMetadataResponse">
            <summary>
            Returns information about the  HeadObject response and response metadata.
            </summary>
        </member>
        <member name="F:Amazon.S3.Model.GetObjectMetadataResponse.isExpiresUnmarshalled">
            <summary>
            Flag which returns true if the Expires property has been unmarshalled
            from the raw value or set by user code.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.DeleteMarker">
            <summary>
            Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the
            response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.AcceptRanges">
            <summary>
            Gets and sets the AcceptRanges.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ContentRange">
            <summary>
            Gets and sets the ContentRange.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.Expiration">
            <summary>
            Gets and sets the Expiration property.
            Specifies the expiration date for the object and the
            rule governing the expiration.
            Is null if expiration is not applicable.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.RestoreExpiration">
            <summary>
            Gets and sets the RestoreExpiration property.
            RestoreExpiration will be set for objects that have been restored from Amazon Glacier.  
            It indiciates for those objects how long the restored object will exist.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.RestoreInProgress">
            <summary>
            Gets and sets the RestoreInProgress
            Will be true when the object is in the process of being restored from Amazon Glacier.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.LastModified">
            <summary>
            Last modified date of the object
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ETag">
            <summary>
            An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.MissingMeta">
            <summary>
            This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like
            SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal
            HTTP headers.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.VersionId">
            <summary>
            Version of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.Expires">
            <summary>
            The date and time at which the object is no longer cacheable.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.WebsiteRedirectLocation">
            <summary>
            If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL.
            Amazon S3 stores the value of this header in the object metadata.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ReplicationStatus">
            <summary>
            The status of the replication job associated with this source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataResponse.IsSetReplicationStatus">
            <summary>
            Checks if ReplicationStatus property is set.
            </summary>
            <returns>true if ReplicationStatus property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.PartsCount">
            <summary>
            The count of parts this object has.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ObjectLockLegalHoldStatus">
            <summary>
            Gets and sets the property ObjectLockLegalHoldStatus. 
            <para>
            The Legal Hold status for the specified object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ObjectLockMode">
            <summary>
            Gets and sets the property ObjectLockMode. 
            <para>
            The Object Lock mode currently in place for this object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.ObjectLockRetainUntilDate">
            <summary>
            Gets and sets the property ObjectLockRetainUntilDate. 
            <para>
            The date and time when this object's Object Lock will expire.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectMetadataResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectMetadataResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectRequest">
            <summary>
            Container for the parameters to the GetObject operation.
            <para>Retrieves objects from Amazon S3.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.BucketName">
            <summary>
            <para>The bucket name containing the object.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.EtagToMatch">
            <summary>
            ETag to be matched as a pre-condition for returning the object,
            otherwise a PreconditionFailed signal is returned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ModifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use ModifiedSinceDateUtc instead. Setting either ModifiedSinceDate or
            ModifiedSinceDateUtc results in both ModifiedSinceDate and ModifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            ModifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Returns the object only if it has been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ModifiedSinceDateUtc">
            <summary>
            Returns the object only if it has been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.EtagToNotMatch">
            <summary>
            ETag that should not be matched as a pre-condition for returning the object,
            otherwise a PreconditionFailed signal is returned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.UnmodifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use UnmodifiedSinceDateUtc instead. Setting either UnmodifiedSinceDate or
            UnmodifiedSinceDateUtc results in both UnmodifiedSinceDate and UnmodifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            UnmodifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Returns the object only if it has not been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.UnmodifiedSinceDateUtc">
            <summary>
            Returns the object only if it has not been modified since the specified time, 
            otherwise returns a PreconditionFailed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.Key">
            <summary>
            Gets and sets the Key property. This is the user defined key that identifies the object in the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ByteRange">
            <summary>
            Downloads the specified range bytes of an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ResponseHeaderOverrides">
            <summary>
            A set of response headers that should be returned with the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ResponseExpires">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use ResponseExpiresUtc instead. Setting either ResponseExpires or
            ResponseExpiresUtc results in both ResponseExpires and ResponseExpiresUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            ResponseExpires is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            Sets the Expires header of the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ResponseExpiresUtc">
            <summary>
            Sets the Expires header of the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to decrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>        
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.PartNumber">
            <summary>
            Part number of the object being read. This is a positive integer between 1 and 10,000.
            Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectRequest.IsSetPartNumber">
            <summary>
            Checks if PartNumber property is set.
            </summary>
            <returns>true if PartNumber property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectResponse">
            <summary>
            Returns information about the  GetObject response and response metadata.
            </summary>
        </member>
        <member name="F:Amazon.S3.Model.GetObjectResponse.isExpiresUnmarshalled">
            <summary>
            Flag which returns true if the Expires property has been unmarshalled
            from the raw value or set by user code.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.BucketName">
            <summary>
            Gets and sets the BucketName property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.Key">
            <summary>
            Gets and sets the Key property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.DeleteMarker">
            <summary>
            Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the
            response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.AcceptRanges">
            <summary>
            Gets and sets the AcceptRanges.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ContentRange">
            <summary>
            Gets and sets the ContentRange.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.Expiration">
            <summary>
            Gets and sets the Expiration property.
            Specifies the expiration date for the object and the
            rule governing the expiration.
            Is null if expiration is not applicable.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.RestoreExpiration">
            <summary>
            Gets and sets the RestoreExpiration property.
            RestoreExpiration will be set for objects that have been restored from Amazon Glacier.  
            It indiciates for those objects how long the restored object will exist.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.RestoreInProgress">
            <summary>
            Gets and sets the RestoreInProgress
            Will be true when the object is in the process of being restored from Amazon Glacier.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.LastModified">
            <summary>
            Last modified date of the object
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ETag">
            <summary>
            An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.MissingMeta">
            <summary>
            This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like
            SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal
            HTTP headers.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.VersionId">
            <summary>
            Version of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.Expires">
            <summary>
            The date and time at which the object is no longer cacheable.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ObjectLockLegalHoldStatus">
            <summary>
            Gets and sets the property ObjectLockLegalHoldStatus.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ObjectLockMode">
            <summary>
            Gets and sets the property ObjectLockMode. 
            <para>
            The Object Lock mode currently in place for this object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ObjectLockRetainUntilDate">
            <summary>
            Gets and sets the property ObjectLockRetainUntilDate. 
            <para>
            The date and time when this object's Object Lock will expire.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.WebsiteRedirectLocation">
            <summary>
            If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL.
            Amazon S3 stores the value of this header in the object metadata.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ReplicationStatus">
            <summary>
            The status of the replication job associated with this source object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.IsSetReplicationStatus">
            <summary>
            Checks if ReplicationStatus property is set.
            </summary>
            <returns>true if ReplicationStatus property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.PartsCount">
            <summary>
            The number of parts this oject has.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.IsSetPartsCount">
            <summary>
            Checks if PartsCount is set.
            </summary>
            <returns>true if PartsCount property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectResponse.TagCount">
            <summary>
            The number of tags, if any, on the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.WriteResponseStreamToFile(System.String)">
            <summary>
            Writes the content of the ResponseStream a file indicated by the filePath argument.
            </summary>
            <param name="filePath">The location where to write the ResponseStream</param>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.WriteResponseStreamToFile(System.String,System.Boolean)">
            <summary>
            Writes the content of the ResponseStream a file indicated by the filePath argument.
            </summary>
            <param name="filePath">The location where to write the ResponseStream</param>
            <param name="append">Whether or not to append to the file if it exists</param>
        </member>
        <member name="E:Amazon.S3.Model.GetObjectResponse.WriteObjectProgressEvent">
            <summary>
            The event for Write Object progress notifications. All
            subscribers will be notified when a new progress
            event is raised.
            </summary>
            <remarks>
            Subscribe to this event if you want to receive
            put object progress notifications. Here is how:<br />
            1. Define a method with a signature similar to this one:
            <code>
            private void displayProgress(object sender, WriteObjectProgressArgs args)
            {
                Console.WriteLine(args);
            }
            </code>
            2. Add this method to the Put Object Progress Event delegate's invocation list
            <code>
            GetObjectResponse response = s3Client.GetObject(request);
            response.WriteObjectProgressEvent += displayProgress;
            </code>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.OnRaiseProgressEvent(System.String,System.Int64,System.Int64,System.Int64,System.Boolean)">
            <summary>
            This method is called by a producer of write object progress
            notifications. When called, all the subscribers in the 
            invocation list will be called sequentially.
            </summary>
            <param name="file">The file being written.</param>
            <param name="incrementTransferred">The number of bytes transferred since last event</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
            <param name="completed">True if transfer is complete</param>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectResponse.WriteResponseStreamToFileAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Writes the content of the ResponseStream a file indicated by the filePath argument.
            </summary>
            <param name="filePath">The location where to write the ResponseStream</param>
            <param name="append">Whether or not to append to the file if it exists</param>
            <param name="cancellationToken">Cancellation token which can be used to cancel this operation.</param>
        </member>
        <member name="T:Amazon.S3.Model.WriteObjectProgressArgs">
            <summary>
            Encapsulates the information needed to provide
            download progress for the Write Object Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.WriteObjectProgressArgs.#ctor(System.String,System.String,System.String,System.Int64,System.Int64,System.Int64,System.Boolean)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="bucketName">The bucket name for the S3 object being written.</param>
            <param name="key">The object key for the S3 object being written.</param>
            <param name="versionId">The version-id of the S3 object.</param>
            <param name="incrementTransferred">The number of bytes transferred since last event</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
            <param name="completed">True if finished writing</param>
        </member>
        <member name="M:Amazon.S3.Model.WriteObjectProgressArgs.#ctor(System.String,System.String,System.String,System.String,System.Int64,System.Int64,System.Int64,System.Boolean)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="bucketName">The bucket name for the S3 object being written.</param>
            <param name="key">The object key for the S3 object being written.</param>
            <param name="filePath">The file for the S3 object being written.</param>
            <param name="versionId">The version-id of the S3 object.</param>
            <param name="incrementTransferred">The number of bytes transferred since last event</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
            <param name="completed">True if finished writing</param>
        </member>
        <member name="P:Amazon.S3.Model.WriteObjectProgressArgs.BucketName">
            <summary>
            Gets the bucket name for the S3 object being written.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WriteObjectProgressArgs.Key">
            <summary>
            Gets the object key for the S3 object being written.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WriteObjectProgressArgs.VersionId">
            <summary>
            Gets the version-id of the S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WriteObjectProgressArgs.FilePath">
            <summary>
            The file for the S3 object being written.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WriteObjectProgressArgs.IsCompleted">
            <summary>
            True if writing is complete
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectRetentionRequest">
            <summary>
            Container for the parameters to the GetObjectRetention operation.
            Retrieves an object's retention settings.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRetentionRequest.BucketName">
            <summary>
            <para>The bucket name containing the object whose retention settings you want to retrieve.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRetentionRequest.Key">
            <summary>
            Gets and sets the property Key. 
            <para>
            The key name for the object whose retention settings you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRetentionRequest.RequestPayer">
            <summary>
            Gets and sets the property RequestPayer.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRetentionRequest.VersionId">
            <summary>
            Gets and sets the property VersionId. 
            <para>
            The version ID for the object whose retention settings you want to retrieve.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectRetentionResponse">
            <summary>
            This is the response object from the GetObjectRetention operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectRetentionResponse.Retention">
            <summary>
            Gets and sets the property Retention. 
            <para>
            The container element for an object's retention settings.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectTaggingRequest">
            <summary>
            Container for the parameters to the GetObjectTaggingRequest operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTaggingRequest.BucketName">
            <summary>
            <para>The bucket name containing the object for which to get the tagging information.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectTaggingRequest.IsSetBucketName">
            <summary>
            Check to see if Bucket property is set
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTaggingRequest.Key">
            <summary>
            Gets and sets the Key property. This is the user defined key that identifies the object in the bucket.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectTaggingRequest.IsSetKey">
            <summary>
            Check to see if Key property is set
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTaggingRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectTaggingResponse">
            <summary>
            Returns information about the  GetObjectTagging response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTaggingResponse.Tagging">
            <summary>
            Gets or sets tag-set for a given object
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectTorrentRequest">
            <summary>
            Container for the parameters to the GetObjectTorrent operation.
            <para>Return torrent files from a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTorrentRequest.BucketName">
            <summary>
            The name of the bucket containing the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTorrentRequest.Key">
            <summary>
            The key identifying the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTorrentRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectTorrentRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.GetObjectTorrentResponse">
            <summary>
            Returns information about the  GetObjectTorrent response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetObjectTorrentResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetObjectTorrentResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.GetPreSignedUrlRequest">
            <summary>
            The parameters to create a pre-signed URL to a bucket or object. 
            </summary>
            <remarks>
            For more information, refer to: <see href="http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html"/>.
            <br />Required Parameters: BucketName, Expires
            <br />Optional Parameters: Key, VersionId, Verb: default is GET
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.BucketName">
            <summary>
            The name of the bucket to create a pre-signed url to, or containing the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetBucketName">
            <summary>
            Checks if BucketName property is set.
            </summary>
            <returns>true if BucketName property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Key">
            <summary>
            The key to the object for which a pre-signed url should be created.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetKey">
            <summary>
            Checks if Key property is set.
            </summary>
            <returns>true if Key property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.ContentType">
            <summary>
            A standard MIME type describing the format of the object data.
            </summary>
            <remarks>
            <para>
            The content type for the content being uploaded. This property defaults to "binary/octet-stream".
            For more information, refer to: <see href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17"/>.
            </para>
            <para>
            Note that if content type is specified, it should also be included in the HttpRequest headers
            of the eventual upload request, otherwise a signature error may result.
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Expires">
            <summary>
            The expiry date and time for the pre-signed url.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetExpires">
            <summary>
            Checks if Expires property is set.
            </summary>
            <returns>true if Expires property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Protocol">
            <summary>
            The requested protocol (http/https) for the pre-signed url.
            </summary>
            <remarks>
            Defaults to https.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Verb">
            <summary>
            The verb for the pre-signed url. 
            </summary>
            <remarks>
            Accepted verbs are GET, PUT, DELETE and HEAD.
            Default is GET.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.VersionId">
            <summary>
            Version id for the object that the pre-signed url will reference. If not set,
            the url will reference the latest version of the object.
            </summary>
            <remarks>
            This is the VersionId for the S3 Object you want to get
            a PreSigned URL for. The VersionId property will be ignored
            for PreSigned "PUT" requests and for requests that don't specify
            the Key property.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetVersionId">
            <summary>
            Checks if VersionId property is set.
            </summary>
            <returns>true if VersionId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.UploadId">
            <summary>
            The upload id for the multipart upload for which a pre-signed url should be created.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetUploadId">
            <summary>
            Checks if UploadId property is set.
            </summary>
            <returns>true if UploadId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.PartNumber">
            <summary>
            The part number for the multipart upload for which a pre-signed url should be created.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetPartNumber">
            <summary>
            Checks if PartNumber property is set.
            </summary>
            <returns>true if PartNumber property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.ServerSideEncryptionMethod">
            <summary>
            Specifies the encryption used on the server to store the content.
            </summary>
            <remarks>
            <para>
            Default is None.
            </para>
            <para>
            If specifying encryption (not None), the corresponding request must include header
            "x-amz-server-side-encryption" with the value of the encryption.
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.ResponseHeaderOverrides">
            <summary>
            A set of response headers that should be returned with the pre-signed url creation response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlRequest.Parameters">
            <summary>
            Custom parameters to include in the signed request, so that they are tamper-proof.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetPreSignedUrlResponse">
            <summary>
            The parameters for a pre-signed URL to a bucket or object as a string. 
            </summary>
            <remarks>
            For more information, refer to: <see href="http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html"/>.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.GetPreSignedUrlResponse.Url">
            <summary>
            The PreSignedURL as a string
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.GetPreSignedUrlResponse.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="url">A url returned from GetPreSignedUrlRequest</param>
        </member>
        <member name="T:Amazon.S3.Model.GetPublicAccessBlockRequest">
            <summary>
            Container for the parameters to the GetPublicAccessBlock operation.
            Retrieves the Public Access Block configuration for an Amazon S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPublicAccessBlockRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
             The name of the Amazon S3 bucket whose Public Access Block configuration you want
            to retrieve. 
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.GetPublicAccessBlockResponse">
            <summary>
            This is the response object from the GetPublicAccessBlock operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.GetPublicAccessBlockResponse.PublicAccessBlockConfiguration">
            <summary>
            The Public Access Block configuration currently in effect for this Amazon S3 bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.HeadBucketRequest">
            <summary>
            Container for the parameters to the HeadBucket operation.
            <para>This operation is useful to determine if a bucket exists and you have permission to access it.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.HeadBucketResponse">
            <summary>
            Returns information about the HeadBucket response metadata.
            The HeadBucket operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.HeadersCollection">
            <summary>
            This class contains the headers for an S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.Item(System.String)">
            <summary>
            Gets and sets headers to set for the object.
            </summary>
            <param name="name">The name of the header</param>
            <returns>The value for the header</returns>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.Count">
            <summary>
            Gets the count of headers.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.Keys">
            <summary>
            Gets the names of the headers set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.CacheControl">
            <summary>
            Specifies caching behavior along the request/reply chain.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ContentDisposition">
            <summary>
            Specifies presentational information for the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ContentEncoding">
            <summary>
            Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type
            referenced by the Content-Type header field.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ContentLength">
            <summary>
            The size of the object, in bytes.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ContentMD5">
            <summary>
            The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This 
            header can be used as a message integrity check to verify that the data is the same data that was originally sent.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ContentType">
            <summary>
            A standard MIME type describing the format of the object data.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.HeadersCollection.ExpiresUtc">
            <summary>
            The date and time at which the object is no longer cacheable.
             
            </summary>
            
        </member>
        <member name="T:Amazon.S3.Model.InitiateMultipartUploadRequest">
            <summary>
            Container for the parameters to the InitiateMultipartUpload operation.
            <para>Initiates a multipart upload and returns an upload ID.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.EnvelopeKey">
            <summary>
            Envelope Key to Encrypt data
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.EncryptedEnvelopeKey">
            <summary>
            Encrypted Envelope Key to Encrypt data
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.IV">
            <summary>
            Initialization Vector for encryption
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.StorageMode">
            <summary>
            Storage mode for encryption information.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.CannedACL">
            <summary>
            A canned access control list (ACL) to apply to the object.
            Please refer to <see cref="T:Amazon.S3.S3CannedACL"/> for information on S3 Canned ACLs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.BucketName">
            <summary>
            The name of the bucketName where the new object will be created, or existing object updated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.Key">
            <summary>
            The key of the object to create or update.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.StorageClass">
            <summary>
            StorageClass property for the object.
            </summary>
            <remarks>
            Default: S3StorageClass.Standard. Set this property
            only if you want reduced redundancy for this object.
            Please refer to 
            <see cref="T:Amazon.S3.S3StorageClass"/> for
            information on S3 Storage Classes.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.WebsiteRedirectLocation">
            <summary>
            If the bucketName is configured as a website, redirects requests for this object to another object in the same bucketName or to an external URL.
            Amazon S3 stores the value of this header in the object metadata.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ContentType">
            <summary>
            This is a convenience property for Headers.ContentType.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionMethod">
            <summary>
            <para>
            Specifies the encryption to be used on the server for the new object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ObjectLockLegalHoldStatus">
            <summary>
            Gets and sets the property ObjectLockLegalHoldStatus. 
            <para>
            Specifies whether you want to apply a Legal Hold to the uploaded object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ObjectLockMode">
            <summary>
            Gets and sets the property ObjectLockMode. 
            <para>
            Specifies the Object Lock mode that you want to apply to the uploaded object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.ObjectLockRetainUntilDate">
            <summary>
            Gets and sets the property ObjectLockRetainUntilDate. 
            <para>
            Specifies the date and time when you want the Object Lock to expire.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadRequest.TagSet">
            <summary>
            The tag-set for the object. The tag-set must be encoded as URL Query parameters.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadRequest.IsSetTagSet">
            <summary>
            Checks if Tagging property is set
            </summary>
            <returns>true if Tagging is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.InitiateMultipartUploadResponse">
            <summary>
            Returns information about the  InitiateMultipartUpload response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.BucketName">
            <summary>
            <para>Name of the bucketName to which the multipart upload was initiated.</para>        
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.Key">
            <summary>
            Object key for which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.UploadId">
            <summary>
            Gets and sets the initiated multipart upload id.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.AbortDate">
            <summary>
            Date when multipart upload will become eligible for abort operation by lifecycle.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.AbortRuleId">
            <summary>
            Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InitiateMultipartUploadResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.InitiateMultipartUploadResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.Initiator">
            <summary>
            <para>Identifies who initiated the multipart upload.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Initiator.DisplayName">
            <summary>
            Name of the Principal.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Initiator.Id">
            <summary>
            If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InputSerialization">
            <summary>
            Describes the serialization format of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InputSerialization.CSV">
            <summary>
            Describes the serialization of a CSV-encoded object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InputSerialization.CompressionType">
            <summary>
            Specifies object's compression format. Valid values: NONE, GZIP. Default Value: NONE.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InputSerialization.JSON">
            <summary>
            Specifies JSON as object's input serialization format.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InputSerialization.Parquet">
            <summary>
            Specifies Parquet as object's input serialization format.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryConfiguration">
            <summary>
            Class for MetricsConfiguration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.Destination">
            <summary>
            Contains information about where to publish the inventory results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.IsEnabled">
            <summary>
            Specifies whether the inventory is enabled or disabled.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.InventoryFilter">
            <summary>
            Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.InventoryId">
            <summary>
            The ID used to identify the inventory configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.IncludedObjectVersions">
            <summary>
            Specifies which object version(s) to included in the inventory results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.InventoryOptionalFields">
            <summary>
            Contains the optional fields that are included in the inventory results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryConfiguration.Schedule">
            <summary>
            Specifies the schedule for generating inventory results.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryDestination">
            <summary>
            Class for InventoryDestination 
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryDestination.S3BucketDestination">
            <summary>
            Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryEncryption">
            <summary>
            InventoryEncryption class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryEncryption.SSES3">
            <summary>
            Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryEncryption.SSEKMS">
            <summary>
            Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryFilter">
            <summary>
            Class for InventoryFilter
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryFilter.InventoryFilterPredicate">
            <summary>
            Filter Predicate setup for specific filter types.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryFilterPredicate">
            <summary>
            Filter Predicate abstract class for specific filter types to be derived from.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventoryPrefixPredicate">
            <summary>
            Class for InventoryPrefixPredicate
            <para>The prefix that an object must have to be included in the inventory results.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryS3BucketDestination.AccountId">
            <summary>
            The ID of the account that owns the destination bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryS3BucketDestination.BucketName">
            <summary>
            The Amazon resource name (ARN) of the bucket where inventory results will be published.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryS3BucketDestination.Prefix">
            <summary>
            The prefix that is prepended to all inventory results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryS3BucketDestination.InventoryFormat">
            <summary>
            Specifies the output format of the inventory results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventoryS3BucketDestination.InventoryEncryption">
            <summary>
            Contains the type of server-side encryption used to encrypt the inventory results.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.InventorySchedule">
            <summary>
            Class for InventorySchedule
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.InventorySchedule.Frequency">
            <summary>
            Specifies how frequently inventory results are produced.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.JSONInput">
            <summary>
            Specifies JSON as object's input serialization format.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.JSONInput.JsonType">
            <summary>
            The type of JSON. Valid values: Document, Lines.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.JSONOutput">
            <summary>
            Specifies JSON as request's output serialization format
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.JSONOutput.RecordDelimiter">
            <summary>
            The value used to separate individual records in the output.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.KeyVersion">
            <summary>
            Specifies an object key and optional object version.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.KeyVersion.Key">
            <summary>
            Key name of the object to delete.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.KeyVersion.VersionId">
            <summary>
            VersionId for the specific version of the object to delete.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LambdaFunctionConfiguration">
            <summary>
            This class contains the configuration Amazon S3 uses to figure out what events you want to listen 
            and send the event to an Amazon Lambda cloud function.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LambdaFunctionConfiguration.Id">
            <summary>
            Gets and set the Id property. The Id will be provided in the event content and can be used 
            to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LambdaFunctionConfiguration.FunctionArn">
            <summary>
            Gets and sets the FunctionArn property. This is the Amazon Lambda cloud function to which Amazon S3 will invoke with the events.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleConfiguration">
            <summary>Lifecycle Configuration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleConfiguration.Rules">
            <summary>
            Gets and sets the Rules property. These rules defined the lifecycle configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleFilterPredicate">
            <summary>
            Base class for all the different predicates that can be used
            in a <see cref="T:Amazon.S3.Model.LifecycleRule"/> filter.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.LifecycleFilterPredicate.Accept(Amazon.S3.Model.Internal.ILifecyclePredicateVisitor)">
            <summary>
            This method is called by the visitor when it wants to visit the predicate.
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleFilter">
            <summary>
            Filter identifying one or more objects to which a <see cref="T:Amazon.S3.Model.LifecycleRule"/> applies.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleFilter.LifecycleFilterPredicate">
            <summary>
            The predicate used by the filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleNAryOperator">
            <summary>
            Base class for lifecycle operators.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleNAryOperator.Operands">
            <summary>
            The list of <see cref="T:Amazon.S3.Model.LifecycleFilterPredicate"/> objects
            that this operator operates on.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleAndOperator">
            <summary>
            The logical and operator for filtering objects for a <see cref="T:Amazon.S3.Model.LifecycleRule"/>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.LifecycleAndOperator.Accept(Amazon.S3.Model.Internal.ILifecyclePredicateVisitor)">
            <summary>
            Accept a visit from an <see cref="T:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor"/>
            </summary>
            <remarks>
            This method is used internally by the SDK.
            </remarks>
            <param name="visitor"></param>
        </member>
        <member name="T:Amazon.S3.Model.LifecyclePrefixPredicate">
            <summary>
            A predicate that filters objects for a <see cref="T:Amazon.S3.Model.LifecycleRule"/>
            by matching a particular prefix.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecyclePrefixPredicate.Prefix">
            <summary>
            The prefix to be matched by filtered objects.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.LifecyclePrefixPredicate.Accept(Amazon.S3.Model.Internal.ILifecyclePredicateVisitor)">
            <summary>
            Accept a visit from an <see cref="T:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor"/>
            </summary>
            <remarks>
            This method is used internally by the SDK.
            </remarks>
            <param name="visitor"></param>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleTagPredicate">
            <summary>
            A predicate that filters objects for a <see cref="T:Amazon.S3.Model.LifecycleRule"/>
            by matching a particular <see cref="P:Amazon.S3.Model.LifecycleTagPredicate.Tag"/> key and value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleTagPredicate.Tag">
            <summary>
            The Tag to be matched by filtered objects.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.LifecycleTagPredicate.Accept(Amazon.S3.Model.Internal.ILifecyclePredicateVisitor)">
            <summary>
            Accept a visit from an <see cref="T:Amazon.S3.Model.Internal.ILifecyclePredicateVisitor"/>
            </summary>
            <remarks>
            This method is used internally by the SDK.
            </remarks>
            <param name="visitor"></param>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleRule">
            <summary>
            Rules Item
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Expiration">
            <summary>
            Defines the length of time, in days, before objects expire.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Id">
            <summary>
            Unique identifier for the rule. The value cannot be longer than 255 characters.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Prefix">
            <summary>
            Prefix identifying one or more objects to which the rule applies.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Filter">
            <summary>
            Filter identifying one or more objects to which the rule applies.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Status">
            <summary>
            If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Transition">
            <summary>
            The transition rule that describes when objects transition to a different storage class.
            <para>
            Lifecycle rules can now contain multiple transitions. This property is obsolete in favor of the Transitions property.
            This property will always get or set the the zeroth element in the Transitions collection.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.NoncurrentVersionExpiration">
            <summary>
            Defines the length of time, in days, before noncurrent versions expire.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.NoncurrentVersionTransition">
            <summary>
            The transition rule that describes when noncurrent versions transition to
            a different storage class.
            <para>
            Lifecycle rules can now contain multiple noncurrent version transitions. This property
            is obsolete in favor of the NoncurrentVersionTransitions property.
            This property will always get or set the the zeroth element in the NoncurrentVersionTransitions collection.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.Transitions">
            <summary>
            The transition rules that describe when objects transition to a different storage class.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.NoncurrentVersionTransitions">
            <summary>
            The transition rules that describe when noncurrent versions transition to
            a different storage class.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRule.AbortIncompleteMultipartUpload">
            <summary>
            Specifies the days since the initiation of an Incomplete Multipart Upload
            that Lifecycle will wait before permanently removing all parts of the upload.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleRuleAbortIncompleteMultipartUpload">
            <summary>
            Specifies the days since the initiation of an Incomplete Multipart Upload
            that Lifecycle will wait before permanently removing all parts of the upload.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleAbortIncompleteMultipartUpload.DaysAfterInitiation">
            <summary>
            Indicates the number of days that must pass since initiation for Lifecycle
            to abort an Incomplete Multipart Upload.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleRuleExpiration">
            <summary>Expiration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleExpiration.DateUtc">
            <summary>
            Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleExpiration.Days">
            <summary>
            Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleExpiration.ExpiredObjectDeleteMarker">
            <summary>
            Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleRuleNoncurrentVersionExpiration">
            <summary>
            Noncurrent Version Expiration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleNoncurrentVersionExpiration.NoncurrentDays">
            <summary>
            Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated 
            action. For information about the noncurrent days calculations, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations">How Amazon S3 Calculates When an Object Became Noncurrent</a> 
            in the Amazon Simple Storage Service Developer Guide.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleRuleNoncurrentVersionTransition">
            <summary>
            LifecycleTransition defines when and how objects transition.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleNoncurrentVersionTransition.NoncurrentDays">
            <summary>
            Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated 
            action. For information about the noncurrent days calculations, see 
            <a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">How Amazon S3 Calculates When an Object Became Noncurrent</a> 
            in the Amazon Simple Storage Service Developer Guide.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleRuleNoncurrentVersionTransition.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.LifecycleTransition">
            <summary>
            LifecycleTransition defines when and how objects transition.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleTransition.DateUtc">
            <summary>
            Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleTransition.Days">
            <summary>
            Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.LifecycleTransition.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest">
            <summary>
            Container for the parameters to the ListInventoryConfigurationsRequest operation.
            <para>Lists the analytics configurations for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest.BucketName">
            <summary>
            The name of the bucket containing the analytics configurations to retrieve.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest.ContinuationToken">
            <summary>
            The ContinuationToken that represents a placeholder from where this request should begin.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketAnalyticsConfigurationsResponse">
            <summary>
            Returns information about the  ListBucketAnalyticsConfigurationsResponse response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsResponse.ContinuationToken">
            <summary>
            The ContinuationToken that represents where this request began.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsResponse.AnalyticsConfigurationList">
            <summary>
            The list of analytics configurations for a bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsResponse.IsTruncated">
            <summary>
            Indicates whether the returned list of analytics configurations is complete. 
            A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketAnalyticsConfigurationsResponse.NextContinuationToken">
            <summary>
            NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. 
            The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketInventoryConfigurationsRequest">
            <summary>
            Container for the parameters to the ListInventoryConfigurationsRequest operation.
            <para>Returns a list of inventory configurations for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsRequest.BucketName">
            <summary>
            The name of the bucket containing the inventory configurations to retrieve.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsRequest.ContinuationToken">
            <summary>
            The marker used to continue an inventory configuration listing that has been truncated. 
            Use the NextContinuationToken from a previously truncated list response to continue the listing. 
            The continuation token is an opaque value that Amazon S3 understands.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketInventoryConfigurationsResponse">
            <summary>
            Returns information about the  ListInventoryConfigurationsResponse response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsResponse.Token">
            <summary>
            If sent in the request, the marker that is used as a starting point for this inventory configuration list response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsResponse.InventoryConfigurationList">
            <summary>
            The list of inventory configurations for a bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsResponse.IsTruncated">
            <summary>
            Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketInventoryConfigurationsResponse.NextToken">
            <summary>
            The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. 
            The continuation token is an opaque value that Amazon S3 understands.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketMetricsConfigurationsRequest">
            <summary>
            Container for the parameters to the ListBucketMetricsConfigurationRequest operation.
            <para>Lists the metrics configurations for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsRequest.BucketName">
            <summary>
            The name of the bucket containing the metrics configurations to retrieve.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsRequest.ContinuationToken">
            <summary>
            <para>
            The marker that is used to continue a metrics configuration listing that has been truncated. 
            Use the NextContinuationToken from a previously truncated list response to continue the listing. 
            The continuation token is an opaque value that Amazon S3 understands.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketMetricsConfigurationsResponse">
            <summary>
            Returns information about the  ListBucketMetricsConfiguration response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsResponse.Token">
            <summary>
            <para>
            The marker that is used to continue a metrics configuration listing that has been truncated. 
            Use the NextContinuationToken from a previously truncated list response to continue the listing. 
            The continuation token is an opaque value that Amazon S3 understands.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsResponse.MetricsConfigurationList">
            <summary>
            The list of metrics configurations for a bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsResponse.IsTruncated">
            <summary>
            <para>
            Indicates whether the returned list of metrics configurations is complete. 
            A value of true indicates that the list is not complete and the NextContinuationToken will be provided for 
            a subsequent request.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketMetricsConfigurationsResponse.NextToken">
            <summary>
            <para>
            The marker used to continue a metrics configuration listing that has been truncated. 
            Use the NextContinuationToken from a previously truncated list response to continue the listing. 
            The continuation token is an opaque value that Amazon S3 understands.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketsRequest">
            <summary>
            Container for the parameters to the ListBuckets operation.
            <para>Returns a list of all buckets owned by the authenticated sender of the request.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListBucketsResponse">
            <summary>
            Returns information about the  ListBuckets response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketsResponse.Buckets">
            <summary>
            List of buckets.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListBucketsResponse.Owner">
            <summary>
            Owner of the buckets.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListMultipartUploadsRequest">
            <summary>
            Container for the parameters to the ListMultipartUploads operation.
            <para>This operation lists in-progress multipart uploads.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.BucketName">
            <summary>
            <para>Name of the bucket to which the multipart upload was initiated.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.Delimiter">
            <summary>
            Character you use to group keys.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.KeyMarker">
            <summary>
            Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.MaxUploads">
            <summary>
            Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that
            can be returned in a response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.Prefix">
            <summary>
            Lists in-progress uploads only for those keys that begin with the specified prefix.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.UploadIdMarker">
            <summary>
            Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the
            upload-id-marker parameter is ignored.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsRequest.Encoding">
            <summary>
            Requests Amazon S3 to encode the object keys in the response and specifies
            the encoding method to use. An object key may contain any Unicode character;
            however, XML 1.0 parser cannot parse some characters, such as characters
            with an ASCII value from 0 to 10. For characters that are not supported in
            XML 1.0, you can add this parameter to request that Amazon S3 encode the
            keys in the response.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListMultipartUploadsResponse">
            <summary>
            Returns information about the  ListMultipartUploads response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.BucketName">
            <summary>
            Name of the bucketName to which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.KeyMarker">
            <summary>
            The key at or after which the listing began.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.UploadIdMarker">
            <summary>
            Upload ID after which listing began.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.NextKeyMarker">
            <summary>
            When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.NextUploadIdMarker">
            <summary>
            When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent
            request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.MaxUploads">
            <summary>
            Maximum number of multipart uploads that could have been included in the response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.IsTruncated">
            <summary>
            Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can
            be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.MultipartUploads">
            <summary>
            Gets and sets the MultipartUploads property.
            <para>
            Container for elements related to a particular multipart upload. A response
            can contain zero or more Upload elements.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.Prefix">
            <summary>
            Gets and sets the Prefix property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.Delimiter">
            <summary>
            Gets and sets the Delimiter property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListMultipartUploadsResponse.CommonPrefixes">
            <summary>
            Gets the CommonPrefixes property. 
            A response can contain CommonPrefixes only if you specify a delimiter. 
            When you do, CommonPrefixes contains all (if there are any) keys between 
            Prefix and the next occurrence of the string specified by delimiter. In effect, 
            CommonPrefixes lists keys that act like subdirectories in the directory specified 
            by Prefix. For example, if prefix is notes/ and delimiter is a slash (/), in 
            notes/summer/july, the common prefix is notes/summer/.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListObjectsRequest">
            <summary>
            Container for the parameters to the ListObjects operation.
            <para>Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a
            subset of the objects in a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.BucketName">
            <summary>
            The name of the bucket containing the objects whose keys are to be listed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.Delimiter">
            <summary>
            A delimiter is a character you use to group keys.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.Marker">
            <summary>
            Specifies the key to start with when listing objects in a bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.MaxKeys">
            <summary>
            Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.Prefix">
            <summary>
            Limits the response to keys that begin with the specified prefix.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.Encoding">
            <summary>
            Requests Amazon S3 to encode the object keys in the response and specifies
            the encoding method to use. An object key may contain any Unicode character;
            however, XML 1.0 parser cannot parse some characters, such as characters
            with an ASCII value from 0 to 10. For characters that are not supported in
            XML 1.0, you can add this parameter to request that Amazon S3 encode the
            keys in the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ListObjectsRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ListObjectsResponse">
            <summary>
            Returns information about the  ListObjects response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.IsTruncated">
            <summary>
            A flag that indicates whether or not Amazon S3 returned all of the results that satisfied 
            the search criteria.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.NextMarker">
            <summary>
            Gets and sets the NextMarker property.
            NextMarker is set by S3 only if a Delimiter was specified
            in the original ListObjects request. If a delimiter was
            not specified, the AWS SDK for .NET returns the last Key
            of the List of Objects retrieved from S3 as the NextMarker.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.S3Objects">
            <summary>
            Gets the S3Objects property. This is a list of 
            objects in the bucket that match your search criteria.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.Name">
            <summary>
            Gets and sets the Name property which is the name of the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.Prefix">
            <summary>
            Gets and sets the Prefix property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.MaxKeys">
            <summary>
            Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.CommonPrefixes">
            <summary>
            Gets the CommonPrefixes property. 
            A response can contain CommonPrefixes only if you specify a delimiter. 
            When you do, CommonPrefixes contains all (if there are any) keys between 
            Prefix and the next occurrence of the string specified by delimiter. In effect, 
            CommonPrefixes lists keys that act like subdirectories in the directory specified 
            by Prefix. For example, if prefix is notes/ and delimiter is a slash (/), in 
            notes/summer/july, the common prefix is notes/summer/.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsResponse.Delimiter">
            <summary>
            Gets and sets the Delimiter property.
            Causes keys that contain the same string between the prefix and the 
            first occurrence of the delimiter to be rolled up into a single result 
            element in the CommonPrefixes collection.
            </summary>
            <remarks>
            These rolled-up keys are not returned elsewhere in the response.
            </remarks>
        </member>
        <member name="T:Amazon.S3.Model.ListObjectsV2Request">
            <summary>
            Container for the parameters to the ListObjects operation.
            <para>Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a
            subset of the objects in a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.BucketName">
            <summary>
            <para>Bucket name to list.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.Delimiter">
            <summary>
            A delimiter is a character you use to group keys.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.MaxKeys">
            <summary>
            Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.Prefix">
            <summary>
            Limits the response to keys that begin with the specified prefix.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.Encoding">
            <summary>
            Requests Amazon S3 to encode the object keys in the response and specifies
            the encoding method to use. An object key may contain any Unicode character;
            however, XML 1.0 parser cannot parse some characters, such as characters
            with an ASCII value from 0 to 10. For characters that are not supported in
            XML 1.0, you can add this parameter to request that Amazon S3 encode the
            keys in the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.StartAfter">
            <summary>
            StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
            listing after this specified key. StartAfter can be any key in the bucket.
            Cannot be set at the same time as ContinuationToken.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.ContinuationToken">
            <summary>
            ContinuationToken indicates Amazon S3 that the list is being continued on this
            bucket with a token. ContinuationToken is obfuscated and is not a real key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.FetchOwner">
            <summary>
            The owner field is not present in ListObjectsV2 responses by default.
            If you want to return owner field with each key in the result then set this field to true.
            If not specified, the Owner field on S3Object will be null.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Request.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ListObjectsV2Request.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ListObjectsV2Response">
            <summary>
            Returns information about the  ListObjects response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.IsTruncated">
            <summary>
            A flag that indicates whether or not Amazon S3 returned all of the results that satisfied 
            the search criteria.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.S3Objects">
            <summary>
            Gets and sets the S3Objects property. Metadata about each object returned.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.Name">
            <summary>
            <para>Bucket name.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.Prefix">
            <summary>
            Gets and sets the Prefix property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.MaxKeys">
            <summary>
            Gets and sets the MaxKeys property. This is max number of object keys returned by the list operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.CommonPrefixes">
            <summary>
            Gets and sets the CommonPrefixes property.
            CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence 
            of the string specified by delimiter
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.Delimiter">
            <summary>
            Gets and sets the Delimiter property.
            Causes keys that contain the same string between the prefix and the 
            first occurrence of the delimiter to be rolled up into a single result 
            element in the CommonPrefixes collection.
            </summary>
            <remarks>
            These rolled-up keys are not returned elsewhere in the response.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.Encoding">
            <summary>
            Encoding type used by Amazon S3 to encode object keys in the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.KeyCount">
            <summary>
            KeyCount is the number of keys returned with this request.
            KeyCount will always be less than or equal to MaxKeys field.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.ContinuationToken">
            <summary>
            ContinuationToken indicates Amazon S3 that the list is being continued
            on this bucket with a token.
            ContinuationToken is obfuscated and is not a real key
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.NextContinuationToken">
            <summary>
            NextContinuationToken is sent when isTruncated is true which means there
            are more keys in the bucket that can be listed. The next ListObjectV2 call
            to Amazon S3 can be continued with this NextContinuationToken.
            NextContinuationToken is obfuscated and is not a real key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListObjectsV2Response.StartAfter">
            <summary>
            StartAfter is where you want Amazon S3 to start listing from.
            Amazon S3 starts listing after this specified key.
            StartAfter can be any key in the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListPartsRequest">
            <summary>
            Container for the parameters to the ListParts operation.
            <para>Lists the parts that have been uploaded for a specific multipart upload.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.BucketName">
            <summary>
            <para>Name of the bucket to which the parts are being uploaded.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.Key">
            <summary>
            The object key for which the multipart upload was initiated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.MaxParts">
            <summary>
            Sets the maximum number of parts to return.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.PartNumberMarker">
            <summary>
            Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.UploadId">
            <summary>
            Upload ID identifying the multipart upload whose parts are being listed.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.Encoding">
            <summary>
            Requests Amazon S3 to encode the object keys in the response and specifies
            the encoding method to use. An object key may contain any Unicode character;
            however, XML 1.0 parser cannot parse some characters, such as characters
            with an ASCII value from 0 to 10. For characters that are not supported in
            XML 1.0, you can add this parameter to request that Amazon S3 encode the
            keys in the response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ListPartsRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ListPartsResponse">
            <summary>
            Returns information about the  ListParts response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.BucketName">
            <summary>
            Name of the bucketName to which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.Key">
            <summary>
            Object key for which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.UploadId">
            <summary>
            Upload ID identifying the multipart upload whose parts are being listed.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.PartNumberMarker">
            <summary>
            Part number after which listing begins.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.NextPartNumberMarker">
            <summary>
            When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request
            parameter in a subsequent request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.MaxParts">
            <summary>
            Maximum number of parts that were allowed in the response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.IsTruncated">
            <summary>
            Indicates whether the returned list of parts is truncated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.Parts">
            <summary>
            Gets and sets the Parts property.
            <para>
            PartDetails is a container for elements related to a particular part. A response can contain
            zero or more Part elements.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.Initiator">
            <summary>
            Identifies who initiated the multipart upload.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.Owner">
            <summary>
            Gets and sets the Owner property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.AbortDate">
            <summary>
            Date when multipart upload will become eligible for abort operation by lifecycle.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.AbortRuleId">
            <summary>
            Id of the lifecycle rule that makes a multipart upload eligible for abort operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListPartsResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ListPartsResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ListVersionsRequest">
            <summary>
            Container for the parameters to the ListVersions operation.
            <para>Returns metadata about all of the versions of objects in a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.BucketName">
            <summary>
            <para>The bucket name that contains the objects.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.Delimiter">
            <summary>
            A delimiter is a character you use to group keys.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.KeyMarker">
            <summary>
            Specifies the key to start with when listing objects in a bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.MaxKeys">
            <summary>
            Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.Prefix">
            <summary>
            Limits the response to keys that begin with the specified prefix.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.VersionIdMarker">
            <summary>
            Specifies the object version you want to start listing from.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsRequest.Encoding">
            <summary>
            Requests Amazon S3 to encode the object keys in the response and specifies
            the encoding method to use. An object key may contain any Unicode character;
            however, XML 1.0 parser cannot parse some characters, such as characters
            with an ASCII value from 0 to 10. For characters that are not supported in
            XML 1.0, you can add this parameter to request that Amazon S3 encode the
            keys in the response.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ListVersionsResponse">
            <summary>
            Returns information about the  ListVersions response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.IsTruncated">
            <summary>
            A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were
            truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting
            place in another request to return the rest of the results.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.KeyMarker">
            <summary>
            Marks the last Key returned in a truncated response.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.VersionIdMarker">
            <summary>
            Gets and sets the VersionIdMarker property.
            Marks the last Version-Id returned in a truncated response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.NextKeyMarker">
            <summary>
            Use this value for the key marker request parameter in a subsequent request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.NextVersionIdMarker">
            <summary>
            Use this value for the next version id marker parameter in a subsequent request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.Versions">
            <summary>
            Gets and sets the Versions property. This is a list of 
            object versions in the bucket that match your search criteria.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.Name">
            <summary>
            Gets and sets the Name property.
            The bucket's name.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.Prefix">
            <summary>
            Gets and sets the Prefix property.
            Keys that begin with the indicated prefix are listed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.MaxKeys">
            <summary>
            Gets and sets the MaxKeys property.
            This is the maximum number of keys in the S3ObjectVersions collection.
            The value is derived from the MaxKeys parameter to ListVersionsRequest.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.CommonPrefixes">
            <summary>
            Gets the CommonPrefixes property. 
            A response can contain CommonPrefixes only if you specify a delimiter. 
            When you do, CommonPrefixes contains all (if there are any) keys between 
            Prefix and the next occurrence of the string specified by delimiter.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ListVersionsResponse.Delimiter">
            <summary>
            Gets and sets the Delimiter property.
            Causes keys that contain the same string between the prefix and the 
            first occurrence of the delimiter to be rolled up into a single result 
            element in the CommonPrefixes collection.
            </summary>
            <remarks>
            These rolled-up keys are not returned elsewhere in the response.
            </remarks>
        </member>
        <member name="T:Amazon.S3.Model.MetadataCollection">
            <summary>
            This class contains the meta data for an S3 object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetadataCollection.Item(System.String)">
            <summary>
            Gets and sets meta data for the object. Meta data names must start with "x-amz-meta-". If the name passeed in as the indexer 
            doesn't start with "x-amz-meta-" then it will be prepended.
            </summary>
            <param name="name">The name of the meta data.</param>
            <returns>The value for the meta data</returns>
        </member>
        <member name="M:Amazon.S3.Model.MetadataCollection.Add(System.String,System.String)">
            <summary>
            Adds the metadata to the collection, if the name already exists it will be overwritten.
            </summary>
            <param name="name">The name of the metadata element</param>
            <param name="value">The value for the metadata</param>
        </member>
        <member name="P:Amazon.S3.Model.MetadataCollection.Count">
            <summary>
            Gets the count of headers.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetadataCollection.Keys">
            <summary>
            Gets the names of the meta data elements.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetadataEntry">
            <summary>
            A metadata key-value pair to store with an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetadataEntry.Name">
            <summary>
            Key of metadata key-value pair
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetadataEntry.Value">
            <summary>
            Value of metadata key-value pair
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Metrics">
            <summary>
            A container specifying replication metrics-related information, including whether 
            emitting metrics and Amazon S3 events for replication are enabled. In addition, contains 
            configurations related to specific metrics or events. Must be specified together with a 
            <code>ReplicationTime</code> block.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Metrics.Status">
            <summary>
            Specifies whether the replication metrics are enabled.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Metrics.EventThreshold">
            <summary>
            A container specifying the time threshold for emitting the 
            <code>s3:Replication:OperationMissedThreshold</code> event.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsAndOperator">
            <summary>
            Class for MetricsAndOperatorPredicate
            <para>A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. 
            The operator must have at least two predicates, and an object must match all of the predicates 
            in order for the filter to apply.</para>
            </summary>
            Note: The current implementation restricts the usage to atmost one MetricsPrefixPredicate
            and any number of MetricsTagPredicates.
        </member>
        <member name="T:Amazon.S3.Model.MetricsConfiguration">
            <summary>
            Class for MetricsConfiguration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetricsConfiguration.MetricsId">
            <summary>
            The ID used to identify the metrics configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetricsConfiguration.MetricsFilter">
            <summary>
            Specifies a metrics configuration filter. 
            The metrics configuration will only include objects that meet the filter's criteria. 
            A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsFilter">
            <summary>
            Filter class for Metrics.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MetricsFilter.MetricsFilterPredicate">
            <summary>
            Filter Predicate setup for specific filter types.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsFilterPredicate">
            <summary>
            Filter Predicate abstract class for specific filter types to be derived from.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsNAryOperator">
            <summary>
            Abstract class that can be used over logical filter predicates,i.e. AND/OR.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsPrefixPredicate">
            <summary>
            Class for MetricsPrefixPredicate
            <para>The prefix used when evaluating a metrics filter.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MetricsTagPredicate">
            <summary>
            Class for MetricsTagPredicate
            <para>The tag used when evaluating a metrics filter.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MfaCodes">
            <summary>
            This class contains the mfa codes used authentication
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MfaCodes.SerialNumber">
            <summary>
            Gets and sets the serial number of the authentication device
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MfaCodes.AuthenticationValue">
            <summary>
            Gets and sets the displated value on the authentication device
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MfaCodes.FormattedMfaCodes">
            <summary>
            The formatted string of the mfa codes to be passed to S3.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.MultipartUpload">
            <summary>
            Container for elements related to a particular multipart upload.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.Initiated">
            <summary>
            Date and time at which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.Initiator">
            <summary>
            Identifies who initiated the multipart upload.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.Key">
            <summary>
            Key of the object for which the multipart upload was initiated.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.Owner">
            <summary>
            Gets and sets the Owner property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.MultipartUpload.UploadId">
            <summary>
            Upload ID that identifies the multipart upload.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.NotificationConfiguration">
            <summary>
            An abstract class for all the notification configurations associated with an Amazon S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.NotificationConfiguration.Events">
            <summary>
            Gets and sets the Events property. These are the events the configuration will listen to.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.NotificationConfiguration.Filter">
            <summary>
            Filter criteria for determining which S3 objects trigger event notifications.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ObjectLockConfiguration">
            <summary>
            The container element for Object Lock configuration parameters.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockConfiguration.ObjectLockEnabled">
            <summary>
            Gets and sets the property ObjectLockEnabled. 
            <para>
            Indicates whether this object has an Object Lock configuration enabled.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockConfiguration.Rule">
            <summary>
            Gets and sets the property Rule. 
            <para>
            The Object Lock rule in place for the specified object.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ObjectLockLegalHold">
            <summary>
            A Legal Hold configuration for an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockLegalHold.Status">
            <summary>
            Gets and sets the property Status. 
            <para>
            Indicates whether the specified object has a Legal Hold in place.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ObjectLockRetention">
            <summary>
            A Retention configuration for an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockRetention.Mode">
            <summary>
            Gets and sets the property Mode. 
            <para>
            Indicates the Retention mode for the specified object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockRetention.RetainUntilDate">
            <summary>
            Gets and sets the property RetainUntilDate.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ObjectLockRule">
            <summary>
            The container element for an Object Lock rule.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ObjectLockRule.DefaultRetention">
            <summary>
            Gets and sets the property DefaultRetention. 
            <para>
            The default retention period that you want to apply to new objects placed in the specified
            bucket.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.OutputLocation">
            <summary>
            Describes the location where the restore job's output is stored.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.OutputLocation.S3">
            <summary>
            Describes an S3 location that will receive the results of the restore request.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.OutputSerialization">
            <summary>
            Describes how results of the Select job are serialized.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.OutputSerialization.CSV">
            <summary>
            Describes the serialization of CSV-encoded Select results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.OutputSerialization.JSON">
            <summary>
            Specifies JSON as request's output serialization format.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Owner">
            <summary>
            The owner of an S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Owner.DisplayName">
            <summary>
            The display name of the owner.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Owner.Id">
            <summary>
            The unique identifier of the owner.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ParameterCollection">
            <summary>
            This class contains custom querystring parameters for an S3 object, which can then be signed as part of a Pre-signed URL request
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ParameterCollection.Item(System.String)">
            <summary>
            Gets and sets parameters for the object. Parameter names must start with "x-". If the name passeed in as the indexer 
            doesn't start with "x-" then it will be prepended.
            </summary>
            <param name="name">The name of the parameter.</param>
            <returns>The value for the meta data</returns>
        </member>
        <member name="M:Amazon.S3.Model.ParameterCollection.Add(System.String,System.String)">
            <summary>
            Adds the parameter to the collection, if the name already exists it will be overwritten.
            </summary>
            <param name="name">The name of the parameter</param>
            <param name="value">The value for the parameter</param>
        </member>
        <member name="P:Amazon.S3.Model.ParameterCollection.Count">
            <summary>
            Gets the count of parameters.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ParameterCollection.Keys">
            <summary>
            Gets the names of the parameter elements.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ParquetInput">
            <summary>
            Specifies Parquet as object's input serialization format.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PartDetail">
            <summary>
            A container for elements related to a particular part in a multipart operation. 
            A response can contain zero or more Part elements.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PartDetail.LastModified">
            <summary>
            The date and time at which the part was uploaded.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PartDetail.Size">
            <summary>
            The size of the uploaded part data.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PartETag">
            <summary>
            A container holding the part number and etag used when completing a multipart upload.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PartETag.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PartETag.#ctor(System.Int32,System.String)">
            <summary>
            Constructs an instance of PartETag and sets the part number and etag.
            </summary>
            <param name="partNumber">The part number.</param>
            <param name="eTag">the associated ETag for the part number.</param>
        </member>
        <member name="M:Amazon.S3.Model.PartETag.CompareTo(Amazon.S3.Model.PartETag)">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings:
            Value
            Meaning
            Less than zero
            This object is less than the <paramref name="other"/> parameter.
            Zero
            This object is equal to <paramref name="other"/>.
            Greater than zero
            This object is greater than <paramref name="other"/>.
            </returns>
        </member>
        <member name="P:Amazon.S3.Model.PartETag.PartNumber">
            <summary>
            The part number identifying the part.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PartETag.ETag">
            <summary>
            The entity tag associated with the part.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PolicyStatus">
            <summary>
            The container element for this bucket's public-policy status.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PolicyStatus.IsPublic">
            <summary>
            Gets and sets the property IsPublic. 
            <para>
            The public-policy status for this bucket. <code>TRUE</code> indicates that this bucket
            is public. <code>FALSE</code> indicates that the bucket is not public.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PublicAccessBlockConfiguration">
            <summary>
            The container element for all Public Access Block configuration options. You can enable
            the configuration options in any combination.
            
             
            <para>
            Amazon S3 considers a bucket policy public unless at least one of the following conditions
            is true:
            </para>
             <ol> <li> 
            <para>
            The policy limits access to a set of CIDRs using <code>aws:SourceIp</code>. For more
            information on CIDR, see <a href="http://www.rfc-editor.org/rfc/rfc4632.txt">http://www.rfc-editor.org/rfc/rfc4632.txt</a>
            
            </para>
             </li> <li> 
            <para>
            The policy grants permissions, not including any "bad actions," to one of the following:
            </para>
             <ul> <li> 
            <para>
            A fixed AWS principal, user, role, or service principal
            </para>
             </li> <li> 
            <para>
            A fixed <code>aws:SourceArn</code> 
            </para>
             </li> <li> 
            <para>
            A fixed <code>aws:SourceVpc</code> 
            </para>
             </li> <li> 
            <para>
            A fixed <code>aws:SourceVpce</code> 
            </para>
             </li> <li> 
            <para>
            A fixed <code>aws:SourceOwner</code> 
            </para>
             </li> <li> 
            <para>
            A fixed <code>aws:SourceAccount</code> 
            </para>
             </li> <li> 
            <para>
            A fixed value of <code>s3:x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
            A fixed value of <code>aws:userid</code> outside the pattern "<code>AROLEID:*</code>"
            </para>
             </li> </ul> </li> </ol> 
            <para>
            "Bad actions" are those that could expose the data inside a bucket to reads or writes
            by the public. These actions are <code>s3:Get*</code>, <code>s3:List*</code>, <code>s3:AbortMultipartUpload</code>,
            <code>s3:Delete*</code>, <code>s3:Put*</code>, and <code>s3:RestoreObject</code>.
            </para>
             
            <para>
            The star notation for bad actions indicates that all matching operations are considered
            bad actions. For example, because <code>s3:Get*</code> is a bad action, <code>s3:GetObject</code>,
            <code>s3:GetObjectVersion</code>, and <code>s3:GetObjectAcl</code> are all bad actions.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PublicAccessBlockConfiguration.BlockPublicAcls">
            <summary>
            Gets and sets the property BlockPublicAcls.  
            <para>
            Specifies whether Amazon S3 should block public ACLs for this bucket. Setting this
            element to <code>TRUE</code> causes the following behavior:
            </para>
             <ul> <li> 
            <para>
            PUT Bucket acl and PUT Object acl calls will fail if the specified ACL allows public
            access.
            </para>
             </li> <li> 
            <para>
            PUT Object calls will fail if the request includes an object ACL.
            </para>
             </li> </ul> 
            <para>
            Note that enabling this setting doesn't affect existing policies or ACLs.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PublicAccessBlockConfiguration.IgnorePublicAcls">
            <summary>
            Gets and sets the property IgnorePublicAcls. 
            <para>
            Specifies whether Amazon S3 should ignore public ACLs for this bucket. Setting this
            element to <code>TRUE</code> causes Amazon S3 to ignore all public ACLs on this bucket
            and any objects that it contains. 
            </para>
             
            <para>
            Note that enabling this setting doesn't affect the persistence of any existing ACLs
            and doesn't prevent new public ACLs from being set.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PublicAccessBlockConfiguration.BlockPublicPolicy">
            <summary>
            Gets and sets the property BlockPublicPolicy. 
            <para>
            Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting
            this element to <code>TRUE</code> causes Amazon S3 to reject calls to PUT Bucket policy
            if the specified bucket policy allows public access. 
            </para>
             
            <para>
            Note that enabling this setting doesn't affect existing bucket policies.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PublicAccessBlockConfiguration.RestrictPublicBuckets">
            <summary>
            Gets and sets the property RestrictPublicBuckets. 
            <para>
            Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
            If this element is set to <code>TRUE</code>, then only the bucket owner and AWS Services
            can access this bucket if it has a public policy.
            </para>
             
            <para>
            Note that enabling this setting doesn't affect previously stored bucket policies,
            except that public and cross-account access within any public bucket policy, including
            non-public delegation to specific accounts, is blocked.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutACLRequest">
            <summary>
            Container for the parameters to the PutAcl operation.
            <para>uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutACLRequest.CannedACL">
            <summary>
            The canned ACL to apply to the bucket.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutACLRequest.AccessControlList">
            <summary>
            Custom ACLs to be applied to the bucket or object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutACLRequest.BucketName">
            <summary>
            <para>The bucket name that contains the object to which you want to attach the ACL.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutACLRequest.Key">
            <summary>
            The key of an S3 object.
            If not specified, the ACLs are applied to the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutACLRequest.VersionId">
            <summary>
            If set and an object key has been specified, the ACLs are applied
            to the specific version of the object.
            This property is ignored if the ACL is to be set on a Bucket.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutACLRequest.IsSetVersionId">
            <summary>
            Checks if VersionId property is set.
            </summary>
            <returns>true if VersionId property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.PutACLResponse">
            <summary>
            Returns information about the PutObjectAcl response metadata.
            The PutAcl operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketAccelerateConfigurationResponse">
            <summary>
            The response for the PutBucketAccelerateConfiguration operation.
            <para>Adds an object to a bucket.</para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketAccelerateConfigurationRequest">
            <summary> 
            Container for the parameters to the PutBucketAccelerateConfiguration request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketAccelerateConfigurationRequest.BucketName">
            <summary>
            The name of the bucket to contain the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketAccelerateConfigurationRequest.AccelerateConfiguration">
            <summary>
            Accelerate configuration for the bucket.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest">
            <summary>
            Container for the parameters to the PutBucketAnalyticsConfiguration operation.
            <para>Sets an analytics configuration for the bucket (specified by the analytics configuration ID).</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket to which an analytics configuration is stored.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest.AnalyticsId">
            <summary>
            The identifier used to represent an analytics configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest.AnalyticsConfiguration">
            <summary>
            The configuration and any analyses for the analytics filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketAnalyticsConfigurationResponse">
            <summary>
            Returns information about the PutBucketAnalyticsConfigurationResponse response metadata.
            The PutBucketAnalyticsConfigurationResponse operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketEncryptionRequest">
            <summary>
            Container for the parameters to the PutBucketRequestPayment operation.
            <para>Creates a new server-side encryption configuration (or replaces an existing one, if present).</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketEncryptionRequest.BucketName">
            <summary>
            The name of the bucket for which the server-side encryption configuration is set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketEncryptionRequest.ContentMD5">
            <summary>
            The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.
            </summary>
            <remarks>
            This header can be used as a message integrity check to verify that the data is the same data that was originally sent. 
            Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. 
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketEncryptionRequest.ServerSideEncryptionConfiguration">
            <summary>
            Container for server-side encryption configuration rules. Currently S3 supports one rule only.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketInventoryConfigurationRequest">
            <summary>
            Container for the parameters to the PutBucketRequestPayment operation.
            <para>Adds an inventory configuration (identified by the inventory ID) from the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketInventoryConfigurationRequest.BucketName">
            <summary>
            The name of the bucket where the inventory configuration will be stored.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketInventoryConfigurationRequest.InventoryId">
            <summary>
            Specifies the inventory Id.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketInventoryConfigurationRequest.InventoryConfiguration">
            <summary>
            Specifies the inventory configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketInventoryConfigurationResponse">
            <summary>
            Returns information about the PutInventoryConfigurationResponse response metadata.
            The PutInventoryConfigurationResponse operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketLoggingRequest">
            <summary>
            Container for the parameters to the PutBucketLoggingRequest operation.
            <para>Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the
            logging status of a bucket, you must be the bucket owner.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketLoggingRequest.BucketName">
            <summary>
            Gets and sets the BucketName property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketLoggingRequest.LoggingConfig">
            <summary>
            Gets and sets the LoggingConfig property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketLoggingResponse">
            <summary>
            Returns information about the PutBucketLogging response metadata.
            The EnableBucketLogging operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketMetricsConfigurationRequest">
            <summary>
            Container for the parameters to the PutBucketMetricsConfigurationRequest operation.
            <para>Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketMetricsConfigurationRequest.BucketName">
            <summary>
            The name of the bucket for which the metrics configuration is set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketMetricsConfigurationRequest.MetricsId">
            <summary>
            The ID used to identify the metrics configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketMetricsConfigurationRequest.MetricsConfiguration">
            <summary>
            Specifies the metrics configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketMetricsConfigurationResponse">
            <summary>
            Returns information about the PutBucketMetricsConfiguration response metadata.
            The PutBucketMetricsConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketNotificationRequest">
            <summary>
            Container for the parameters to the PutBucketNotification operation.
            <para>Enables notifications of specified events for a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketNotificationRequest.BucketName">
            <summary>
            Gets and sets the BucketName property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketNotificationRequest.TopicConfigurations">
            <summary>
            Gets and sets the TopicConfigurations property. TopicConfigurations are configuration for Amazon S3 
            events to be sent to Amazon SNS topics.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketNotificationRequest.QueueConfigurations">
            <summary>
            Gets and sets the QueueConfigurations property. QueueConfigurations are configuration for Amazon S3 
            events to be sent to Amazon SQS queues.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketNotificationRequest.LambdaFunctionConfigurations">
            <summary>
            Gets and sets the LambdaFunctionConfigurations property. LambdaFunctionConfigurations are configuration for 
            Amazon S3 events to be sent to an Amazon Lambda cloud function.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketNotificationResponse">
            <summary>
            Returns information about the PutBucketNotification response metadata.
            The PutBucketNotification operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketPolicyRequest">
            <summary>
            Container for the parameters to the PutBucketPolicy operation.
            <para>Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketPolicyRequest.BucketName">
            <summary>
            The name of the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketPolicyRequest.ContentMD5">
            <summary>
            The base64 encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. 
            </summary>
            <remarks>
            This header can be used as a message integrity check to verify that the data is the same data that was originally sent. 
            Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. 
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketPolicyRequest.Policy">
            <summary>
            The bucket policy as a JSON document.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketPolicyRequest.ConfirmRemoveSelfBucketAccess">
            <summary>
            Set this parameter to true to confirm that you want to remove your 
            permissions to change this bucket policy in the future.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketPolicyRequest.IncludeSHA256Header">
            <summary>
            Overriden to turn off sending SHA256 header.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketPolicyResponse">
            <summary>
            Returns information about the PutBucketPolicy response metadata.
            The PutBucketPolicy operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketReplicationRequest">
            <summary>
            Container for the parameters to the PutBucketReplication operation.
            <para>Sets replication configuration for your bucket. If a replication configuration exists, this replaces it.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketReplicationRequest.BucketName">
            <summary>
            The name of the bucket to have the replication configuration applied.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketReplicationRequest.Configuration">
            <summary>
            The replication configuration to be applied.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketReplicationRequest.Token">
            <summary>
            Gets and sets the property Token.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketReplicationResponse">
            <summary>
            Returns information about the PutBucketReplicationConfiguration response metadata.
            The PutBucketReplicationConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketRequest">
            <summary>
            Container for the parameters to the PutBucket operation.
            <para>Creates a new bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.CannedACL">
            <summary>
            The canned ACL to apply to the bucket.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.UseClientRegion">
            <summary>
            If set to true the bucket will be created in the same region
            as the configuration of the AmazonS3 client.
            If PutBucketRequest.BucketRegion or PutBucketRequest.BucketRegionName are set they take precedence over
            this property.
            Default: true.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.BucketName">
            <summary>
            The name of the bucket to be created.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.BucketRegion">
            <summary>
            The region locality for the bucket.
            </summary>
            <remarks>
            When set, this will determine where your data will
            reside in S3. Refer <see cref="T:Amazon.S3.S3Region"/>
            for a list of possible values.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.BucketRegionName">
            <summary>
            The bucket region locality expressed using the name of the region.
            When set, this will determine where your data will reside in S3.
            Valid values: us-east-1, us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, sa-east-1
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequest.ObjectLockEnabledForBucket">
            <summary>
            Gets and sets the property ObjectLockEnabledForBucket. 
            <para>
            Specifies whether you want S3 Object Lock to be enabled for the new bucket.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketRequestPaymentRequest">
            <summary>
            Container for the parameters to the PutBucketRequestPayment operation.
            <para>Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This
            configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the
            download.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequestPaymentRequest.BucketName">
            <summary>
            The name of the bucket to set payment config.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketRequestPaymentRequest.RequestPaymentConfiguration">
            <summary>
            Gets and sets request payment configuration
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketRequestPaymentResponse">
            <summary>
            Returns information about the PutBucketRequestPayment response metadata.
            The PutBucketRequestPayment operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketResponse">
            <summary>
            Returns information about the  PutBucket response and response metadata.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketTaggingRequest">
            <summary>
            Container for the parameters to the PutBucketTagging operation.
            <para>Sets the tags for a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketTaggingRequest.BucketName">
            <summary>
            The name of the bucket to apply the tags to.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketTaggingRequest.TagSet">
            <summary>
            The collection of tags.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketTaggingResponse">
            <summary>
            Returns information about the PutBucketTagging response metadata.
            The PutBucketTagging operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketVersioningRequest">
            <summary>
            Container for the parameters to the PutBucketVersioning operation.
            <para>Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketVersioningRequest.BucketName">
            <summary>
            The name of the bucket to be updated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketVersioningRequest.MfaCodes">
            <summary>
            The MfaCodes Tuple associates the Serial Number and the current Token/Code displayed on the
            Multi-Factor Authentication device associated with your AWS Account. 
            </summary>
            <remarks>
            This is a required property for this request if:<br />
            1. EnableMfaDelete was configured on the bucket
            containing this object's version.<br />
            2. You are deleting an object's version
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.PutBucketVersioningRequest.IsSetMfaCodes">
            <summary>
            Checks if the MfaCodes property is set.
            </summary>
            <returns>true if the MfaCodes property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketVersioningRequest.VersioningConfig">
            <summary>
            The versioning configuration to apply to the bucket.
            </summary>
            <remarks>
            Once Versioning has been "Enabled" on a bucket, it can be "Suspended" 
            but cannot be switched "Off". If EnableMfaDelete is set,
            the MfaCodes property needs to contain the Serial of and current Token
            displayed on the MFA device.
            </remarks>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketVersioningResponse">
            <summary>
            Returns information about the PutBucketVersioning response metadata.
            The PutBucketVersioning operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketWebsiteRequest">
            <summary>
            Container for the parameters to the PutBucketWebsite operation.
            <para>Set the website configuration for a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketWebsiteRequest.BucketName">
            <summary>
            The name of the bucket to apply the configuration to.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutBucketWebsiteRequest.WebsiteConfiguration">
            <summary>
            The website configuration to apply. The configuration defines the index
            document suffix and custom error page.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutBucketWebsiteResponse">
            <summary>
            Returns information about the PutBucketWebsite response metadata.
            The PutBucketWebsite operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutCORSConfigurationRequest">
            <summary>
            Container for the parameters to the PutCORSConfiguration operation.
            <para>Sets the cors configuration for a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutCORSConfigurationRequest.BucketName">
            <summary>
            The name of the bucket to have the CORS configuration applied.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutCORSConfigurationRequest.Configuration">
            <summary>
            The CORS configuration to apply.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutCORSConfigurationResponse">
            <summary>
            Returns information about the PutCORSConfiguration response metadata.
            The PutCORSConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutLifecycleConfigurationRequest">
            <summary>
            Container for the parameters to the PutLifecycleConfiguration operation.
            <para>Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutLifecycleConfigurationRequest.BucketName">
            <summary>
            The name of the bucket to have the lifecycle configuration applied.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutLifecycleConfigurationRequest.Configuration">
            <summary>
            The lifecycle configuration to be applied.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutLifecycleConfigurationResponse">
            <summary>
            Returns information about the PutLifecycleConfiguration response metadata.
            The PutLifecycleConfiguration operation has a void result type.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectLegalHoldRequest">
            <summary>
            Container for the parameters to the PutObjectLegalHold operation.
            Applies a Legal Hold configuration to the specified object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.BucketName">
            <summary>
            <para>The bucket name containing the object that you want to place a Legal Hold on.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.ContentMD5">
            <summary>
            Gets and sets the property ContentMD5. 
            <para>
            The MD5 signature for the configuration included in your request.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.Key">
            <summary>
            Gets and sets the property Key. 
            <para>
            The key name for the object that you want to place a Legal Hold on.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.LegalHold">
            <summary>
            Gets and sets the property LegalHold. 
            <para>
            Container element for the Legal Hold configuration you want to apply to the specified
            object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.RequestPayer">
            <summary>
            Gets and sets the property RequestPayer.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldRequest.VersionId">
            <summary>
            Gets and sets the property VersionId. 
            <para>
            The version ID of the object that you want to place a Legal Hold on.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectLegalHoldResponse">
            <summary>
            This is the response object from the PutObjectLegalHold operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLegalHoldResponse.RequestCharged">
            <summary>
            Gets and sets the property RequestCharged.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectLockConfigurationRequest">
            <summary>
            Container for the parameters to the PutObjectLockConfiguration operation.
            Places an Object Lock configuration on the specified bucket. The rule specified in
            the Object Lock configuration will be applied by default to every new object placed
            in the specified bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
            The bucket whose Object Lock configuration you want to create or replace.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationRequest.ContentMD5">
            <summary>
            Gets and sets the property ContentMD5. 
            <para>
            The MD5 signature for the configuration included in your request.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationRequest.ObjectLockConfiguration">
            <summary>
            Gets and sets the property ObjectLockConfiguration. 
            <para>
            The Object Lock configuration that you want to apply to the specified bucket.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationRequest.RequestPayer">
            <summary>
            Gets and sets the property RequestPayer.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationRequest.Token">
            <summary>
            Gets and sets the property Token.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectLockConfigurationResponse">
            <summary>
            This is the response object from the PutObjectLockConfiguration operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectLockConfigurationResponse.RequestCharged">
            <summary>
            Gets and sets the property RequestCharged.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectRequest">
            <summary>
            Container for the parameters to the PutObject operation.
            <para>Adds an object to a bucket.</para>
            </summary>
            <summary>
            Container for the parameters to the PutObject operation.
            <para>Adds an object to a bucket.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.CannedACL">
            <summary>
            A canned access control list (CACL) to apply to the object.
            Please refer to <see cref="T:Amazon.S3.S3CannedACL"/> for
            information on S3 Canned ACLs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.InputStream">
            <summary>
            Input stream for the request; content for the request will be read from the stream.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.FilePath">
            <summary>
            <para>
            The full path and name to a file to be uploaded.
            If this is set the request will upload the specified file to S3. 
            </para>
            <para>
            For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt".
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ContentBody">
            <summary>
            Text content to be uploaded. Use this property if you want to upload plaintext to S3. 
            The content type will be set to 'text/plain'.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.AutoCloseStream">
            <summary>
            If this value is set to true then the stream used with this request will be closed when all the content 
            is read from the stream.  
            Default: true.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.AutoResetStreamPosition">
            <summary>
            If this value is set to true then the stream will be seeked back to the start before being read for upload.
            Default: true.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.UseChunkEncoding">
            <summary>
            If this value is set to true then a chunked encoding upload will be used for the request.
            Default: true.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.BucketName">
            <summary>
            <para>Bucket name to which the PUT operation was initiated.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.Key">
            <summary>
            Gets and sets Key property. This key is used to identify the object in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceEncryptionContext property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.StorageClass">
            <summary>
            The type of storage to use for the object. Defaults to 'STANDARD'.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ObjectLockLegalHoldStatus">
            <summary>
            Gets and sets the property ObjectLockLegalHoldStatus. 
            <para>
            The Legal Hold status that you want to apply to the specified object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ObjectLockMode">
            <summary>
            Gets and sets the property ObjectLockMode. 
            <para>
            The Object Lock mode that you want to apply to this object.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ObjectLockRetainUntilDate">
            <summary>
            Gets and sets the property ObjectLockRetainUntilDate. 
            <para>
            The date and time when you want this object's Object Lock to expire.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.WebsiteRedirectLocation">
            <summary>
            If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL.
            Amazon S3 stores the value of this header in the object metadata.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.StreamTransferProgress">
            <summary>
            Attach a callback that will be called as data is being sent to the AWS Service.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ContentType">
            <summary>
            This is a convenience property for Headers.ContentType.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.MD5Digest">
            <summary>
            An MD5 digest for the content.
            </summary>
            <remarks>
            <para>
            The base64 encoded 128-bit MD5 digest of the message
            (without the headers) according to RFC 1864. This header
            can be used as a message integrity check to verify that
            the data is the same data that was originally sent.
            </para>
            <para>
            If supplied, after the file has been uploaded to S3,
            S3 checks to ensure that the MD5 hash of the uploaded file
            matches the hash supplied.
            </para>
            <para>
            Although it is optional, we recommend using the
            Content-MD5 mechanism as an end-to-end integrity check.
            </para>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetMD5Digest">
            <summary>
            Checks if MD5Digest property is set.
            </summary>
            <returns>true if MD5Digest property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.IncludeSHA256Header">
            <summary>
            Overriden to turn off sending SHA256 header.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.Expect100Continue">
            <summary>
            Overriden to turn on expect 100 continue.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.TagSet">
            <summary>
            The tag-set for the object. The tag-set must be encoded as URL Query parameters.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectRequest.IsSetTagSet">
            <summary>
            Checks if Tagging property is set
            </summary>
            <returns>true if Tagging is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.Timeout">
            <summary>
            Overrides the default request timeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used
            to send requests.
            </para>
            <para>
            Please specify a timeout value only if the operation will not complete within the default intervals
            specified for an HttpWebRequest/HttpClient.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            <seealso cref="P:System.Net.HttpWebRequest.Timeout"/>
            <seealso cref="P:System.Net.Http.HttpClient.Timeout"/>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRequest.ReadWriteTimeout">
            <summary>
            Overrides the default ReadWriteTimeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used
            to send requests.
            </para>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            </remarks>
            <seealso cref="P:System.Net.HttpWebRequest.ReadWriteTimeout"/>
            <seealso cref="P:System.Net.Http.WebRequestHandler.ReadWriteTimeout"/>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectResponse">
            <summary>
            Returns information about the  PutObject response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.Expiration">
            <summary>
            Gets and sets the Expiration property.
            Specifies the expiration date for the object and the
            rule governing the expiration.
            Is null if expiration is not applicable.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ETag">
            <summary>
            Entity tag for the uploaded object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.VersionId">
            <summary>
            Version of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectResponse.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.ServerSideEncryptionKeyManagementServiceEncryptionContext">
            <summary>
            Specifies the AWS KMS Encryption Context to use for object encryption.
            The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectRetentionRequest">
            <summary>
            Container for the parameters to the PutObjectRetention operation.
            Places an Object Retention configuration on an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.BucketName">
            <summary>
            <para>The bucket name that contains the object you want to apply this Object Retention configuration to.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.BypassGovernanceRetention">
            <summary>
            Gets and sets the property BypassGovernanceRetention.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.ContentMD5">
            <summary>
            Gets and sets the property ContentMD5. 
            <para>
            The MD5 signature for the configuration included in your request.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.Key">
            <summary>
            Gets and sets the property Key. 
            <para>
            The key name for the object that you want to apply this Object Retention configuration
            to.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.RequestPayer">
            <summary>
            Gets and sets the property RequestPayer.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.Retention">
            <summary>
            Gets and sets the property Retention. 
            <para>
            The container element for the Object Retention configuration.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionRequest.VersionId">
            <summary>
            Gets and sets the property VersionId. 
            <para>
            The version ID for the object that you want to apply this Object Retention configuration
            to.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectRetentionResponse">
            <summary>
            This is the response object from the PutObjectRetention operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectRetentionResponse.RequestCharged">
            <summary>
            Gets and sets the property RequestCharged.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectTaggingRequest">
            <summary>
            Container for the parameters to the PutObjectTagging operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectTaggingRequest.BucketName">
            <summary>
            <para>The bucket name containing the object.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectTaggingRequest.IsSetBucket">
            <summary>
            Check to see if Bucket property is set 
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectTaggingRequest.Key">
            <summary>
            Gets and sets Key property. This key is used to identify the object in S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectTaggingRequest.IsSetKey">
            <summary>
            Check to see if Key property is set
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectTaggingRequest.Tagging">
            <summary>
            The tag-set for the object. The tag-set must be encoded as URL Query parameters
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.PutObjectTaggingRequest.IsSetTagging">
            <summary>
            Checks if Tagging property is set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectTaggingRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutObjectTaggingResponse">
            <summary>
            Returns information about the  PutObjectTagging response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutObjectTaggingResponse.VersionId">
            <summary>
            Version of the object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutPublicAccessBlockRequest">
            <summary>
            Container for the parameters to the PutPublicAccessBlock operation.
            Creates or modifies the Public Access Block configuration for an Amazon S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutPublicAccessBlockRequest.BucketName">
            <summary>
            Gets and sets the property BucketName. 
            <para>
            The name of the Amazon S3 bucket whose Public Access Block configuration you want
            to set.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutPublicAccessBlockRequest.ContentMD5">
            <summary>
            Gets and sets the property ContentMD5. 
            <para>
             The MD5 hash of the <code>PutPublicBlock</code> request body. 
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutPublicAccessBlockRequest.PublicAccessBlockConfiguration">
            <summary>
            Gets and sets the property PublicAccessBlockConfiguration. 
            <para>
            The Public Access Block configuration that you want to apply to this Amazon S3 bucket.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutPublicAccessBlockResponse">
            <summary>
            This is the response object from the PutPublicAccessBlock operation.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.PutWithACLRequest">
            <summary>
            Base class for put operations that can also put an ACL.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.PutWithACLRequest.Grants">
            <summary>
            Gets the access control lists (ACLs) for this request. 
            Please refer to <see cref="T:Amazon.S3.Model.S3Grant"/> for information on
            S3 Grants.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.QueueConfiguration">
            <summary>
            This class contains the configuration Amazon S3 uses to figure out what events you want to listen 
            and send the event to an Amazon SQS queue.
            <para>
            The queue's policy must allow S3 to send messages to it. The utility method 
            Amazon.SQS.AmazonSQSClient.AuthorizeS3ToSendMessage(string,string)
            can be used to help setup the queue policy.
            </para>    
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.QueueConfiguration.Id">
            <summary>
            Gets and set the Id property. The Id will be provided in the event content and can be used 
            to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.QueueConfiguration.Queue">
            <summary>
            Gets and sets the Queue property. Amazon SQS queue to which Amazon S3 will publish a message 
            to report the specified events for the bucket.
            <para>
            The queue's policy must allow S3 to send messages to it. The utility method 
            Amazon.SQS.AmazonSQSClient.AuthorizeS3ToSendMessage(string,string)
            can be used to help setup the queue policy.
            </para>  
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationConfiguration">
            <summary>
            This class defines the configuration for replication.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationConfiguration.Role">
            <summary>
            Indicates the ARN of the role to assume.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationConfiguration.IsSetRole">
            <summary>
            Check to see if the Role property is set.
            </summary>
            <returns>true if the Role property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationConfiguration.Rules">
            <summary>
            Container for information about a particular replication rule.
            Replication configuration must have at least one rule and can contain up to 1,000 rules.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationConfiguration.IsSetRules">
            <summary>
            Checks to see if the Rules property is set.
            </summary>
            <returns>true if the Rules property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationDestination">
            <summary>
            Destination configuration for a replication rule.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.BucketArn">
            <summary>
            <p> Amazon resource name (ARN) of the bucket where you want Amazon
            S3 to store replicas of the object identified by the rule. </p> <p>
            If you have multiple rules in your replication configuration, all
            rules must specify the same bucket as the destination. A replication
            configuration can replicate objects only to one destination bucket. </p>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationDestination.IsSetBucketArn">
            <summary>
            Checks to see if BucketArn property is set.
            </summary>
            <returns>true if BucketArn property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.AccountId">
            <summary>
            <p> Account ID of the destination bucket. Currently Amazon S3 verifies this
            value only if Access Control Translation is enabled. </p> <p> In a cross-account
            scenario, if you tell Amazon S3 to change replica ownership to the AWS account
            that owns the destination bucket by adding the <code>AccessControlTranslation</code>
            element, this is the account ID of the destination bucket owner. </p>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.AccessControlTranslation">
            <summary>
            <p> Container for information regarding the access control for replicas. </p>
            <p> Use only in a cross-account scenario, where source and destination bucket
            owners are not the same, when you want to change replica ownership to the AWS
            account that owns the destination bucket. If you don't add this element to the
            replication configuration, the replicas are owned by same AWS account that
            owns the source object. </p>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.EncryptionConfiguration">
            <summary>
            <p> Container that provides encryption-related information. You must
            specify this element if the <code>SourceSelectionCriteria</code> is
            specified. </p>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.ReplicationTime">
            <summary>
            A container specifying the time when all objects and operations on objects are 
            replicated. Must be specified together with a <code>Metrics</code> block.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationDestination.Metrics">
            <summary>
            A container specifying replication metrics-related information, including whether 
            emitting metrics and Amazon S3 events for replication are enabled. In addition, 
            contains configurations related to specific metrics or events. Must be specified 
            together with a <code>ReplicationTime</code> block.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationRule">
            <summary>
            Rule that specifies the replication configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Id">
            <summary>
            Unique identifier for the rule. The value cannot be longer than 255 characters.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetId">
            <summary>
            Checks to see if Id property is set.
            </summary>
            <returns>true if Id property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Priority">
            <summary>
            <p>The priority associated with the rule. If you specify multiple rules in a
            replication configuration, then Amazon S3 applies rule priority in the event
            there are conflicts (two or more rules identify the same object based on
            filter specified). The rule with higher priority takes precedence. For
            example,</p> <ul> <li> <p>Same object quality prefix based filter criteria
            If prefixes you specified in multiple rules overlap. </p> </li> <li> <p>Same
            object qualify tag based filter criteria specified in multiple rules</p> </li>
            </ul> <p>For more information, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html">
            Cross-Region Replication (CRR)</a> in the Amazon S3 Developer Guide.</p>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetPriority">
            <summary>
            Checks to see if Priority property is set.
            </summary>
            <returns>true if Priority property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Prefix">
            <summary>
            Object keyname prefix identifying one or more objects to which the
            rule applies. Maximum prefix length can be up to 1,024 characters.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetPrefix">
            <summary>
            Checks to see if Prefix property is set.
            </summary>
            <returns>true if Prefix property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Filter">
            <summary>
            Gets and sets the property Filter.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetFilter">
            <summary>
            Checks to see if Filter property is set.
            </summary>
            <returns>true if Filter property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Status">
            <summary>
            Whether the rule is applied or ignored.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetStatus">
            <summary>
            Checks to see if Status property is set.
            </summary>
            <returns>true if Status property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.Destination">
            <summary>
            Container for replication destination information.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetDestination">
            <summary>
            Checks to see if Destination property is set.
            </summary>
            <returns>true if Destination property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.SourceSelectionCriteria">
            <summary>
            <p> Container that describes additional filters in identifying source objects that
            you want to replicate. Currently, Amazon S3 supports only the filter that you can
            specify for objects created with server-side encryption using an AWS KMS-managed
            key. You can choose to enable or disable replication of these objects. </p> <p> if
            you want Amazon S3 to replicate objects created with server-side encryption using
            AWS KMS-managed keys. </p>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.ExistingObjectReplication">
            <summary>
            A container that specifies information about existing object replication. 
            You can choose whether to enable or disable the replication of existing objects.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetExistingObjectReplication">
            <summary>
            Checks to see if ExistingObjectReplication property is set.
            </summary>
            <returns>true if ExistingObjectReplication property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRule.DeleteMarkerReplication">
            <summary>
            Specifies whether Amazon S3 should replicate delete makers.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRule.IsSetDeleteMarkerReplication">
            <summary>
            Checks to see if DeleteMarkerReplication property is set.
            </summary>
            <returns>true if DeleteMarkerReplication property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationRuleAndOperator">
            <summary>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRuleAndOperator.Prefix">
            <summary>
            Object keyname prefix that identifies subset of objects to which the rule applies.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRuleAndOperator.IsSetPrefix">
            <summary>
            Checks to see if Prefix property is set.
            </summary>
            <returns>true if Prefix property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRuleAndOperator.Tags">
            <summary>
            All of these tags must exist in the object's tag set in order for the rule to apply.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRuleAndOperator.IsSetTags">
            <summary>
            Checks to see if Tags property is set.
            </summary>
            <returns>true if Tags property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationRuleFilter">
            <summary>
            Filter that identifies subset of objects to which the replication rule applies.
            A <code>Filter</code> must specify exactly one <code>Prefix</code>,
            <code>Tag</code>, or an <code>And</code> child element.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRuleFilter.Prefix">
            <summary>
            Object keyname prefix that identifies subset of objects to which the rule applies.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRuleFilter.IsSetPrefix">
            <summary>
            Checks to see if Prefix property is set.
            </summary>
            <returns>true if Prefix property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRuleFilter.Tag">
            <summary>
            <p>Container for specifying a tag key and value. </p>
            <p>The rule applies only to objects having the tag in its tagset.</p>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRuleFilter.IsSetTag">
            <summary>
            Checks to see if Tag property is set.
            </summary>
            <returns>true if Tag property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationRuleFilter.And">
            <summary>
            <p>Container for specifying rule filters. These filters determine the
            subset of objects to which the rule applies. The element is required
            only if you specify more than one filter. For example: </p> <ul> <li>
            <p>You specify both a <code>Prefix</code> and a <code>Tag</code>
            filters. Then you wrap these in an <code>And</code> tag.</p> </li>
            <li> <p>You specify filter based on multiple tags. Then you wrap the
            <code>Tag</code> elements in an <code>And</code> tag.</p> </li> </ul>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.ReplicationRuleFilter.IsSetAnd">
            <summary>
            Checks to see if And property is set.
            </summary>
            <returns>true if And property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationTime">
            <summary>
            A container specifying the time when all objects and operations on objects are replicated. Must be specified together with a <code>Metrics</code> block. 
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationTime.Status">
            <summary>
            Specifies whether the replication time is enabled.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationTime.Time">
            <summary>
            A container specifying the time by which replication should complete for all objects and operations on objects.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ReplicationTimeValue">
            <summary>
            A container specifying the time value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ReplicationTimeValue.Minutes">
            <summary>
            Contains an integer specifying time in minutes.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RequestPaymentConfiguration">
            <summary>
            Request Payment Configuration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RequestPaymentConfiguration.Payer">
            <summary>
            Specifies who pays for the download and request fees.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ResponseHeaderOverrides">
            <summary>
            Container for values of the response headers that will be set on a response from a GetObject request. 
            These values override any headers that were set when the object was uploaded to S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.ContentType">
            <summary>
            A standard MIME type describing the format of the object data.
            </summary>
            <remarks>
            The content type for the content being uploaded. This property defaults to "binary/octet-stream".
            For more information, refer to: <see href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17"/>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.ContentLanguage">
            <summary>
            ContentLanguage header value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.Expires">
            <summary>
            Expiry header value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.CacheControl">
            <summary>
            CacheControl header value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.ContentDisposition">
            <summary>
            The ContentDisposition header value.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ResponseHeaderOverrides.ContentEncoding">
            <summary>
            The ContentEncoding header value.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RestoreObjectRequest">
            <summary>
            Container for the parameters to the RestoreObject operation.
            <para>Restores an archived copy of an object back into Amazon S3</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.BucketName">
            <summary>
            <para>The bucket name or containing the object to restore.</para>
            <para>When using this API with an access point, you must direct requests to the access point hostname. 
            The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. 
            When using this operation using an access point through the AWS SDKs, you provide the access point 
            ARN in place of the bucket name. For more information about access point ARNs, see 
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> 
            in the <i>Amazon Simple Storage Service Developer Guide</i>.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.Key">
            <summary>
            Gets and sets the Key property. This key indicates the S3 object to restore.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.Days">
            <summary>
            Lifetime of the active copy in days
            ** Do not use with restores that specify OutputLocation **
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.VersionId">
            <summary>
            VersionId used to reference a specific version of the object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.RestoreObjectRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.Tier">
            <summary>
            Glacier retrieval tier at which the restore will be processed.
            ** Do not use with restores that specify OutputLocation **
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.RetrievalTier">
            <summary>
            Glacier retrieval tier at which the restore will be processed.
            ** Only use with restores that require OutputLocation **
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.RestoreRequestType">
            <summary>
            Type of restore request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.Description">
            <summary>
            The optional description for the job.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.SelectParameters">
            <summary>
            Describes the parameters for Select job types.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectRequest.OutputLocation">
            <summary>
            Describes the location where the restore job's output is stored.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RestoreObjectResponse">
            <summary>
            Returns information about the RestoreObject response metadata.
            The RestoreObject operation has a void result type.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.RestoreObjectResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.RestoreObjectResponse.RestoreOutputPath">
            <summary>
            Indicates the path in the provided S3 output location where Select results will be restored to.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RoutingRule">
            <summary>Routing Rule
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRule.Condition">
            <summary>
            A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the
            /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might
            process the error.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRule.Redirect">
            <summary>
            Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an
            error, you can can specify a different error code to return.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RoutingRuleCondition">
            <summary>
            <para>A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages
            in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you
            might process the error.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleCondition.HttpErrorCodeReturnedEquals">
            <summary>
            The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect
            is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then
            both must be true for the redirect to be applied.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleCondition.KeyPrefixEquals">
            <summary>
            The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be
            ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the
            docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both
            conditions are specified, both must be true for the redirect to be applied.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.RoutingRuleRedirect">
            <summary>
            <para>Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event
            of an error, you can can specify a different error code to return.</para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleRedirect.HostName">
            <summary>
            Name of the host where requests will be redirected.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleRedirect.HttpRedirectCode">
            <summary>
            The HTTP redirect code to use on the response. Not required if one of the siblings is present.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleRedirect.Protocol">
            <summary>
            Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleRedirect.ReplaceKeyPrefixWith">
            <summary>
            The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the
            docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to
            /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.RoutingRuleRedirect.ReplaceKeyWith">
            <summary>
            The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is
            present. Can be present only if ReplaceKeyPrefixWith is not provided.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3AccessControlList">
            <summary>
            Represents an access control list (ACL) for S3. An AccessControlList is represented by an Owner,
            and a List of Grants, where each Grant is a Grantee and a Permission.
            </summary>
            <remarks>
            <para>
            Each bucket and object in Amazon S3 has an ACL that defines its access control policy.
            When a request is made, Amazon S3 authenticates the request using its standard
            authentication procedure and then checks the ACL to verify the sender was granted access
            to the bucket or object. If the sender is approved, the request proceeds.
            Otherwise, Amazon S3 returns an error.
            </para>
            <para>
            An ACL is a list of grants. A grant consists of one grantee and one permission.
            ACLs only grant permissions; they do not deny them.
            </para>
            <para>
            For convenience, some commonly used Access Control Lists are defined in
            S3CannedACL.
            </para>
            <para>
            Note: BucketName and object ACLs are completely independent; an object does not inherit the ACL
            from its bucket. For example, if you create a bucket and grant write access to another user,
            you will not be able to access the user's objects unless the user explicitly grants access.
            This also applies if you grant anonymous write access to a bucket. Only the user "anonymous"
            will be able to access objects the user created unless permission is explicitly granted to
            the bucket owner.
            </para>
            <para>
            Important: We highly recommend that you do not grant the anonymous group write access to your
            buckets as you will have no control over the objects others can store and their associated charges.
            For more information, see Grantees and Permissions</para>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.S3AccessControlList.AddGrant(Amazon.S3.Model.S3Grantee,Amazon.S3.S3Permission)">
            <summary>
            Creates a S3Grant and adds it to the list of grants.
            </summary>
            <param name="grantee">The grantee for the grant.</param>
            <param name="permission">The permission for the grantee.</param>
        </member>
        <member name="M:Amazon.S3.Model.S3AccessControlList.RemoveGrant(Amazon.S3.Model.S3Grantee,Amazon.S3.S3Permission)">
            <summary>
            Removes a specific permission for the given grantee.
            </summary>
            <param name="grantee">The grantee</param>
            <param name="permission">The permission for the grantee to remove</param>
        </member>
        <member name="M:Amazon.S3.Model.S3AccessControlList.RemoveGrant(Amazon.S3.Model.S3Grantee)">
            <summary>
            Removes all permissions for the given grantee.
            </summary>
            <param name="grantee"></param>
        </member>
        <member name="P:Amazon.S3.Model.S3AccessControlList.Owner">
            <summary>
            The owner of the bucket or object.
            </summary>
            <remarks>
            <para>
            Every bucket and object in Amazon S3 has an owner, the user that
            created the bucket or object. The owner of a bucket or object cannot
            be changed. However, if the object is overwritten by another user
            (deleted and rewritten), the new object will have a new owner.
            </para>
            <para>
            Note: Even the owner is subject to the ACL. For example, if an owner
            does not have Permission.READ access to an object, the owner cannot read
            that object. However, the owner of an object always has write access to the
            access control policy (Permission.WriteAcp) and can change the ACL to
            read the object.
            </para>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.S3AccessControlList.IsSetOwner">
            <summary>
            Checks if Owner property is set.
            </summary>
            <returns>true if Owner property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.S3AccessControlList.Grants">
            <summary>
            A collection of grants.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.S3AccessControlList.IsSetGrants">
            <summary>
            Checks if Grants property is set.
            </summary>
            <returns>true if Grants property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.S3Bucket">
            <summary>Bucket
            Represents an S3 bucket, contains the name of the S3 bucket and the date that the bucket was created.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Bucket.CreationDate">
            <summary>
            Date the bucket was created.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Bucket.BucketName">
            <summary>
            The name of the bucket.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3BucketLoggingConfig">
            <summary>Logging Enabled
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3BucketLoggingConfig.TargetBucketName">
            <summary>
            Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own,
            including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In
            this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3BucketLoggingConfig.Grants">
            <summary>
            A collection of grants.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3BucketLoggingConfig.TargetPrefix">
            <summary>
            This element lets you specify a prefix for the keys that the log files will be stored under.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.S3BucketLoggingConfig.AddGrant(Amazon.S3.Model.S3Grantee,Amazon.S3.S3Permission)">
            <summary>
            Creates a S3Grant and adds it to the list of grants.
            </summary>
            <param name="grantee">The grantee for the grant.</param>
            <param name="permission">The permission for the grantee.</param>
        </member>
        <member name="M:Amazon.S3.Model.S3BucketLoggingConfig.RemoveGrant(Amazon.S3.Model.S3Grantee,Amazon.S3.S3Permission)">
            <summary>
            Removes a specific permission for the given grantee.
            </summary>
            <param name="grantee">The grantee</param>
            <param name="permission">The permission for the grantee to remove</param>
        </member>
        <member name="M:Amazon.S3.Model.S3BucketLoggingConfig.RemoveGrant(Amazon.S3.Model.S3Grantee)">
            <summary>
            Removes all permissions for the given grantee.
            </summary>
            <param name="grantee"></param>
        </member>
        <member name="T:Amazon.S3.Model.S3BucketVersioningConfig">
            <summary>
            An S3 bucket versioning configuration.
            </summary>
            <remarks>
            Contains the bucket's versioning status (Off, Enabled, Suspended) and whether an MFADelete 
            has been enabled for the bucket.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.S3BucketVersioningConfig.Status">
            <summary>
            Versioning status for the bucket.
            Accepted values: Off, Enabled, Suspended.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.S3BucketVersioningConfig.IsSetStatus">
            <summary>
            Checks if Status property is set
            </summary>
            <returns>true if Status property is set</returns>
        </member>
        <member name="P:Amazon.S3.Model.S3BucketVersioningConfig.EnableMfaDelete">
            <summary>
            Specifies whether MFA Delete is enabled on this S3 Bucket.
            </summary>
            <remarks>
            If this property is set, please ensure that the 
            PutBucketVersioningRequest's MfaCodes property is set with 
            the Serial of and Token on the MFA device.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Model.S3BucketVersioningConfig.IsSetEnableMfaDelete">
            <summary>
            Checks if EnableMfaDelete property is set.
            </summary>
            <returns>true if Status property is set</returns>
        </member>
        <member name="T:Amazon.S3.Model.S3Encryption">
            <summary>
            Describes the server-side encryption that will be applied to the restore results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Encryption.EncryptionType">
            <summary>
            The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Encryption.KMSKeyId">
            <summary>
            Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by
            AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at
            http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Encryption.KMSContext">
            <summary>
            If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3Grant">
            <summary>Grant
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grant.Grantee">
            <summary>
            The grantee details.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grant.Permission">
            <summary>
            Specifies the permission given to the grantee.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3Grantee">
            <summary>Grantee
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grantee.Type">
            <summary>
            Type of grantee
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grantee.DisplayName">
            <summary>
            Screen name of the grantee.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grantee.EmailAddress">
            <summary>
            Email address of the grantee.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grantee.CanonicalUser">
            <summary>
            The canonical user ID of the grantee.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Grantee.URI">
            <summary>
            URI of the grantee group.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3KeyFilter">
            <summary>
            Filter criteria that allows for event notification filtering based on an S3 Object's key name.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3KeyFilter.FilterRules">
            <summary>
            Gets and sets the filterRules property.
            These are the filter rules for this filter.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3Location">
            <summary>
            Describes an S3 location that will receive the results of the restore request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.BucketName">
            <summary>
            The name of the bucket where the restore results will be placed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.Prefix">
            <summary>
            The prefix that is prepended to the restore results for this request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.CannedACL">
            <summary>
            The canned ACL to apply to the restore results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.AccessControlList">
            <summary>
            A list of grants that control access to the staged results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.Tagging">
            <summary>
            The tag-set that is applied to the restore results.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.UserMetadata">
            <summary>
            A map of metadata to store with the restore results in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Location.StorageClass">
            <summary>
            The class of storage used to store the restore results.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3Object">
            <summary>
            Represents an S3 Object. Contains all attributes that an S3 Object has.
            For more information about S3 Objects refer:
            <see href="http://docs.amazonwebservices.com/AmazonS3/latest/UsingObjects.html"/>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.ETag">
            <summary>
            Any ETag set on the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.BucketName">
            <summary>
            The name of the bucket containing this object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.Key">
            <summary>
            The key of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.LastModified">
            <summary>
            The date and time the object was last modified.
            <remarks>
            The date retrieved from S3 is in ISO8601 format. A GMT formatted date is passed back to the user.
            </remarks>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.Owner">
            <summary>
            The owner of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.Size">
            <summary>
            The size of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3Object.StorageClass">
            <summary>
            The class of storage used to store the object.
             
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.S3ObjectVersion">
            <summary>
            Represents a version of an object in an S3 Bucket. An S3 object version is an S3 object
            that also has a version identifier, an indication of whether this is the latest version of the object 
            and whether it's a DeleteMarker or not.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3ObjectVersion.IsLatest">
            <summary>
            Specifies whether the object is (true) or is not (false) the latest version of an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3ObjectVersion.VersionId">
            <summary>
            Version ID of an object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.S3ObjectVersion.IsDeleteMarker">
            <summary>
            If true, the object is a delete marker for a deleted object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ScanRange">
            <summary>
            Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ScanRange.Start">
            <summary>
            Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ScanRange.End">
            <summary>
            Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SelectObjectContentRequest">
            <summary>
            Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement.
            <para>
            In the request, along with the SQL expression, you must also specify a data serialization format (JSON or CSV) of the object.
            Amazon S3 uses this to parse object data into records, and returns only records
            that match the specified SQL expression. You must also specify the data serialization format for the response.
            </para>
            </summary>
            <seealso href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html">
            S3Select API Documentation
            </seealso>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.Bucket">
            <summary>
            The S3 Bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.Key">
            <summary>
            The Object Key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.ServerSideCustomerEncryptionMethod">
            <summary>
            The SSE Algorithm used to encrypt the object.
            </summary>
            <seealso href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">
            Server-Side Encryption (Using Customer-Provided Encryption Keys.
            </seealso>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The SSE Customer Key.
            </summary>
            <seealso href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">
            Server-Side Encryption (Using Customer-Provided Encryption Keys.
            </seealso>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The SSE Customer Key MD5.
            </summary>
            <seealso href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">
            Server-Side Encryption (Using Customer-Provided Encryption Keys.
            </seealso>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.Expression">
            <summary>
            The expression that is used to query the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.ExpressionType">
            <summary>
            The type of the provided expression (e.g., SQL).
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.RequestProgress">
            <summary>
            Specifies if periodic request progress information should be enabled.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.InputSerialization">
            <summary>
            Describes the format of the data in the object that is being queried.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.OutputSerialization">
            <summary>
            Describes the format of the data that you want Amazon S3 to return in response.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentRequest.ScanRange">
            <summary>
            The byte range of the object to get the records from.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SelectObjectContentResponse">
            <summary>
            Contains the response Payload for the SelectObjectContent request
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectObjectContentResponse.Payload">
            <summary>
            The Event Stream result of SelectObjectContent
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SelectParameters">
            <summary>
            Describes the parameters for Select job types.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectParameters.InputSerialization">
            <summary>
            Describes the serialization format of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectParameters.ExpressionType">
            <summary>
            The type of the provided expression (e.g., SQL).
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectParameters.Expression">
            <summary>
            The expression that is used to query the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SelectParameters.OutputSerialization">
            <summary>
            Describes how the results of the Select job are serialized.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ServerSideEncryptionByDefault">
            <summary>
            ServerSideEncryptionByDefault class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ServerSideEncryptionByDefault.ServerSideEncryptionAlgorithm">
            <summary>
            Server-side encryption algorithm to use for the default encryption.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ServerSideEncryptionByDefault.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            KMS master key ID to use for the default encryption. 
            This parameter is allowed if SSEAlgorithm is aws:kms.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ServerSideEncryptionConfiguration">
            <summary>
            ServerSideEncryptionConfiguration class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ServerSideEncryptionConfiguration.ServerSideEncryptionRules">
            <summary>
            Container for information about a particular server-side encryption configuration rule.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.ServerSideEncryptionRule">
            <summary>
            ServerSideEncryptionRule class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.ServerSideEncryptionRule.ServerSideEncryptionByDefault">
            <summary>
            Describes the default server-side encryption to apply to 
            new objects in the bucket. If Put Object request 
            does not specify any server-side encryption, 
            this default encryption will be applied.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SourceSelectionCriteria">
            <summary>
            SourceSelectionCriteria class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SourceSelectionCriteria.SseKmsEncryptedObjects">
            <summary>
            Container for filter information of selection of KMS Encrypted
            S3 objects. The element is required if you include
            <code>SourceSelectionCriteria</code> in the replication
            configuration.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SSEKMS">
            <summary>
            SSEKMS class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SSEKMS.KeyId">
            <summary>
            Specifies the ID of the AWS Key Management Service (KMS) 
            master encryption key to use for encrypting Inventory reports.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SseKmsEncryptedObjects">
            <summary>
            SseKmsEncryptedObjects class
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.SseKmsEncryptedObjects.SseKmsEncryptedObjectsStatus">
            <summary>
            The replication for KMS encrypted S3 objects is disabled if status is not Enabled.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.SSES3">
            <summary>
            SSES3 class
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.StorageClassAnalysis">
            <summary>
            Class for StorageClassAnalysis
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StorageClassAnalysis.DataExport">
            <summary>
            A container used to describe how data related to the storage class analysis should be exported.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.StorageClassAnalysisDataExport">
            <summary>
            Class for StorageClassAnalysisDataExport
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StorageClassAnalysisDataExport.OutputSchemaVersion">
            <summary>
            The version of the output schema to use when exporting data. Must be V_1.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StorageClassAnalysisDataExport.Destination">
            <summary>
            The place to store the data for an analysis.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.StreamResponse">
            <summary>
            Base class for responses that return a stream.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.StreamResponse.Dispose">
            <summary>
            Disposes of all managed and unmanaged resources.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StreamResponse.ResponseStream">
            <summary>
            An open stream read from to get the data from S3. In order to
            use this stream without leaking the underlying resource, please
            wrap access to the stream within a using block.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.StreamSizeMismatchException">
            <summary>
            The exception that is thrown when the size of a stream does not match it's expected size.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StreamSizeMismatchException.ExpectedSize">
            <summary>
            Gets and sets ExpectedSize property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.StreamSizeMismatchException.ActualSize">
            <summary>
            Gets and sets ActualSize property.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Exception)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Int64,System.Int64,System.String,System.String)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="expectedSize"></param>
            <param name="actualSize"></param>
            <param name="requestId"></param>
            <param name="amazonId2"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Int64,System.Int64,System.String,System.String,System.String)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="expectedSize"></param>
            <param name="actualSize"></param>
            <param name="requestId"></param>
            <param name="amazonId2"></param>
            <param name="amazonCfId"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Exception,System.Int64,System.Int64,System.String,System.String)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="expectedSize"></param>
            <param name="actualSize"></param>
            <param name="requestId"></param>
            <param name="amazonId2"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.Exception)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="innerException"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Exception,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.String,System.Exception,Amazon.Runtime.ErrorType,System.String,System.String,System.Net.HttpStatusCode,System.String)">
            <summary>
            Construct an instance of StreamSizeMismatchException.
            </summary>
            <param name="message"></param>
            <param name="innerException"></param>
            <param name="errorType"></param>
            <param name="errorCode"></param>
            <param name="requestId"></param>
            <param name="statusCode"></param>
            <param name="amazonId2"></param>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructs a new instance of the AmazonServiceException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
        </member>
        <member name="M:Amazon.S3.Model.StreamSizeMismatchException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
        </member>
        <member name="T:Amazon.S3.Model.Tag">
            <summary>
            Tag is a key-value pair of metadata associated with an S3Object
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Tag.Key">
            <summary>
            Name of the tag.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Tag.Value">
            <summary>
            Value of the tag.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.Tagging">
            <summary>
            Structure that contains list of Tags
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.Tagging.TagSet">
            <summary>
            TagSet
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.TopicConfiguration">
            <summary>
            This class contains the configuration Amazon S3 uses to figure out what events you want to listen 
            and send the event to an Amazon SNS topic.
            <para>
            The topic's policy must allow S3 to publish messages to it. The utility method 
            Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient.AuthorizeS3ToPublish(string,string)
            can be used to help setup the topic policy.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TopicConfiguration.Id">
            <summary>
            Gets and set the Id property. The Id will be provided in the event content and can be used 
            to identify which configuration caused an event to fire. If the Id is not provided for the configuration, one will be generated.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TopicConfiguration.Event">
            <summary>
            Bucket event for which to send notifications.
            <para>
            Topic configurations can now contain multiple events. This property is obsolete in favor of the Events property.
            This property will always get or set the the zeroth element in the Events collection.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TopicConfiguration.Topic">
            <summary>
            Gets and sets the Topic property. Amazon SNS topic to which Amazon S3 will publish a message to report the 
            specified events for the bucket.
            <para>
            The topic's policy must allow S3 to publish messages to it. The utility method 
            Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceClient.AuthorizeS3ToPublish(string,string)
            can be used to help setup the topic policy.
            </para>
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.UploadPartRequest">
            <summary>
            The parameters to request upload of a part in a multipart upload operation.
            </summary>
            <remarks>
            <para>
            If PartSize is not specified then the rest of the content from the file
            or stream will be sent to Amazon S3.
            </para>
            <para>
            You must set either the FilePath or InputStream.  If FilePath is set then the FilePosition
            property must be set.
            </para>
            </remarks>
            <summary>
            The parameters to request upload of a part in a multipart upload operation.
            </summary>
            <remarks>
            <para>
            If PartSize is not specified then the rest of the content from the file
            or stream will be sent to Amazon S3.
            </para>
            <para>
            You must set either the FilePath or InputStream.  If FilePath is set then the FilePosition
            property must be set.
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.IsLastPart">
            <summary>
            Caller needs to set this to true when uploading the last part. This property only needs to be set
            when using the AmazonS3EncryptionClient.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.InputStream">
            <summary>
            Input stream for the request; content for the request will be read from the stream.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.BucketName">
            <summary>
            The name of the bucket containing the object to receive the part.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.Key">
            <summary>
            The key of the object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.PartNumber">
            <summary>
            Part number of part being uploaded.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.PartSize">
            <summary>
            The size of the part to be uploaded.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetPartSize">
            <summary>
            Checks if PartSize property is set.
            </summary>
            <returns>true if PartSize property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.UploadId">
            <summary>
            Upload ID identifying the multipart upload whose part is being uploaded.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.MD5Digest">
            <summary>
            An MD5 digest for the part.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetServerSideEncryptionCustomerProvidedKey">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKey property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            Checks if ServerSideEncryptionCustomerProvidedKeyMD5 property is set.
            </summary>
            <returns>true if ServerSideEncryptionCustomerProvidedKey property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.FilePath">
            <summary>
            <para>
            Full path and name of a file from which the content for the part is retrieved.
            </para>
            <para>
            For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt".
            </para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetFilePath">
            <summary>
            Checks if the FilePath property is set.
            </summary>
            <returns>true if FilePath property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.FilePosition">
            <summary>
            Position in the file specified by FilePath from which to retrieve the content of the part. 
            This field is required when a file path is specified. It is ignored when using the InputStream property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.UseChunkEncoding">
            <summary>
            If this value is set to true then a chunked encoding upload will be used for the request.
            Default: true.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetFilePosition">
            <summary>
            Checks if the FilePosition property is set.
            </summary>
            <returns>true if FilePosition property is set.</returns>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetMD5Digest">
            <summary>
            Checks if the MD5Digest property is set.
            </summary>
            <returns>true if Md5Digest property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.StreamTransferProgress">
            <summary>
            Attach a callback that will be called as data is being sent to the AWS Service.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.IncludeSHA256Header">
            <summary>
            Overriden to turn off sending SHA256 header.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.Expect100Continue">
            <summary>
            Overriden to turn on Expect 100 continue.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.RequestPayer">
            <summary>
            Confirms that the requester knows that she or he will be charged for the list objects request.
            Bucket owners need not specify this parameter in their requests.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartRequest.IsSetRequestPayer">
            <summary>
            Checks to see if RequetsPayer is set.
            </summary>
            <returns>true, if RequestPayer property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.Timeout">
            <summary>
            Overrides the default request timeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the Timeout property of the HTTPWebRequest/HttpClient object used
            to send requests.
            </para>
            <para>
            Please specify a timeout value only if the operation will not complete within the default intervals
            specified for an HttpWebRequest/HttpClient.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            <seealso cref="P:System.Net.HttpWebRequest.Timeout"/>
            <seealso cref="P:System.Net.Http.HttpClient.Timeout"/>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartRequest.ReadWriteTimeout">
            <summary>
            Overrides the default ReadWriteTimeout value.
            </summary>
            <remarks>
            <para>
            If the value is set, the value is assigned to the ReadWriteTimeout property of the HTTPWebRequest/WebRequestHandler object used
            to send requests.
            </para>
            <exception cref="T:System.ArgumentNullException">The timeout specified is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The timeout specified is less than or equal to zero and is not Infinite.</exception>
            </remarks>
            <seealso cref="P:System.Net.HttpWebRequest.ReadWriteTimeout"/>
            <seealso cref="P:System.Net.Http.WebRequestHandler.ReadWriteTimeout"/>
        </member>
        <member name="T:Amazon.S3.Model.UploadPartResponse">
            <summary>
            Returns information about the  UploadPart response and response metadata.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartResponse.ServerSideEncryptionMethod">
            <summary>
            The Server-side encryption algorithm used when storing this object in S3.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartResponse.ETag">
            <summary>
            Entity tag for the uploaded object.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartResponse.PartNumber">
            <summary>
            Gets and sets the part number specified for the part upload.  This is needed when
            completing the multipart upload.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.UploadPartResponse.RequestCharged">
            <summary>
            If present, indicates that the requester was successfully charged for the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.UploadPartResponse.IsSetRequestCharged">
            <summary>
            Checks to see if RequestCharged is set.
            </summary>
            <returns>true, if RequestCharged property is set.</returns>
        </member>
        <member name="T:Amazon.S3.Model.WebsiteConfiguration">
            <summary>Website Configuration
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WebsiteConfiguration.ErrorDocument">
            <summary>
            The ErrorDocument value, an object key name to use when a 4XX class error occurs.
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WebsiteConfiguration.IndexDocumentSuffix">
            <summary>
            <para>
            This value is a suffix that is appended to a request that is for a "directory" 
            on the website endpoint (e.g. if the suffix is index.html and
            you make a request to samplebucket/images/ the data that
            is returned will be for the object with the key name
            images/index.html)
            </para>
            <para>
            The suffix must not be empty and must not include a slash
            character.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WebsiteConfiguration.RedirectAllRequestsTo">
            <summary>
            Container for redirect information where all requests will be redirect
            to. You can redirect requests to another host, to another page, or with
            another protocol. In the event of an error, you can can specify a
            different error code to return. .
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.WebsiteConfiguration.RoutingRules">
            <summary>
            The list of routing rules that can be used for configuring redirects if certain conditions are meet.
            </summary>
        </member>
        <member name="T:Amazon.S3.Model.TransferProgressArgs">
            <summary>
            Arguments containing event details for an in-flight transfer.
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.TransferProgressArgs.#ctor(System.Int64,System.Int64,System.Int64)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="incrementTransferred">The number of bytes transferred since last event</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
        </member>
        <member name="P:Amazon.S3.Model.TransferProgressArgs.PercentDone">
            <summary>
            Gets the percentage of transfer completed
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TransferProgressArgs.IncrementTransferred">
            <summary>
            Gets the number of bytes transferred since last event
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TransferProgressArgs.TransferredBytes">
            <summary>
            Gets the number of bytes transferred
            </summary>
        </member>
        <member name="P:Amazon.S3.Model.TransferProgressArgs.TotalBytes">
            <summary>
            Gets the total number of bytes to be transferred
            </summary>
        </member>
        <member name="M:Amazon.S3.Model.TransferProgressArgs.ToString">
            <summary>
            Returns a string representation of this object
            </summary>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.DeleteObjectsException">
            <summary>
            AmazonS3 exception.
            Thrown when DeleteObjects returns successfully, but some of the objects
            were not deleted.
            </summary>
        </member>
        <member name="P:Amazon.S3.DeleteObjectsException.Response">
            <summary>
            Gets and sets the ErrorResponse property.
            The DeleteObjectsErrorResponse associated with this exception.
            </summary>
        </member>
        <member name="M:Amazon.S3.DeleteObjectsException.#ctor(Amazon.S3.Model.DeleteObjectsResponse)">
            <summary>
            Constructs an instance of DeleteObjectsException
            </summary>
            <param name="response"></param>
        </member>
        <member name="M:Amazon.S3.DeleteObjectsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructs a new instance of the DeleteObjectsException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
        </member>
        <member name="M:Amazon.S3.DeleteObjectsException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
        </member>
        <member name="T:Amazon.S3.AnalyticsS3ExportFileFormat">
            <summary>
            The file format used when exporting data to Amazon S3.
            </summary>
        </member>
        <member name="F:Amazon.S3.AnalyticsS3ExportFileFormat.CSV">
            <summary>
            CSV file format.
            </summary>
        </member>
        <member name="M:Amazon.S3.AnalyticsS3ExportFileFormat.#ctor(System.String)">
            <summary>
            Construct instance of AnalyticsS3ExportFileFormat. 
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.AnalyticsS3ExportFileFormat.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.AnalyticsS3ExportFileFormat.op_Implicit(System.String)~Amazon.S3.AnalyticsS3ExportFileFormat">
            <summary>
            Converts the string to an AnalyticsS3ExportFileFormat.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.BucketAccelerateStatus">
            <summary>
            Represents the accelerate status for a bucket.
            </summary>
        </member>
        <member name="F:Amazon.S3.BucketAccelerateStatus.Enabled">
            <summary>
            Bucket acceleration is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.BucketAccelerateStatus.Suspended">
            <summary>
            Bucket acceleration is suspended.
            </summary>
        </member>
        <member name="M:Amazon.S3.BucketAccelerateStatus.#ctor(System.String)">
            <summary>
            Construct instance of BucketAccelerateStatus. It is not intended for this constructor to be called. Instead users should call the FindValue.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.BucketAccelerateStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.BucketAccelerateStatus.op_Implicit(System.String)~Amazon.S3.BucketAccelerateStatus">
            <summary>
            Converts the string to an BucketAccelerateStatus
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.DeleteMarkerReplicationStatus">
            <summary>
            The status of the delete marker replication.
            </summary>
        </member>
        <member name="F:Amazon.S3.DeleteMarkerReplicationStatus.Enabled">
            <summary>
            Delete marker replication is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.DeleteMarkerReplicationStatus.Disabled">
            <summary>
            Delete marker replication is disabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.DeleteMarkerReplicationStatus.#ctor(System.String)">
            <summary>
            Construct instance of DeleteMarkerReplicationStatus. It is not intended for this constructor to be called. Instead users should call the FindValue.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.DeleteMarkerReplicationStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.DeleteMarkerReplicationStatus.op_Implicit(System.String)~Amazon.S3.DeleteMarkerReplicationStatus">
            <summary>
            Converts the string to a DeleteMarkerReplicationStatus
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.S3CannedACL">
            <summary>
            A list of all possible CannedACLs that can be used
            for S3 Buckets or S3 Objects. For more information about CannedACLs, refer to
            <see href="http://docs.amazonwebservices.com/AmazonS3/latest/RESTAccessPolicy.html#RESTCannedAccessPolicies"/>.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.NoACL">
            <summary>
            Owner gets FULL_CONTROL.
            No one else has access rights (default).
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.Private">
            <summary>
            Owner gets FULL_CONTROL.
            No one else has access rights (default).
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.PublicRead">
            <summary>
            Owner gets FULL_CONTROL and the anonymous principal is granted READ access.
            If this policy is used on an object, it can be read from a browser with no authentication.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.PublicReadWrite">
            <summary>
            Owner gets FULL_CONTROL, the anonymous principal is granted READ and WRITE access.
            This can be a useful policy to apply to a bucket, but is generally not recommended.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.AuthenticatedRead">
            <summary>
            Owner gets FULL_CONTROL, and any principal authenticated as a registered Amazon
            S3 user is granted READ access.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.AWSExecRead">
            <summary>
            Owner gets FULL_CONTROL. Amazon EC2 gets READ access to GET an
            Amazon Machine Image (AMI) bundle from Amazon S3.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.BucketOwnerRead">
            <summary>
            Object Owner gets FULL_CONTROL, Bucket Owner gets READ
            This ACL applies only to objects and is equivalent to private when used with PUT Bucket. 
            You use this ACL to let someone other than the bucket owner write content (get full control) 
            in the bucket but still grant the bucket owner read access to the objects.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.BucketOwnerFullControl">
            <summary>
            Object Owner gets FULL_CONTROL, Bucket Owner gets FULL_CONTROL.
            This ACL applies only to objects and is equivalent to private when used with PUT Bucket. 
            You use this ACL to let someone other than the bucket owner write content (get full control) 
            in the bucket but still grant the bucket owner full rights over the objects.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3CannedACL.LogDeliveryWrite">
            <summary>
            The LogDelivery group gets WRITE and READ_ACP permissions on the bucket.
            </summary>
        </member>
        <member name="M:Amazon.S3.S3CannedACL.#ctor(System.String)">
            <summary>
            Construct instance of S3CannedACL. It is not intended for this constructor to be called. Instead users should call the FindValue.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.S3CannedACL.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.S3CannedACL.op_Implicit(System.String)~Amazon.S3.S3CannedACL">
            <summary>
            Converts the string to an S3CannedACL
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.S3Region">
            <summary>
            A list of all possible S3 Bucket region possibilities. For
            more information, refer to 
            <see href="http://docs.amazonwebservices.com/AmazonS3/latest/BucketConfiguration.html#LocationSelection"/>.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.US">
            <summary>
            Specifies that the S3 Bucket should use US locality.
            This is the default value.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.USE2">
            <summary>
            Specifies that the S3 Bucket should use US-EAST-2 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EU">
            <summary>
            Specifies that the S3 Bucket should use EU locality which defaults to EU-WEST-1
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EUN1">
            <summary>
            Specifies that the S3 Bucket should use the EU-NORTH-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EUW1">
            <summary>
            Specifies that the S3 Bucket should use the EU-WEST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EUW2">
            <summary>
            Specifies that the S3 Bucket should use the EU-WEST-2 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EUW3">
            <summary>
            Specifies that the S3 Bucket should use the EU-WEST-3 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.EUC1">
            <summary>
            Specifies that the S3 Bucket should use the EU-CENTRAL-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.USW1">
            <summary>
            Specifies that the S3 Bucket should use US-WEST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.USW2">
            <summary>
            Specifies that the S3 Bucket should use US-WEST-2 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.GOVE1">
            <summary>
            Specifies that the S3 Bucket should use US-GOV-EAST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.GOVW1">
            <summary>
            Specifies that the S3 Bucket should use US-GOV-WEST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APE1">
            <summary>
            Specifies that the S3 Bucket should use the AP-EAST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APS1">
            <summary>
            Specifies that the S3 Bucket should use the AP-SOUTHEAST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APS2">
            <summary>
            Specifies that the S3 Bucket should use the AP-SOUTHEAST-2 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APN1">
            <summary>
            Specifies that the S3 Bucket should use the AP-NORTHEAST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APN2">
            <summary>
            Specifies that the S3 Bucket should use the AP-NORTHEAST-2 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APN3">
            <summary>
            Specifies that the S3 Bucket should use the AP-NORTHEAST-3 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.APS3">
            <summary>
            Specifies that the S3 Bucket should use the AP-SOUTH-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.SAE1">
            <summary>
            Specifies that the S3 Bucket should use the SA-EAST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.CN1">
            <summary>
            Specifies that the S3 Bucket should use CN-NORTH-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.CNW1">
            <summary>
            Specifies that the S3 Bucket should use CN-NORTHWEST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.CAN1">
            <summary>
            Specifies that the S3 Bucket should use CA-CENTRAL-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.SFO">
            <summary>
            Specifies that the S3 Bucket should use US-WEST-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.CN">
            <summary>
            Specifies that the S3 Bucket should use CN-NORTH-1 locality.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Region.GOV">
            <summary>
            Specifies that the S3 Bucket should use US-GOV-WEST-1 locality.
            </summary>
        </member>
        <member name="M:Amazon.S3.S3Region.#ctor(System.String)">
            <summary>
            Construct instance of S3Region. It is not intended for this constructor to be called. Instead users should call the FindValue.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.S3Region.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.S3Region.op_Implicit(System.String)~Amazon.S3.S3Region">
            <summary>
            Converts the string to the S3Region class
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.S3Permission">
            <summary>
            A list of all ACL permissions. For more information, refer to
            <see href="http://docs.amazonwebservices.com/AmazonS3/latest/S3_ACLs.html#S3_ACLs_Permissions"/>.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.READ">
            <summary>
            When applied to a bucket, grants permission to list the bucket.
            When applied to an object, this grants permission to read the
            object data and/or metadata.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.WRITE">
            <summary>
            When applied to a bucket, grants permission to create, overwrite,
            and delete any object in the bucket. This permission is not
            supported for objects.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.READ_ACP">
            <summary>
            Grants permission to read the ACL for the applicable bucket or object.
            The owner of a bucket or object always has this permission implicitly.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.WRITE_ACP">
            <summary>
            Gives permission to overwrite the ACP for the applicable bucket or object.
            The owner of a bucket or object always has this permission implicitly.
            Granting this permission is equivalent to granting FULL_CONTROL because
            the grant recipient can make any changes to the ACP.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.FULL_CONTROL">
            <summary>
            Provides READ, WRITE, READ_ACP, and WRITE_ACP permissions.
            It does not convey additional rights and is provided only for convenience.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3Permission.RESTORE_OBJECT">
            <summary>
            Gives permission to restore an object that is currently stored in Amazon Glacier
            for archival storage.
            </summary>
        </member>
        <member name="M:Amazon.S3.S3Permission.#ctor(System.String)">
            <summary>
            Construct S3Permission.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.S3Permission.#ctor(System.String,System.String)">
            <summary>
            Construct instance of S3Permission. It is not intended for this constructor to be called. Instead users should call the FindValue.
            </summary>
            <param name="value"></param>
            <param name="headerName"></param>
        </member>
        <member name="P:Amazon.S3.S3Permission.HeaderName">
            <summary>
            Gets and sets the HeaderName property.
            </summary>
        </member>
        <member name="M:Amazon.S3.S3Permission.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.S3Permission.op_Implicit(System.String)~Amazon.S3.S3Permission">
            <summary>
            Converts the string to an S3Permission
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.S3MetadataDirective">
            <summary>
            An enumeration of all Metadata directives that
            can be used for the CopyObject operation.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3MetadataDirective.COPY">
            <summary>
            Specifies that the metadata is copied from the source object.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3MetadataDirective.REPLACE">
            <summary>
            Specifies that the metadata is replaced with metadata provided in the request.
            All original metadata is replaced by the metadata you specify.
            </summary>
        </member>
        <member name="T:Amazon.S3.Protocol">
            <summary>
            An enumeration of all protocols that the pre-signed
            URL can be created against.
            </summary>
        </member>
        <member name="F:Amazon.S3.Protocol.HTTPS">
            <summary>
            https protocol will be used in the pre-signed URL.
            </summary>
        </member>
        <member name="F:Amazon.S3.Protocol.HTTP">
            <summary>
            http protocol will be used in the pre-signed URL.
            </summary>
        </member>
        <member name="T:Amazon.S3.HttpVerb">
            <summary>
            An enumeration of supported HTTP verbs
            </summary>
        </member>
        <member name="F:Amazon.S3.HttpVerb.GET">
            <summary>
            The GET HTTP verb.
            </summary>
        </member>
        <member name="F:Amazon.S3.HttpVerb.HEAD">
            <summary>
            The HEAD HTTP verb.
            </summary>
        </member>
        <member name="F:Amazon.S3.HttpVerb.PUT">
            <summary>
            The PUT HTTP verb.
            </summary>
        </member>
        <member name="F:Amazon.S3.HttpVerb.DELETE">
            <summary>
            The DELETE HTTP verb.
            </summary>
        </member>
        <member name="T:Amazon.S3.S3StorageClass">
            <summary>
            S3 Storage Class Definitions
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.Standard">
            <summary>
            The STANDARD storage class, which is the default
            storage class for S3.
            <para></para>
            Durability 99.999999999%; Availability 99.99% over a given year.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.ReducedRedundancy">
            <summary>
            REDUCED_REDUNDANCY provides the same availability as standard, but at a lower durability.
            <para></para>
            Durability 99.99%; Availability 99.99% over a given year.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.Glacier">
            <summary>
            The GLACIER storage is for object that are stored in Amazon Glacier.
            This storage class is for objects that are for archival purpose and 
            get operations are rare.
            <para></para>
            Durability 99.999999999%
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.StandardInfrequentAccess">
            <summary>
            The STANDARD_IA storage is for infrequently accessed objects.
            This storage class is for objects that are long-lived and less frequently accessed,
            like backups and older data.
            <para></para>
            Durability 99.999999999%; Availability 99.9% over a given year.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.OneZoneInfrequentAccess">
            <summary>
            The ONEZONE_IA storage is for infrequently accessed objects. It is similiar to STANDARD_IA, but
            only stores object data within one Availablity Zone in a given region.
            <para></para>
            Durability 99.999999999%; Availability 99% over a given year.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.IntelligentTiering">
            <summary>
            IntelligentTiering makes it easy to lower your overall cost of storage by automatically placing data in the storage
            class that best matches the access patterns for the storage. With IntelligentTiering, you don’t need to define
            and manage individual policies for lifecycle data management or write code to transition objects
            between storage classes. Instead, you can use IntelligentTiering to manage transitions between Standard and
            S-IA without writing any application code. IntelligentTiering also manages transitions automatically to
            Glacier for long term archive in addition to S3 storage classes.
            </summary>
        </member>
        <member name="F:Amazon.S3.S3StorageClass.DeepArchive">
            <summary>
            S3 Glacier Deep Archive provides secure, durable object storage class for long term data archival.
            It is the ideal storage class to make an archival, durable copy of data that rarely, if ever, needs to be accessed.
            It can be used as an offline backup for their most important data assets and to meet long-term retention needs.
            </summary>
        </member>
        <member name="M:Amazon.S3.S3StorageClass.#ctor(System.String)">
            <summary>
            Construct an instance of S3StorageClass.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.S3StorageClass.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.S3StorageClass.op_Implicit(System.String)~Amazon.S3.S3StorageClass">
            <summary>
            Convert string to S3StorageClass.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.NotificationEvents">
            <summary>
            The constants for the known event names used by S3 notification. S3 might add new
            events before the SDK is updated. In which case the names listed in the S3 documentation
            will work as well as these constants.
            </summary>
        </member>
        <member name="F:Amazon.S3.NotificationEvents.ReducedRedundancyLostObject">
            <summary>
            An event that says an object has been lost in the reduced redundancy storage.
            </summary>
        </member>
        <member name="T:Amazon.S3.ServerSideEncryptionCustomerMethod">
            <summary>
            A list of all server-side encryption methods for customer provided encryption keys.
            </summary>
        </member>
        <member name="F:Amazon.S3.ServerSideEncryptionCustomerMethod.None">
            <summary>
            No server side encryption to be used.
            </summary>
        </member>
        <member name="F:Amazon.S3.ServerSideEncryptionCustomerMethod.AES256">
            <summary>
            Use AES 256 server side encryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionCustomerMethod.#ctor(System.String)">
            <summary>
            Constructs an instance of ServerSideEncryptionCustomerMethod.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionCustomerMethod.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionCustomerMethod.op_Implicit(System.String)~Amazon.S3.ServerSideEncryptionCustomerMethod">
            <summary>
            Converts string to ServerSideEncryptionCustomerMethod.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.ServerSideEncryptionMethod">
            <summary>
            A list of all server-side encryption methods.
            </summary>
        </member>
        <member name="F:Amazon.S3.ServerSideEncryptionMethod.None">
            <summary>
            No server side encryption to be used.
            </summary>
        </member>
        <member name="F:Amazon.S3.ServerSideEncryptionMethod.AES256">
            <summary>
            Use AES 256 server side encryption.
            </summary>
        </member>
        <member name="F:Amazon.S3.ServerSideEncryptionMethod.AWSKMS">
            <summary>
            Use AWS Key Management Service for server side encryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionMethod.#ctor(System.String)">
            <summary>
            Construct instance of ServerSideEncryptionMethod.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionMethod.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.ServerSideEncryptionMethod.op_Implicit(System.String)~Amazon.S3.ServerSideEncryptionMethod">
            <summary>
            Convert string to ServerSideEncryptionCustomerMethod.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.GranteeType">
            <summary>
            A list of all grantee types.
            </summary>
        </member>
        <member name="F:Amazon.S3.GranteeType.Group">
            <summary>
            The predefined group.
            </summary>
        </member>
        <member name="F:Amazon.S3.GranteeType.Email">
            <summary>
            The email address of an AWS account
            </summary>
        </member>
        <member name="F:Amazon.S3.GranteeType.CanonicalUser">
            <summary>
            The canonical user ID of an AWS account
            </summary>
        </member>
        <member name="M:Amazon.S3.GranteeType.#ctor(System.String)">
            <summary>
            Construct an instance of GranteeType.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.GranteeType.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.GranteeType.op_Implicit(System.String)~Amazon.S3.GranteeType">
            <summary>
            Convert a string to GranteeType.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.LifecycleRuleStatus">
            <summary>
            A list of all lifecycle statuses.
            </summary>
        </member>
        <member name="F:Amazon.S3.LifecycleRuleStatus.Enabled">
            <summary>
            The rule is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.LifecycleRuleStatus.Disabled">
            <summary>
            The rule is disabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.LifecycleRuleStatus.#ctor(System.String)">
            <summary>
            Constructs an instance LifecycleRuleStatus.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.LifecycleRuleStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.LifecycleRuleStatus.op_Implicit(System.String)~Amazon.S3.LifecycleRuleStatus">
            <summary>
            Convert string to LifecycleRuleStatus.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.VersionStatus">
            <summary>
            A list of all version statuses.
            </summary>
        </member>
        <member name="F:Amazon.S3.VersionStatus.Off">
            <summary>
            The rule is off.
            </summary>
        </member>
        <member name="F:Amazon.S3.VersionStatus.Suspended">
            <summary>
            The rule is suspended.
            </summary>
        </member>
        <member name="F:Amazon.S3.VersionStatus.Enabled">
            <summary>
            The rule is enabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.VersionStatus.#ctor(System.String)">
            <summary>
            Construct an instance of VersionStatus.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.VersionStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.VersionStatus.op_Implicit(System.String)~Amazon.S3.VersionStatus">
            <summary>
            Convert string to VersionStatus.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.EncodingType">
            <summary>
            A list of all encoding types.
            </summary>
        </member>
        <member name="F:Amazon.S3.EncodingType.Url">
            <summary>
            Url encoding.
            </summary>
        </member>
        <member name="M:Amazon.S3.EncodingType.#ctor(System.String)">
            <summary>
            Constructs intance of EncodingType
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.EncodingType.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.EncodingType.op_Implicit(System.String)~Amazon.S3.EncodingType">
            <summary>
            Converts string to EncodingType
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.EventType">
            <summary>
            The bucket event for which to send notifications.
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectCreatedAll">
            <summary>
            The event encapsulates all the object create events
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectCreatedPut">
            <summary>
            Event for put operations
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectCreatedPost">
            <summary>
            Event for post operations
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectCreatedCopy">
            <summary>
            Event for copy operations
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectCreatedCompleteMultipartUpload">
            <summary>
            Event for completing a multi part upload
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRemovedAll">
            <summary>
            This event encapsulates all the object removed events
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRemovedDelete">
            <summary>
            Event for object removed, delete operation.
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRemovedDeleteMarkerCreated">
            <summary>
            Event for object removed, delete marker created operation.
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReducedRedundancyLostObject">
            <summary>
            Event for objects stored in reduced redundancy and S3 detects the object is lost
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRestoreAll">
            <summary>
            Event for all object restore
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRestorePost">
            <summary>
            Event for restore post operations.
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ObjectRestoreCompleted">
            <summary>
            Event for when object restore is completed.
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReplicationAll">
            <summary>
            Event for replication of all
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReplicationOperationFailedReplication">
            <summary>
            Event for operation failed replication
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReplicationOperationNotTracked">
            <summary>
            Evemt for replication operation not tracked
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReplicationOperationMissedThreshold">
            <summary>
            Event for replication operation missed threshold
            </summary>
        </member>
        <member name="F:Amazon.S3.EventType.ReplicationOperationReplicatedAfterThreshold">
            <summary>
            Event for operation replicated after threshold
            </summary>
        </member>
        <member name="M:Amazon.S3.EventType.#ctor(System.String)">
            <summary>
            Constructs instance of EventType.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.EventType.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.EventType.op_Implicit(System.String)~Amazon.S3.EventType">
            <summary>
            Convert string to EventType.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.EventType.Equals(Amazon.Runtime.ConstantClass)">
            <summary>
            Compares if the ConstantClass instances are equals.
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.EventType.Equals(System.String)">
            <summary>
            Compares if the ConstantClass instances are equals. This is ovewritten to handle the 
            discrepancy with S3 events coming from Lambda that don't have the prefix "s3:".
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.InventoryFormat">
            <summary>
            A list of all Inventory Formats.
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryFormat.CSV">
            <summary>
             CSV inventory format
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryFormat.ORC">
            <summary>
             ORC inventory format
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryFormat.Parquet">
            <summary>
             Parquet inventory format
            </summary>
        </member>
        <member name="M:Amazon.S3.InventoryFormat.#ctor(System.String)">
            <summary>
            Construct instance of InventoryFormat.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.InventoryFormat.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the InventoryFormat.</param>
            <returns>The InventoryFormat object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.InventoryFormat.op_Implicit(System.String)~Amazon.S3.InventoryFormat">
            <summary>
            Convert string to InventoryFormat.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.InventoryIncludedObjectVersions">
            <summary>
            A list of inventory included object versions.
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryIncludedObjectVersions.All">
            <summary>
             All Inventory Included Object Versions
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryIncludedObjectVersions.Current">
            <summary>
             Current Inventory Included Object Versions
            </summary>
        </member>
        <member name="M:Amazon.S3.InventoryIncludedObjectVersions.#ctor(System.String)">
            <summary>
            Construct instance of InventoryIncludedObjectVersions.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.InventoryIncludedObjectVersions.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the InventoryIncludedObjectVersions.</param>
            <returns>The InventoryIncludedObjectVersions object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.InventoryIncludedObjectVersions.op_Implicit(System.String)~Amazon.S3.InventoryIncludedObjectVersions">
            <summary>
            Convert string to InventoryIncludedObjectVersions.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.InventoryFrequency">
            <summary>
            A list of inventory frequencies.
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryFrequency.Daily">
            <summary>
             Daily Inventory Frequency
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryFrequency.Weekly">
            <summary>
             Weekly Inventory Frequency
            </summary>
        </member>
        <member name="M:Amazon.S3.InventoryFrequency.#ctor(System.String)">
            <summary>
            Construct instance of InventoryFrequency.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.InventoryFrequency.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the InventoryFrequency.</param>
            <returns>The InventoryFrequency object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.InventoryFrequency.op_Implicit(System.String)~Amazon.S3.InventoryFrequency">
            <summary>
            Convert string to InventoryFrequency.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.InventoryOptionalField">
            <summary>
            A list of inventory optional fields.
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.Size">
            <summary>
             InventoryOptionalField for Size
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.LastModifiedDate">
            <summary>
             InventoryOptionalField for LastModifiedDate
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.StorageClass">
            <summary>
             InventoryOptionalField for StorageClass
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.ETag">
            <summary>
             InventoryOptionalField for ETag
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.IsMultipartUploaded">
            <summary>
             InventoryOptionalField for IsMultipartUploaded
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.ReplicationStatus">
            <summary>
             InventoryOptionalField for ReplicationStatus
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.EncryptionStatus">
            <summary>
             InventoryOptionalField for EncryptionStatus
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.ObjectLockRetainUntilDate">
            <summary>
             InventoryOptionalField for ObjectLockRetainUntilDate
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.ObjectLockMode">
            <summary>
             InventoryOptionalField for ObjectLockMode
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.ObjectLockLegalHoldStatus">
            <summary>
             InventoryOptionalField for ObjectLockLegalHoldStatus
            </summary>
        </member>
        <member name="F:Amazon.S3.InventoryOptionalField.IntelligentTieringAccessTier">
            <summary>
            InventoryOptionalField for IntelligentTieringAccessTier
            </summary>
        </member>
        <member name="M:Amazon.S3.InventoryOptionalField.#ctor(System.String)">
            <summary>
            Construct instance of InventoryOptionalField.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.InventoryOptionalField.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the InventoryOptionalField.</param>
            <returns>The InventoryIncludedObjectVersions object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.InventoryOptionalField.op_Implicit(System.String)~Amazon.S3.InventoryOptionalField">
            <summary>
            Convert string to InventoryOptionalField.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.ReplicationStatus">
            <summary>
            The status of the replication job associated with this source object.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationStatus.Pending">
            <summary>
             The object is pending replication.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationStatus.Completed">
            <summary>
            The object has been replicated.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationStatus.Replica">
            <summary>
            The object was created as a result of replication.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationStatus.Failed">
            <summary>
             The object replication has failed due to a customer-attributable reason, and the replication will not be attempted again.
            </summary>
        </member>
        <member name="M:Amazon.S3.ReplicationStatus.#ctor(System.String)">
            <summary>
            Construct instance of ReplicationStatus.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.ReplicationStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the ReplicationStatus.</param>
            <returns>The ReplicationStatus object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.ReplicationStatus.op_Implicit(System.String)~Amazon.S3.ReplicationStatus">
            <summary>
            Convert string to ReplicationStatus.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.ReplicationRuleStatus">
            <summary>
            Whether a replication rule is applied or ignored.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationRuleStatus.Enabled">
            <summary>
            The rule will be applied.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationRuleStatus.Disabled">
            <summary>
            The rule will be ignored.
            </summary>
        </member>
        <member name="M:Amazon.S3.ReplicationRuleStatus.#ctor(System.String)">
            <summary>
            Construct instance of ReplicationRuleStatus
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.ReplicationRuleStatus.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the ReplicationRuleStatus.</param>
            <returns>The ReplicationRuleStatus object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.ReplicationRuleStatus.op_Implicit(System.String)~Amazon.S3.ReplicationRuleStatus">
            <summary>
            Convert string to ReplicationRuleStatus.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.TaggingDirective">
            <summary>
            Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.
            </summary>
        </member>
        <member name="F:Amazon.S3.TaggingDirective.COPY">
            <summary>
            The object tag-set is copied from the source object.
            </summary>
        </member>
        <member name="F:Amazon.S3.TaggingDirective.REPLACE">
            <summary>
            The object tag-set is replaced with tag-set provided in the request.
            </summary>
        </member>
        <member name="M:Amazon.S3.TaggingDirective.#ctor(System.String)">
            <summary>
            Construct instance of TaggingDirective
            </summary>
        </member>
        <member name="M:Amazon.S3.TaggingDirective.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the TaggingDirective.</param>
            <returns>The TaggingDirective object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.TaggingDirective.op_Implicit(System.String)~Amazon.S3.TaggingDirective">
            <summary>
            Convert string to TaggingDirective.
            </summary>
        </member>
        <member name="T:Amazon.S3.GlacierJobTier">
            <summary>
            All enumerations type for retrieval tier for Glacier restore.
            </summary>
        </member>
        <member name="F:Amazon.S3.GlacierJobTier.Standard">
            <summary>
            Standard Tier for Glacier restore.
            </summary>
        </member>
        <member name="F:Amazon.S3.GlacierJobTier.Bulk">
            <summary>
            Bulk Tier for Glacier restore.
            </summary>
        </member>
        <member name="F:Amazon.S3.GlacierJobTier.Expedited">
            <summary>
            Expedited Tier for Glacier restore.
            </summary>
        </member>
        <member name="M:Amazon.S3.GlacierJobTier.#ctor(System.String)">
            <summary>
            Construct instance of RestoreObjectRequestGlacierJobTier
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.GlacierJobTier.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the RestoreObjectRequestGlacierJobTier.</param>
            <returns>The RestoreObjectRequestGlacierJobTier object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.GlacierJobTier.op_Implicit(System.String)~Amazon.S3.GlacierJobTier">
            <summary>
            Convert string to RestoreObjectRequestGlacierJobTier.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.StorageClassAnalysisSchemaVersion">
            <summary>
            The version of the output schema to use when exporting data.
            </summary>
        </member>
        <member name="F:Amazon.S3.StorageClassAnalysisSchemaVersion.V_1">
            <summary>
            The schema output version V_1.
            </summary>
        </member>
        <member name="M:Amazon.S3.StorageClassAnalysisSchemaVersion.#ctor(System.String)">
            <summary>
            Construct instance of StorageClassAnalysisSchemaVersion
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.StorageClassAnalysisSchemaVersion.FindValue(System.String)">
            <summary>
            Finds the constant for the unique value.
            </summary>
            <param name="value">The string representation of the StorageClassAnalysisSchemaVersion.</param>
            <returns>The StorageClassAnalysisSchemaVersion object for that string.</returns>
        </member>
        <member name="M:Amazon.S3.StorageClassAnalysisSchemaVersion.op_Implicit(System.String)~Amazon.S3.StorageClassAnalysisSchemaVersion">
            <summary>
            Convert string to StorageClassAnalysisSchemaVersion.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.RequestPayer">
            <summary>
            Acknowledges that requester pays for the operation.
            </summary>
        </member>
        <member name="F:Amazon.S3.RequestPayer.Requester">
            <summary>
            Requester pays for the operation.
            </summary>
        </member>
        <member name="M:Amazon.S3.RequestPayer.FindValue(System.String)">
            <summary>
            Finds the RequestPayer instance for the string value.
            </summary>
        </member>
        <member name="M:Amazon.S3.RequestPayer.op_Implicit(System.String)~Amazon.S3.RequestPayer">
            <summary>
            Converts string to RequestPayer instance
            </summary>
        </member>
        <member name="T:Amazon.S3.RequestCharged">
            <summary>
            The response from S3 that it confirms that requester pays.
            </summary>
        </member>
        <member name="F:Amazon.S3.RequestCharged.Requester">
            <summary>
            S3 acknowledges that the requester pays.
            </summary>
        </member>
        <member name="M:Amazon.S3.RequestCharged.FindValue(System.String)">
            <summary>
            Finds the RequestCharged instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.RequestCharged.op_Implicit(System.String)~Amazon.S3.RequestCharged">
            <summary>
             converts the string to RequestCharged instance
            </summary>
        </member>
        <member name="T:Amazon.S3.OwnerOverride">
            <summary>
            The override value for the owner of the replica object.
            </summary>
        </member>
        <member name="F:Amazon.S3.OwnerOverride.Destination">
            <summary>
            Overrides destination bucket's owner.
            </summary>
        </member>
        <member name="M:Amazon.S3.OwnerOverride.FindValue(System.String)">
            <summary>
            Finds the OwnerOverride instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.OwnerOverride.op_Implicit(System.String)~Amazon.S3.OwnerOverride">
            <summary>
             converts the string to OwnerOverride instance
            </summary>
        </member>
        <member name="T:Amazon.S3.SseKmsEncryptedObjectsStatus">
            <summary>
            The replication for KMS encrypted S3 objects is disabled if status is not Enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.SseKmsEncryptedObjectsStatus.Enabled">
            <summary>
            The replication for KMS encrypted S3 objects is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.SseKmsEncryptedObjectsStatus.Disabled">
            <summary>
            The replication for KMS encrypted S3 objects is disabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.SseKmsEncryptedObjectsStatus.#ctor(System.String)">
            <summary>
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Amazon.S3.SseKmsEncryptedObjectsStatus.FindValue(System.String)">
            <summary>
            Finds the SseKmsEncryptedObjectsStatus instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.SseKmsEncryptedObjectsStatus.op_Implicit(System.String)~Amazon.S3.SseKmsEncryptedObjectsStatus">
            <summary>
            Converts the string to SseKmsEncryptedObjectsStatus instance
            </summary>
        </member>
        <member name="T:Amazon.S3.FileHeaderInfo">
            <summary>
            Specify how headers will be handled.
            </summary>
        </member>
        <member name="F:Amazon.S3.FileHeaderInfo.Use">
            <summary>
            Headers will be usable in SELECT clause. 
            </summary>
        </member>
        <member name="F:Amazon.S3.FileHeaderInfo.Ignore">
            <summary>
            Headers will be skipped
            </summary>
        </member>
        <member name="F:Amazon.S3.FileHeaderInfo.None">
            <summary>
            No header is present.
            </summary>
        </member>
        <member name="M:Amazon.S3.FileHeaderInfo.FindValue(System.String)">
            <summary>
            Finds the FileHeaderInfo instance for the string value
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.FileHeaderInfo.op_Implicit(System.String)~Amazon.S3.FileHeaderInfo">
            <summary>
            Converts the string to FileHeaderInfo instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ExistingObjectReplicationStatus">
            <summary>
            Specifies whether existing object replication is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.ExistingObjectReplicationStatus.Enabled">
            <summary>
            Enable the replication of existing objects
            </summary>
        </member>
        <member name="F:Amazon.S3.ExistingObjectReplicationStatus.Disabled">
            <summary>
            Disable the replication of existing objects
            </summary>
        </member>
        <member name="M:Amazon.S3.ExistingObjectReplicationStatus.FindValue(System.String)">
            <summary>
            Finds the ExistingObjectReplicationStatus instance for the string value
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.ExistingObjectReplicationStatus.op_Implicit(System.String)~Amazon.S3.ExistingObjectReplicationStatus">
            <summary>
            Converts the string to ExistingObjectReplicationStatus instance
            </summary>
        </member>
        <member name="T:Amazon.S3.QuoteFields">
            <summary>
            Describes when fields in output should be surrounded with quotes.
            </summary>
        </member>
        <member name="F:Amazon.S3.QuoteFields.Always">
            <summary>
            Specifies that fields in output should always be surrounded in quotes.
            </summary>
        </member>
        <member name="F:Amazon.S3.QuoteFields.AsNeeded">
            <summary>
            Specifies that fields in output should be surrounded in quotes as necessary.
            </summary>
        </member>
        <member name="M:Amazon.S3.QuoteFields.FindValue(System.String)">
            <summary>
            Finds the QuoteFields instance for the string value
            </summary>
            <param name="value">string value that maps to QuoteFields enum</param>
            <returns>QuoteFields enum</returns>
        </member>
        <member name="M:Amazon.S3.QuoteFields.op_Implicit(System.String)~Amazon.S3.QuoteFields">
            <summary>
            Converts the string to QuoteFields instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ExpressionType">
            <summary>
            Type of the expression provided in the Expression member.
            </summary>
        </member>
        <member name="F:Amazon.S3.ExpressionType.SQL">
            <summary>
            SQL expression
            </summary>
        </member>
        <member name="M:Amazon.S3.ExpressionType.FindValue(System.String)">
            <summary>
            Finds the ExpressionType instance for the string value
            </summary>
            <param name="value">string value that maps to ExpressionType enum</param>
            <returns>ExpressionType enum</returns>
        </member>
        <member name="M:Amazon.S3.ExpressionType.op_Implicit(System.String)~Amazon.S3.ExpressionType">
            <summary>
            Converts the string to ExpressionType instance
            </summary>
        </member>
        <member name="T:Amazon.S3.RestoreRequestType">
            <summary>
            Indicates what type of job is being initiated.
            </summary>
        </member>
        <member name="M:Amazon.S3.RestoreRequestType.FindValue(System.String)">
            <summary>
            Finds the RestoreRequestType instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.RestoreRequestType.op_Implicit(System.String)~Amazon.S3.RestoreRequestType">
            <summary>
            Converts the string to RestoreRequestType instance
            </summary>
        </member>
        <member name="T:Amazon.S3.JsonType">
            <summary>
            The type of JSON.
            </summary>
        </member>
        <member name="M:Amazon.S3.JsonType.FindValue(System.String)">
            <summary>
            Finds the JsonType instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.JsonType.op_Implicit(System.String)~Amazon.S3.JsonType">
            <summary>
            Converts the string to JsonType instance
            </summary>
        </member>
        <member name="T:Amazon.S3.CompressionType">
            <summary>
            Specifies object's compression format.
            </summary>
        </member>
        <member name="M:Amazon.S3.CompressionType.FindValue(System.String)">
            <summary>
            Finds the CompressionType instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.CompressionType.op_Implicit(System.String)~Amazon.S3.CompressionType">
            <summary>
            Converts the string to CompressionType instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ObjectLockEnabled">
            <summary>
            The type of ObjectLockEnabled
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockEnabled.FindValue(System.String)">
            <summary>
            Finds the ObjectLockEnabled instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockEnabled.op_Implicit(System.String)~Amazon.S3.ObjectLockEnabled">
            <summary>
            Converts the string to ObjectLockEnabled instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ObjectLockLegalHoldStatus">
            <summary>
            The type of ObjectLockLegalHoldStatus
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockLegalHoldStatus.FindValue(System.String)">
            <summary>
            Finds the ObjectLockLegalHoldStatus instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockLegalHoldStatus.op_Implicit(System.String)~Amazon.S3.ObjectLockLegalHoldStatus">
            <summary>
            Converts the string to ObjectLockLegalHoldStatus instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ObjectLockRetentionMode">
            <summary>
            The type of ObjectLockRetentionMode
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockRetentionMode.FindValue(System.String)">
            <summary>
            Finds the ObjectLockRetentionMode instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockRetentionMode.op_Implicit(System.String)~Amazon.S3.ObjectLockRetentionMode">
            <summary>
            Converts the string to ObjectLockRetentionMode instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ObjectLockMode">
            <summary>
            The type of ObjectLockMode
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockMode.FindValue(System.String)">
            <summary>
            Finds the ObjectLockMode instance for the string value
            </summary>
        </member>
        <member name="M:Amazon.S3.ObjectLockMode.op_Implicit(System.String)~Amazon.S3.ObjectLockMode">
            <summary>
            Converts the string to ObjectLockMode instance
            </summary>
        </member>
        <member name="T:Amazon.S3.ReplicationTimeStatus">
            <summary>
            Specifies whether the replication time is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationTimeStatus.Enabled">
            <summary>
            Replication time is enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.ReplicationTimeStatus.Disabled">
            <summary>
            Replication time is disabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.ReplicationTimeStatus.FindValue(System.String)">
            <summary>
            Finds the ReplicationTimeStatus instance for the string value
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.ReplicationTimeStatus.op_Implicit(System.String)~Amazon.S3.ReplicationTimeStatus">
            <summary>
            Converts the string to ReplicationTimeStatus instance
            </summary>
            <param name="value"></param>
        </member>
        <member name="T:Amazon.S3.MetricsStatus">
            <summary>
            Specifies whether the replication metrics are enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.MetricsStatus.Enabled">
            <summary>
            Replication metrics are enabled.
            </summary>
        </member>
        <member name="F:Amazon.S3.MetricsStatus.Disabled">
            <summary>
            Replication metrics are disabled.
            </summary>
        </member>
        <member name="M:Amazon.S3.MetricsStatus.FindValue(System.String)">
            <summary>
            Finds the MetricsStatus instance for the string value
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.MetricsStatus.op_Implicit(System.String)~Amazon.S3.MetricsStatus">
            <summary>
            Converts the string to MetricsStatus instance
            </summary>
            <param name="value"></param>
        </member>
        <member name="T:Amazon.S3.Util.AmazonS3Uri">
            <summary>
            Uri wrapper that can parse out information (bucket, key, region, style) from an
            S3 URI.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AmazonS3Uri.IsPathStyle">
            <summary>
            True if the URI contains the bucket in the path, false if it contains the bucket in the authority.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AmazonS3Uri.Bucket">
            <summary>
            The bucket name parsed from the URI (or null if no bucket specified).
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AmazonS3Uri.Key">
            <summary>
            The key parsed from the URI (or null if no key specified).
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AmazonS3Uri.Region">
            <summary>
            The region parsed from the URI (or null if no region specified).
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.#ctor(System.String)">
            <summary>
            Constructs a parser for the S3 URI specified as a string.
            </summary>
            <param name="uri">The S3 URI to be parsed.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.#ctor(System.Uri)">
            <summary>
            Constructs a parser for the S3 URI specified as a Uri instance.
            </summary>
            <param name="uri">The S3 URI to be parsed.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.TryParseAmazonS3Uri(System.String,Amazon.S3.Util.AmazonS3Uri@)">
            <summary>
            If the given string is an AmazonS3Endpoint return true and set the AmazonS3Uri out parameter.
            </summary>
            <param name="uri"></param>
            <param name="amazonS3Uri"></param>
            <returns>true if the string is an AmazonS3Endpoint, and the out paramter has been filled in, false otherwise</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.TryParseAmazonS3Uri(System.Uri,Amazon.S3.Util.AmazonS3Uri@)">
            <summary>
            If the given Uri is an AmazonS3Endpoint return true and set the AmazonS3Uri out parameter.
            </summary>
            <param name="uri"></param>
            <param name="amazonS3Uri"></param>
            <returns>true if the Uri is an AmazonS3Endpoint, and the out paramter has been filled in, false otherwise</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.IsAmazonS3Endpoint(System.String)">
            <summary>
            Checks whether the given URI is a Amazon S3 URI.
            </summary>
            <param name="uri">The S3 URI to be checked.</param>
            <returns>true if the URI is a Amazon S3 URI, false; otherwise.</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.IsAmazonS3Endpoint(System.Uri)">
            <summary>
            Checks whether the given URI is a Amazon S3 URI.
            </summary>
            <param name="uri">The S3 URI to be checked.</param>
            <returns>true if the URI is a Amazon S3 URI, false; otherwise.</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.Decode(System.String)">
            <summary>
            Percent-decodes the given string, with a fast path for strings that are not
            percent-encoded.
            </summary>
            <param name="s">The string to decode</param>
            <returns>The decoded string</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.Decode(System.String,System.Int32)">
            <summary>
            Percent-decodes the given string.
            </summary>
            <param name="s">The string to decode</param>
            <param name="firstPercent">The index of the first '%' in the string</param>
            <returns>The decoded string</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.AppendDecoded(System.Text.StringBuilder,System.String,System.Int32)">
            <summary>
            Decodes the percent-encoded character at the given index in the string
            and appends the decoded value to the string under construction.
            </summary>
            <param name="builder">
            The string under construction to which the decoded character will be 
            appended.
            </param>
            <param name="s">The string being decoded.</param>
            <param name="index">The index of the '%' character in the string.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Uri.FromHex(System.Char)">
            <summary>
            Converts a hex character (0-9A-Fa-f) into its corresponding quad value.
            </summary>
            <param name="c">The hex character</param>
            <returns>The quad value</returns>
        </member>
        <member name="T:Amazon.S3.Util.AmazonS3Util">
            <summary>
            Provides utilities used by the Amazon S3 client implementation.
            These utilities might be useful to consumers of the Amazon S3
            library.
            </summary>
            <summary>
            Provides utilities used by the Amazon S3 client implementation.
            These utilities might be useful to consumers of the Amazon S3
            library.
            </summary>
            <summary>
            Provides utilities used by the Amazon S3 client implementation.
            These utilities might be useful to consumers of the Amazon S3
            library.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.MimeTypeFromExtension(System.String)">
            <summary>
            Determines MIME type from a file extension
            </summary>
            <param name="ext">The extension of the file</param>
            <returns>The MIME type for the extension, or text/plain</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.UrlEncode(System.String,System.Boolean)">
            <summary>
            URL encodes a string. If the path property is specified,
            the accepted path characters {/+:} are not encoded.
            </summary>
            <param name="data">The string to encode</param>
            <param name="path">Whether the string is a URL path or not</param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.MakeStreamSeekable(System.IO.Stream)">
            <summary>
            Converts a non-seekable stream into a System.IO.MemoryStream.
            A MemoryStream's position can be moved arbitrarily
            </summary>
            <param name="input">The stream to be converted</param>
            <returns>A seekable MemoryStream</returns>
            <remarks>MemoryStreams use byte arrays as their backing store.
            Please use this judicially as it is likely that a very large
            stream will cause system resources to be used up.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.AmazonS3Util.FormattedCurrentTimestamp">
            <summary>
            Formats the current date as a GMT timestamp
            </summary>
            <returns>A GMT formatted string representation
            of the current date and time
            </returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.GenerateChecksumForContent(System.String,System.Boolean)">
            <summary>
            Generates an MD5 Digest for the string-based content
            </summary>
            <param name="content">The content for which the MD5 Digest needs
            to be computed.
            </param>
            <param name="fBase64Encode">Whether the returned checksum should be
            base64 encoded.
            </param>
            <returns>A string representation of the hash with or w/o base64 encoding
            </returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.ValidateV2Bucket(System.String)">
            <summary>
            Version2 S3 buckets adhere to RFC 1035:
            <list type="number">
            <item>Less than 255 characters, with each label less than 63 characters.</item>
            <item>Label must start with a letter</item>
            <item>Label must end with a letter or digit</item>
            <item>Label can have a string of letter, digits and hyphens in the middle.</item>
            <item>Although names can be case-sensitive, no significance is attached to the case.</item>
            <item>RFC 1123: Allow label to start with letter or digit (e.g. 3ware.com works)</item>
            <item>RFC 2181: No restrictions apart from the length restrictions.</item>
            </list>
            S3 V2 will start with RFCs 1035 and 1123 and impose the following additional restrictions:
            <list type="number">
            <item>Length between 3 and 63 characters (to allow headroom for upper-level domains,
                as well as to avoid separate length restrictions for bucket-name and its labels</item>
            <item>Only lower-case to avoid user confusion.</item>
            <item>No dotted-decimal IPv4-like strings</item>
            </list>
            </summary>
            <param name="bucketName">The BucketName to validate if V2 addressing should be used</param>
            <returns>True if the BucketName should use V2 bucket addressing, false otherwise</returns>
            <seealso href="http://docs.amazonwebservices.com/AmazonS3/2006-03-01/dev/index.html?BucketRestrictions.html">
            S3 v2 Bucket restrictions</seealso>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DoesS3BucketExistV2Async(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Determines whether an S3 bucket exists or not.
            </summary>
            <param name="bucketName">The name of the bucket to check.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <returns>False is returned in case S3 responds with a NoSuchBucket error.
            True is returned in case of success, AccessDenied error or PermanentRedirect error.
            An exception is thrown in case of any other error.</returns>
            <remarks>This method calls GetACL for the bucket.</remarks>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DoesS3BucketExistAsync(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Determines whether an S3 bucket exists or not.
            This is done by:
            1. Creating a PreSigned Url for the bucket. To work with Signature V4 only regions, as
            well as Signature V4-optional regions, we keep the expiry to within the maximum for V4 
            (which is one week).
            2. Making a HEAD request to the Url
            </summary>
            <param name="bucketName">The name of the bucket to check.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsAsync(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsAsync(Amazon.S3.IAmazonS3,System.String,Amazon.S3.Util.S3DeleteBucketWithObjectsOptions)">
            <summary>
            Deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="deleteOptions">Options to control the behavior of the delete operation.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsAsync(Amazon.S3.IAmazonS3,System.String,System.Threading.CancellationToken)">
            <summary>
            Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. 
            DeleteS3BucketWithObjects deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="token">token to check if the operation has been request to cancel.</param>
            <returns>An IAsyncCancelableResult that can be used to poll or wait for results, or both; 
            this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also 
            be used to cancel the operation while it's in progress.</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsAsync(Amazon.S3.IAmazonS3,System.String,Amazon.S3.Util.S3DeleteBucketWithObjectsOptions,System.Threading.CancellationToken)">
            <summary>
            Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. 
            DeleteS3BucketWithObjects deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="deleteOptions">Options to control the behavior of the delete operation.</param>
            <param name="token">token to check if the operation has been request to cancel.</param>
            <returns>An IAsyncCancelableResult that can be used to poll or wait for results, or both; 
            this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also 
            be used to cancel the operation while it's in progress.</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsAsync(Amazon.S3.IAmazonS3,System.String,Amazon.S3.Util.S3DeleteBucketWithObjectsOptions,System.Action{Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate},System.Threading.CancellationToken)">
            <summary>
            Initiates the asynchronous execution of the DeleteS3BucketWithObjects operation. 
            DeleteS3BucketWithObjects deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="deleteOptions">>Options to control the behavior of the delete operation.</param>
            <param name="updateCallback">An callback that is invoked to send updates while delete operation is in progress.</param>
            <param name="token">token to check if the operation has been request to cancel.</param>
            <returns>An IAsyncCancelableResult that can be used to poll or wait for results, or both; 
            this value is also needed when invoking EndDeleteS3BucketWithObjects. IAsyncCancelableResult can also 
            be used to cancel the operation while it's in progress.</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.InvokeDeleteS3BucketWithObjects(System.Object,System.Threading.CancellationToken)">
            <summary>
            Invokes the DeleteS3BucketWithObjectsInternal method.
            </summary>
            <param name="state">The Request object that has all the data to complete the operation. </param>
            <param name="token">token to request the operation to be cancelled.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjectsInternalAsync(Amazon.S3.IAmazonS3,System.String,Amazon.S3.Util.S3DeleteBucketWithObjectsOptions,System.Action{Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate},System.Threading.CancellationToken)">
            <summary>
            Deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. The function deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="deleteOptions">Options to control the behavior of the delete operation.</param>
            <param name="updateCallback">The callback which is used to send updates about the delete operation.</param>
            <param name="token">token to check if the operation has been request to cancel.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.InvokeS3DeleteBucketWithObjectsUpdateCallback(System.Action{Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate},Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate)">
            <summary>
            Invokes the callback which provides updated about the delete operation.
            </summary>
            <param name="updateCallback">The callback to be invoked.</param>
            <param name="update">The data being passed to the callback.</param>
            8
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DoesS3BucketExistV2(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Determines whether an S3 bucket exists or not.
            </summary>
            <param name="bucketName">The name of the bucket to check.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <returns>False is returned in case S3 responds with a NoSuchBucket error.
            True is returned in case of success, AccessDenied error or PermanentRedirect error.
            An exception is thrown in case of any other error.</returns>
            <remarks>This method calls GetACL for the bucket.</remarks>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DoesS3BucketExist(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Determines whether an S3 bucket exists or not.
            This is done by:
            1. Creating a PreSigned Url for the bucket. To work with Signature V4 only regions, as
            well as Signature V4-optional regions, we keep the expiry to within the maximum for V4 
            (which is one week).
            2. Making a HEAD request to the Url
            </summary>
            <param name="bucketName">The name of the bucket to check.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetObjectStorageClass(Amazon.S3.IAmazonS3,System.String,System.String,Amazon.S3.S3StorageClass)">
            <summary>
            Sets the storage class for the S3 Object to the value
            specified.
            </summary>
            <param name="bucketName">The name of the bucket in which the key is stored</param>
            <param name="key">The key of the S3 Object whose storage class needs changing</param>
            <param name="sClass">The new Storage Class for the object</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <seealso cref="T:Amazon.S3.S3StorageClass"/>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetObjectStorageClass(Amazon.S3.IAmazonS3,System.String,System.String,System.String,Amazon.S3.S3StorageClass)">
            <summary>
            Sets the storage class for the S3 Object's Version to the value
            specified.
            </summary>
            <param name="bucketName">The name of the bucket in which the key is stored</param>
            <param name="key">The key of the S3 Object whose storage class needs changing</param>
            <param name="version">The version of the S3 Object whose storage class needs changing</param>
            <param name="sClass">The new Storage Class for the object</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <seealso cref="T:Amazon.S3.S3StorageClass"/>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetServerSideEncryption(Amazon.S3.IAmazonS3,System.String,System.String,Amazon.S3.ServerSideEncryptionMethod)">
            <summary>
            Sets the server side encryption method for the S3 Object to the value
            specified.
            </summary>
            <param name="bucketName">The name of the bucket in which the key is stored</param>
            <param name="key">The key of the S3 Object</param>
            <param name="method">The server side encryption method</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetServerSideEncryption(Amazon.S3.IAmazonS3,System.String,System.String,System.String,Amazon.S3.ServerSideEncryptionMethod)">
            <summary>
            Sets the server side encryption method for the S3 Object's Version to the value
            specified.
            </summary>
            <param name="bucketName">The name of the bucket in which the key is stored</param>
            <param name="key">The key of the S3 Object</param>
            <param name="version">The version of the S3 Object</param>
            <param name="method">The server side encryption method</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetWebsiteRedirectLocation(Amazon.S3.IAmazonS3,System.String,System.String,System.String)">
            <summary>
            Sets the redirect location for the S3 Object's when being accessed through the S3 website endpoint.
            </summary>
            <param name="bucketName">The name of the bucket in which the key is stored</param>
            <param name="key">The key of the S3 Object</param>
            <param name="websiteRedirectLocation">The redirect location</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.SetupForObjectModification(Amazon.S3.IAmazonS3,System.String,System.String,System.String,Amazon.S3.Model.CopyObjectRequest@,Amazon.S3.Model.PutACLRequest@)">
            <summary>
            Sets up the request needed to make an exact copy of the object leaving the parent method
            the ability to change just the attribute being requested to change.
            </summary>
            <param name="bucketName"></param>
            <param name="key"></param>
            <param name="version"></param>
            <param name="s3Client"></param>
            <param name="copyRequest"></param>
            <param name="putACLRequest"></param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.ConvertToS3StorageClass(System.String)">
            <summary>
            Converts the string representing a storage class that would come back from a ListObjects request
            to the S3StorageClass enumeration.
            </summary>
            <param name="value">Amazon S3 string values for storage class</param>
            <returns>The converted S3StorageClass enumeration</returns>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.PostUpload(Amazon.S3.Util.S3PostUploadRequest)">
            <summary>
            Upload data to Amazon S3 using HTTP POST.
            </summary>
            <remarks>
            For more information, <see href="http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html"/>
            </remarks>
            <param name="request">Request object which describes the data to POST</param>
            <exception cref="T:Amazon.S3.Util.S3PostUploadException">Thrown if the service returns an error</exception>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjects(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
        </member>
        <member name="M:Amazon.S3.Util.AmazonS3Util.DeleteS3BucketWithObjects(Amazon.S3.IAmazonS3,System.String,Amazon.S3.Util.S3DeleteBucketWithObjectsOptions)">
            <summary>
            Deletes an S3 bucket which contains objects.
            An S3 bucket which contains objects cannot be deleted until all the objects 
            in it are deleted. This method deletes all the objects in the specified 
            bucket and then deletes the bucket itself.
            </summary>
            <param name="bucketName">The bucket to be deleted.</param>
            <param name="s3Client">The Amazon S3 Client to use for S3 specific operations.</param>
            <param name="deleteOptions">Options to control the behavior of the delete operation.</param>
        </member>
        <member name="T:Amazon.S3.Util.BucketRegionDetector">
            <summary>
            Class to manage and cache the correct region for buckets accessed without an explicit region.
            </summary>
            <summary>
            Class to manage and cache the correct region for buckets accessed without an explicit region.
            </summary>
            <summary>
            Class to manage and cache the correct region for buckets accessed without an explicit region.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.BucketRegionDetector.BucketRegionCache">
            <summary>
            A cache of BucketName -> RegionEndpoint pairs.
            The cache is used to make sure that bucket requests are signed for the correct region,
            even when requesting them without an explicit region.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.GetCorrectRegion(Amazon.S3.Util.AmazonS3Uri,System.Net.HttpStatusCode,System.String)">
            <summary>
            Detect a bucket region mismatch based on the x-amz-bucket-region header, and the status code provided.
            </summary>
            <param name="requestedBucketUri"></param>
            <param name="headBucketStatusCode"></param>
            <param name="xAmzBucketRegionHeaderValue"></param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.GetCorrectRegion(Amazon.S3.Util.AmazonS3Uri,Amazon.Runtime.AmazonServiceException)">
            <summary>
            Detects if the signature is malformed, and the requested bucket is in a Region
            different from the Region of the request.
            </summary>
            <param name="requestedBucketUri"></param>
            <param name="serviceException"></param>
            <returns>the correct region if a mismatch was detected, null otherwise</returns>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.DetectMismatchWithHeadBucketFallbackAsync(Amazon.S3.Util.AmazonS3Uri,Amazon.Runtime.AmazonServiceException,Amazon.Runtime.ImmutableCredentials)">
            <summary>
            Detects if the signature is malformed, and the requested bucket is in a Region
            different from the Region of the request.
            </summary>
            <param name="requestedBucketUri"></param>
            <param name="serviceException"></param>
            <param name="credentials"></param>
            <returns>the correct region if a mismatch was detected, null otherwise</returns>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.GetBucketRegionNoPipelineAsync(System.String,Amazon.Runtime.ImmutableCredentials)">
             <summary>
             Use a HEAD bucket request to get the region for the given bucket.
            
             This method creates an AmazonS3Client from the credentials passed in.
             It's critical that the AmazonS3Client is not used to make any requests that will
             be routed through the pipeline.
             </summary>
             <param name="bucketName"></param>
             <param name="credentials"></param>
             <returns>the value of the x-amz-bucket-region header from the response</returns>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.DetectMismatchWithHeadBucketFallback(Amazon.S3.Util.AmazonS3Uri,Amazon.Runtime.AmazonServiceException,Amazon.Runtime.ImmutableCredentials)">
            <summary>
            Detects if the signature is malformed, and the requested bucket is in a Region
            different from the Region of the request.
            </summary>
            <param name="requestedBucketUri"></param>
            <param name="serviceException"></param>
            <param name="credentials"></param>
            <returns>the correct region if a mismatch was detected, null otherwise</returns>
        </member>
        <member name="M:Amazon.S3.Util.BucketRegionDetector.GetBucketRegionNoPipeline(System.String,Amazon.Runtime.ImmutableCredentials)">
             <summary>
             Use a HEAD bucket request to get the region for the given bucket.
            
             This method creates an AmazonS3Client from the credentials passed in.
             It's critical that the AmazonS3Client is not used to make any requests that will
             be routed through the pipeline.
             </summary>
             <param name="bucketName"></param>
             <param name="credentials"></param>
             <returns>the value of the x-amz-bucket-region header from the response</returns>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification">
            <summary>
            A helper class that represents a strongly typed S3 EventNotification item sent to SQS
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.S3EventNotification.ParseJson(System.String)">
            <summary>
            Parse the JSON string into a S3EventNotification object.
            <para>
            The function will try its best to parse input JSON string as best as it can. 
            It will not fail even if the JSON string contains unknown properties.
            </para>
            <exception cref="T:Amazon.Runtime.AmazonClientException">For any parsing errors</exception>
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.Records">
            <summary>
            Gets and sets the records for the S3 event notification
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.UserIdentityEntity">
            <summary>
            The class holds the user identity properties.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.UserIdentityEntity.PrincipalId">
            <summary>
            Gets and sets the PrincipalId property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3BucketEntity">
            <summary>
            This class contains the identity information for an S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3BucketEntity.Name">
            <summary>
            Gets and sets the name of the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3BucketEntity.OwnerIdentity">
            <summary>
            Gets and sets the bucket owner id.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3BucketEntity.Arn">
            <summary>
            Gets and sets the S3 bucket arn.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3ObjectEntity">
            <summary>
            This class contains the information for an object in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3ObjectEntity.Key">
            <summary>
            Gets and sets the key for the object stored in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3ObjectEntity.Size">
            <summary>
            Gets and sets the size of the object in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3ObjectEntity.ETag">
            <summary>
            Gets and sets the etag of the object. This can be used to determine if the object has changed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3ObjectEntity.VersionId">
            <summary>
            Gets and sets the version id of the object in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3ObjectEntity.Sequencer">
            <summary>
            Gets and sets the sequencer a string representation of a hexadecimal value used to determine event sequence, only used with PUTs and DELETEs.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3Entity">
            <summary>
            Gets and sets the meta information describing S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3Entity.ConfigurationId">
            <summary>
            Gets and sets the ConfigurationId. This ID can be found in the bucket notification configuration.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3Entity.Bucket">
            <summary>
            Gets and sets the Bucket property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3Entity.Object">
            <summary>
            Gets and sets the Object property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3Entity.S3SchemaVersion">
            <summary>
            Gets and sets the S3SchemaVersion property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.RequestParametersEntity">
            <summary>
            The class holds the request parameters
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.RequestParametersEntity.SourceIPAddress">
            <summary>
            Gets and sets the SourceIPAddress. This is the ip address where the request came from.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.ResponseElementsEntity">
            <summary>
            This class holds the response elements.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.ResponseElementsEntity.XAmzId2">
            <summary>
            Gets and sets the XAmzId2 Property. This is the Amazon S3 host that processed the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.ResponseElementsEntity.XAmzRequestId">
            <summary>
            Gets and sets the XAmzRequestId. This is the Amazon S3 generated request ID.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3GlacierEventDataEntity">
            <summary>
            The class holds the glacier event data elements.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3GlacierEventDataEntity.RestoreEventData">
            <summary>
            Gets and sets the RestoreEventData property.  
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3RestoreEventDataEntity">
            <summary>
            The class holds the restore event data elements.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3RestoreEventDataEntity.LifecycleRestorationExpiryTime">
            <summary>
            Gets and sets the LifecycleRestorationExpiryTime the time when the object restoration will be expired. 
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3RestoreEventDataEntity.LifecycleRestoreStorageClass">
            <summary>
            Gets and sets the LifecycleRestoreStorageClass the source storage class for restore.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord">
            <summary>
            The class holds the event notification.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.AwsRegion">
            <summary>
            Gets and sets the AwsRegion property.  
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.EventName">
            <summary>
            Gets and sets the EventName property. This identities what type of event occurred. 
            For example for an object just put in S3 this will be set to EventType.ObjectCreatedPut.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.EventSource">
            <summary>
            Gets and sets the EventSource property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.EventTime">
            <summary>
            Gets and sets the EventType property. The time when S3 finished processing the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.EventVersion">
            <summary>
            Gets and sets the EventVersion property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.RequestParameters">
            <summary>
            Gets and sets the RequestParameters property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.ResponseElements">
            <summary>
            Gets and sets the ResponseElements property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.S3">
            <summary>
            Gets and sets the S3 property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.UserIdentity">
            <summary>
            Gets and sets the UserIdentity property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3EventNotification.S3EventNotificationRecord.GlacierEventData">
            <summary>
            Get and sets the GlacierEventData property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3DeleteBucketWithObjectsOptions">
            <summary>
            Options which control the behaviour of the DeleteS3BucketWithObjects operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsOptions.ContinueOnError">
            <summary>
            Gets or sets a value which indicates whether the 
            operation should be aborted if an error is encountered during execution.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsOptions.QuietMode">
            <summary>
            Gets or sets a value which indicated whether verbose results shoule be returned to the
            <see cref="T:System.Action`1" /> callback.
            If quiet mode is true the callback will receive only keys where the delete operation encountered an error.
            If quiet mode is false the callback will receive keys for both successful and unsuccessful delete operations.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3DeleteBucketWithObjectsRequest">
            <summary>
            Internal class used to pass the parameters for DeleteS3BucketWithObjects operation.
            </summary>
            <summary>
            Internal class used to pass the parameters for DeleteS3BucketWithObjects operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsRequest.BucketName">
            <summary>
            Name of the bucket to be deleted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsRequest.S3Client">
            <summary>
            The Amazon S3 Client to use for S3 specific operations.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsRequest.DeleteOptions">
            <summary>
            Options to control the behavior of the delete operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsRequest.UpdateCallback">
            <summary>
            The callback which is used to send updates about the delete operation.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate">
            <summary>
            Contains updates from DeleteS3BucketWithObjects operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate.DeletedObjects">
            <summary>
            The list of objects which were successfully deleted.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3DeleteBucketWithObjectsUpdate.DeleteErrors">
            <summary>
            The list of objects for which the delete operation failed.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.AsyncCancelableResult">
            <summary>
            Represents the status of an asynchronous operation. 
            It adds support for Cancelation of the asynchronous operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.IsCanceled">
            <summary>
            Gets a value that indicated whether the asynchronous operation has been canceled.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.AsyncState">
            <summary>
            Gets a user-defined object that qualifies or contains information about an
            asynchronous operation.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.AsyncWaitHandle">
            <summary>
            Gets a System.Threading.WaitHandle that is used to wait for an asynchronous
            operation to complete.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.CompletedSynchronously">
            <summary>
            Gets a value that indicates whether the asynchronous operation completed
            synchronously.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.IsCompleted">
            <summary>
            Gets a value that indicates whether the asynchronous operation has completed.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.IsCancelRequested">
            <summary>
            Gets a value that indicates whether a cancel is requested.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.LastException">
            <summary>
            The last exception that when the asynchronous operation was executed.
            This is used to capture the exception and re-throw it when EndOperation is called.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.AsyncCancelableResult.Callback">
            <summary>
            The callback to be invoked when the asynchronous operation is completed.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.#ctor(System.AsyncCallback,System.Object)">
            <summary>
            Constructor for AsyncCancelableResult.
            </summary>
            <param name="callback">The callback to be invoked when the asynchronous operation is completed.</param>
            <param name="state">Gets a user-defined object that qualifies or contains information about an
            asynchronous operation.
            </param>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.Cancel">
            <summary>
            Cancels the asynchronous operation if it's in progress.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.SignalWaitHandleOnCanceled">
            <summary>
            Signals that the operaton is canceled and invokes the callback.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.SignalWaitHandleOnCompleted">
            <summary>
            Signals that the operation is completed and invoked the callback.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or
            resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.AsyncCancelableResult.Dispose(System.Boolean)">
            <summary>
            Disposes any managed and unmanaged resources.
            </summary>
            <param name="disposing">Should pass true if called by Dispose(), pass false if
            called during finalization.</param>
        </member>
        <member name="T:Amazon.S3.Util.IAsyncCancelableResult">
            <summary>
            Represents the status of an asynchronous operation. This interface extends 
            IAsyncResult and adds support for Cancelation of the asynchronous operation.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.IAsyncCancelableResult.Cancel">
            <summary>
            Cancels the asynchronous operation if it's in progress.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.IAsyncCancelableResult.IsCanceled">
            <summary>
            Gets a value that indicated whether the asynchronous operation has been canceled.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3PostUploadException">
            <summary>
            An exception detailing a failed HTTP POST upload atempt to Amazon S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadException.#ctor(System.String)">
            <summary>
            Initializes a new instance of S3PostUploadException with a specified error message
            </summary>
            <param name="message">The error message</param>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of S3PostUploadException with a specified error code and error message
            </summary>
            <param name="errorCode">The error code</param>
            <param name="message">The error message</param>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadException.ErrorCode">
            <summary>
            The error code returned by S3
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadException.RequestId">
            <summary>
            The S3 request id
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadException.HostId">
            <summary>
            The S3 host id
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadException.StatusCode">
            <summary>
            The HTTP error status code returned by S3
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadException.ExtraFields">
            <summary>
            Additional information about the error
            </summary>
            <remarks>
            Some errors are accompanied by more specific information, which vary from error to error
            </remarks>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadException.FromResponse(System.Net.HttpWebResponse)">
            <summary>
            Parse an S3 Error response and create an S3PostUploadException
            </summary>
            <param name="response">The response from S3</param>
            <returns>An S3PostUploadException with the information from the response</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Constructs a new instance of the S3PostUploadException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is null. </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult" /> is zero (0). </exception>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="info" /> parameter is a null reference (Nothing in Visual Basic). </exception>
        </member>
        <member name="T:Amazon.S3.Util.S3PostUploadError">
            <summary>
            Class for unmarshalling response XML
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadError.ErrorCode">
            <summary>
            Gets and sets the ErrorCode property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadError.ErrorMessage">
            <summary>
            Gets and sets the ErrorMessage property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadError.RequestId">
            <summary>
            Gets and sets the RequestId property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadError.HostId">
            <summary>
            Gets and sets the HostId property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadError.elements">
            <summary>
            Gets and sets the elements property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3PostUploadRequest">
            <summary>
            Parameters for uploading to Amazon S3 a file using HTTP POS
            </summary>
            <remarks>
            <para>
            If a S3PostUploadSignedPolicy is assigned, then values set (other than InputStream or Path) on this object must adhere to the policy. 
            This includes metadata. If metadata is specified in the policy, then it must be included in the request. Adding metadata not in the
            policy will cause the POST to fail.
            </para><para>
            For more information, <see href="http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html"/>
            </para>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadRequest.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.Bucket">
            <summary>
            S3 Bucket to upload the object to
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.Key">
            <summary>
            The name of the uploaded key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.InputStream">
            <summary>
            Stream to read the upload data for
            </summary>
            <remarks>
            If you use InputStream, then you also need to set ContentLength
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.Path">
            <summary>
            File path to read the upload data from
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.ContentType">
            <summary>
            Content type for the uploaded data
            </summary>
            <remarks>
            If this is not set, an attempt will be made to infer it from the extension on Key or Path (in that order), 
            otherwise 'application/octet-stream' will be assumed.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.CannedACL">
            <summary>
            Specifies an Amazon S3 access control list
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.SignedPolicy">
            <summary>
            Signed policy from bucket owner.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.SuccessActionRedirect">
            <summary>
            Where to redirect browsers on a successful upload
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.SuccessActionStatus">
            <summary>
            The status code returned to the client upon successful upload if success_action_redirect is not specified
            </summary>
            <remarks>
            <para>
            Accepts the values OK (200) , Created (201), or NoContent (204, default).
            </para><para>
            If the value is set to OK or NoContent, Amazon S3 returns an empty document with a 200 or 204 status code.
            </para><para>
            If the value is set to Created, Amazon S3 returns an XML document with a 201 status code.
            </para><para>
            If the value is not set or if it is set to an invalid value, Amazon S3 returns an empty document with a 204 status code. 
            </para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.StorageClass">
            <summary>
            Storage class to use for storing the object
            </summary>
            <remarks>
            Default: STANDARD
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.Region">
            <summary>
            The AWS region where the bucket is located.
            </summary>
            <remarks>
            Depending upon the bucket name, POST uploads will be
            successfully redirected, but for buckets with non-DNS-compliant
            characters, redirects will fail. Setting this to the appropriate 
            region will avoid the redirect.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadRequest.Metadata">
            <summary>
            Metadata to set on the uploaded object
            </summary>
            <remarks>
            If keys do not begin with 'x-amz-meta-' it will be added at POST time.
            </remarks>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadRequest.WriteFormData(System.String,System.IO.Stream)">
            <summary>
            Write the multipart/form-data for this request for all fields except the file data to a stream
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3PostUploadResponse">
            <summary>
            Class holds Response data for a post upload.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadResponse.StatusCode">
            <summary>
            Gets and sets the StatusCode property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadResponse.RequestId">
            <summary>
            Gets and sets the RequestId property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadResponse.HostId">
            <summary>
            Gets and sets the HostId property.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadResponse.AmzCfId">
            <summary>
            Gets and sets the CloudFront request ID.
            </summary>
        </member>
        <member name="T:Amazon.S3.Util.S3PostUploadSignedPolicy">
            <summary>
            Utility class for managing and exchanging HTTP POST uploads of objects to Amazon S3.
            </summary>
            <remarks>
            <para>
            This object supports creating, marshalling, and unmarshalling of the information needed to build 
            an authenticated HTTP POST request to S3 for uploading objects according to a policy. 
            </para>
            For more information, <see href="http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html"/>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.GetSignedPolicy(System.String,Amazon.Runtime.AWSCredentials)">
            <summary>
             Given a policy and AWS credentials, produce a S3PostUploadSignedPolicy.
            </summary>
            <param name="policy">JSON string representing the policy to sign</param>
            <param name="credentials">Credentials to sign the policy with</param>
            <returns>A signed policy object for use with an S3PostUploadRequest.</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.GetSignedPolicyV4(System.String,Amazon.Runtime.AWSCredentials,Amazon.RegionEndpoint)">
            <summary>
             Given a policy and AWS credentials, produce a S3PostUploadSignedPolicy.
            </summary>
            <param name="policy">JSON string representing the policy to sign</param>
            <param name="credentials">Credentials to sign the policy with</param>
            <param name="region">Service region endpoint.</param>
            <returns>A signed policy object for use with an S3PostUploadRequest.</returns>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.Policy">
            <summary>
            The policy document which governs what uploads can be done.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.Signature">
            <summary>
            The signature for the policy.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.AccessKeyId">
            <summary>
            The AWS Access Key Id for the credential pair that produced the signature.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.SecurityToken">
            <summary>
            The security token from session or instance credentials.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.SignatureVersion">
            <summary>
            The signature version usedd. Either "2" or "4".
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.Algorithm">
            <summary>
            The signing algorithm used. Required as a field in the post Amazon
            S3 can re-calculate the signature.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.Date">
            <summary>
            The date value in ISO8601 format. It is the same date used in
            creating the signing key.
            </summary>
        </member>
        <member name="P:Amazon.S3.Util.S3PostUploadSignedPolicy.Credential">
            <summary>
            In addition to the access key ID, this provides scope information
            used in calculating the signing key for signature calculation. 
            </summary>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.GetReadablePolicy">
            <summary>
            Get the policy document as a human readable string.
            </summary>
            <returns>Human readable policy document.</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.ToJson">
            <summary>
            JSON representation of this object
            </summary>
            <returns>JSON string</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.ToXml">
            <summary>
            XML Representation of this object
            </summary>
            <returns>XML String</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.GetSignedPolicyFromJson(System.String)">
            <summary>
            Create an instance of this class from a JSON string.
            </summary>
            <param name="policyJson">JSON string</param>
            <returns>Instance of S3PostUploadSignedPolicy</returns>
        </member>
        <member name="M:Amazon.S3.Util.S3PostUploadSignedPolicy.GetSignedPolicyFromXml(System.String)">
            <summary>
            Create an instance of this class from an XML string.
            </summary>
            <param name="policyXml">XML string generated by ToXml()</param>
            <returns>Instance of S3PostUploadSignedPolicy</returns>
        </member>
        <member name="T:Amazon.S3.IAmazonS3">
             <summary>
             Interface for accessing S3
            
             
             </summary>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetPreSignedURL(Amazon.S3.Model.GetPreSignedUrlRequest)">
            <summary>
            Create a signed URL allowing access to a resource that would 
            usually require authentication.
            </summary>
            <remarks>
            <para>
            When using query string authentication you create a query,
            specify an expiration time for the query, sign it with your
            signature, place the data in an HTTP request, and distribute
            the request to a user or embed the request in a web page.
            </para>
            <para>
            A PreSigned URL can be generated for GET, PUT, DELETE and HEAD
            operations on your bucketName, keys, and versions.
            </para>
            </remarks>
            <param name="request">The GetPreSignedUrlRequest that defines the
            parameters of the operation.</param>
            <returns>A string that is the signed http request.</returns>
            <exception cref="T:System.ArgumentException" />
            <exception cref="T:System.ArgumentNullException" />
        </member>
        <member name="M:Amazon.S3.IAmazonS3.AbortMultipartUpload(System.String,System.String,System.String)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name to which the upload was taking place.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID that identifies the multipart upload.</param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.AbortMultipartUpload(Amazon.S3.Model.AbortMultipartUploadRequest)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the AbortMultipartUpload service method.</param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.AbortMultipartUploadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name to which the upload was taking place.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID that identifies the multipart upload.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.AbortMultipartUploadAsync(Amazon.S3.Model.AbortMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            This operation aborts a multipart upload. After a multipart upload is aborted, no
            additional parts can be uploaded using that upload ID. The storage consumed by any
            previously uploaded parts will be freed. However, if any part uploads are currently
            in progress, those part uploads might or might not succeed. As a result, it might
            be necessary to abort a given multipart upload multiple times in order to completely
            free all storage consumed by all parts. 
            
             
            <para>
            To verify that all parts have been removed, so you don't get charged for the part
            storage, you should call the <a>ListParts</a> operation and ensure that the parts
            list is empty.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>AbortMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the AbortMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the AbortMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CompleteMultipartUpload(Amazon.S3.Model.CompleteMultipartUploadRequest)">
            <summary>
            Completes a multipart upload by assembling previously uploaded parts.
            
             
            <para>
            You first initiate the multipart upload and then upload all parts using the <a>UploadPart</a>
            operation. After successfully uploading all relevant parts of an upload, you call
            this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates
            all the parts in ascending order by part number to create a new object. In the Complete
            Multipart Upload request, you must provide the parts list. You must ensure that the
            parts list is complete. This operation concatenates the parts that you provide in
            the list. For each part in the list, you must provide the part number and the <code>ETag</code>
            value, returned after that part was uploaded.
            </para>
             
            <para>
            Processing of a Complete Multipart Upload request could take several minutes to complete.
            After Amazon S3 begins processing the request, it sends an HTTP response header that
            specifies a 200 OK response. While processing is in progress, Amazon S3 periodically
            sends white space characters to keep the connection from timing out. Because a request
            could fail after the initial 200 OK response has been sent, it is important that you
            check the response body to determine whether the request succeeded.
            </para>
             
            <para>
            Note that if <code>CompleteMultipartUpload</code> fails, applications should be prepared
            to retry the failed requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon
            S3 Error Best Practices</a>.
            </para>
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycle</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>EntityTooSmall</code> 
            </para>
             <ul> <li> 
            <para>
            Description: Your proposed upload is smaller than the minimum allowed object size.
            Each part must be at least 5 MB in size, except the last part.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPart</code> 
            </para>
             <ul> <li> 
            <para>
            Description: One or more of the specified parts could not be found. The part might
            not have been uploaded, or the specified entity tag might not have matched the part's
            entity tag.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPartOrder</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The list of parts was not in ascending order. The parts list must be
            specified in order by part number.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>NoSuchUpload</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The specified multipart upload does not exist. The upload ID might be
            invalid, or the multipart upload might have been aborted or completed.
            </para>
             </li> <li> 
            <para>
            404 Not Found
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CompleteMultipartUpload service method.</param>
            
            <returns>The response from the CompleteMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CompleteMultipartUploadAsync(Amazon.S3.Model.CompleteMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            Completes a multipart upload by assembling previously uploaded parts.
            
             
            <para>
            You first initiate the multipart upload and then upload all parts using the <a>UploadPart</a>
            operation. After successfully uploading all relevant parts of an upload, you call
            this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates
            all the parts in ascending order by part number to create a new object. In the Complete
            Multipart Upload request, you must provide the parts list. You must ensure that the
            parts list is complete. This operation concatenates the parts that you provide in
            the list. For each part in the list, you must provide the part number and the <code>ETag</code>
            value, returned after that part was uploaded.
            </para>
             
            <para>
            Processing of a Complete Multipart Upload request could take several minutes to complete.
            After Amazon S3 begins processing the request, it sends an HTTP response header that
            specifies a 200 OK response. While processing is in progress, Amazon S3 periodically
            sends white space characters to keep the connection from timing out. Because a request
            could fail after the initial 200 OK response has been sent, it is important that you
            check the response body to determine whether the request succeeded.
            </para>
             
            <para>
            Note that if <code>CompleteMultipartUpload</code> fails, applications should be prepared
            to retry the failed requests. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html">Amazon
            S3 Error Best Practices</a>.
            </para>
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information about permissions required to use the multipart upload API, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycle</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>EntityTooSmall</code> 
            </para>
             <ul> <li> 
            <para>
            Description: Your proposed upload is smaller than the minimum allowed object size.
            Each part must be at least 5 MB in size, except the last part.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPart</code> 
            </para>
             <ul> <li> 
            <para>
            Description: One or more of the specified parts could not be found. The part might
            not have been uploaded, or the specified entity tag might not have matched the part's
            entity tag.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InvalidPartOrder</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The list of parts was not in ascending order. The parts list must be
            specified in order by part number.
            </para>
             </li> <li> 
            <para>
            400 Bad Request
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>NoSuchUpload</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The specified multipart upload does not exist. The upload ID might be
            invalid, or the multipart upload might have been aborted or completed.
            </para>
             </li> <li> 
            <para>
            404 Not Found
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CompleteMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CompleteMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObject(System.String,System.String,System.String,System.String)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObject(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceVersionId">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObject(Amazon.S3.Model.CopyObjectRequest)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CopyObject service method.</param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObjectAsync(System.String,System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObjectAsync(System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="sourceBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="sourceVersionId">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationBucket">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="destinationKey">A property of CopyObjectRequest used to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.CopyObjectAsync(Amazon.S3.Model.CopyObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a copy of an object that is already stored in Amazon S3.
            
             <note> 
            <para>
            You can store individual objects of up to 5 TB in Amazon S3. You create a copy of
            your object up to 5 GB in size in a single atomic operation using this API. However,
            for copying an object greater than 5 GB, you must use the multipart upload Upload
            Part - Copy API. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html">Copy
            Object Using the REST Multipart Upload API</a>.
            </para>
             </note> 
            <para>
            When copying an object, you can preserve all metadata (default) or specify new metadata.
            However, the ACL is not preserved and is set to private for the user making the request.
            To override the default ACL setting, specify a new ACL when generating a copy request.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>.
            </para>
             <important> 
            <para>
            Amazon S3 transfer acceleration does not support cross-region copies. If you request
            a cross-region copy using a transfer acceleration endpoint, you get a 400 <code>Bad
            Request</code> error. For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             </important> 
            <para>
            All copy requests must be authenticated. Additionally, you must have <i>read</i> access
            to the source object and <i>write</i> access to the destination bucket. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html">REST
            Authentication</a>. Both the Region that you want to copy the object from and the
            Region that you want to copy the object to must be enabled for your account.
            </para>
             
            <para>
            To only copy an object under certain conditions, such as whether the <code>Etag</code>
            matches or whether the object was modified before or after a specified date, use the
            request parameters <code>x-amz-copy-source-if-match</code>, <code>x-amz-copy-source-if-none-match</code>,
            <code>x-amz-copy-source-if-unmodified-since</code>, or <code> x-amz-copy-source-if-modified-since</code>.
            </para>
             <note> 
            <para>
            All headers with the <code>x-amz-</code> prefix, including <code>x-amz-copy-source</code>,
            must be signed.
            </para>
             </note> 
            <para>
            You can use this operation to change the storage class of an object that is already
            stored in Amazon S3 using the <code>StorageClass</code> parameter. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage
            Classes</a>.
            </para>
             
            <para>
            The source object that you are copying can be encrypted or unencrypted. If the source
            object is encrypted, it can be encrypted by server-side encryption using AWS managed
            encryption keys or by using a customer-provided encryption key. When copying an object,
            you can request that Amazon S3 encrypt the target object by using either the AWS managed
            encryption keys or by using your own encryption key. You can do this regardless of
            the form of server-side encryption that was used to encrypt the source, or even if
            the source object was not encrypted. For more information about server-side encryption,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using
            Server-Side Encryption</a>.
            </para>
             
            <para>
            A copy request might return an error when Amazon S3 receives the copy request or while
            Amazon S3 is copying the files. If the error occurs before the copy operation starts,
            you receive a standard Amazon S3 error. If the error occurs during the copy operation,
            the error response is embedded in the <code>200 OK</code> response. This means that
            a <code>200 OK</code> response can contain either a success or an error. Design your
            application to parse the contents of the response and handle it appropriately.
            </para>
             
            <para>
            If the copy is successful, you receive a response with information about the copied
            object.
            </para>
             <note> 
            <para>
            If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not,
            it would not contain the content-length, and you would need to read the entire body.
            </para>
             </note> 
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code>
            headers are present in the request and evaluate as follows, Amazon S3 returns 200
            OK and copies the data:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-match</code> condition evaluates to true
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false
            </para>
             </li> </ul> </li> <li> 
            <para>
             Consideration 2 – If both of the <code>x-amz-copy-source-if-none-match</code> and
            <code>x-amz-copy-source-if-modified-since</code> headers are present in the request
            and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code>
            response code:
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-copy-source-if-none-match</code> condition evaluates to false
            </para>
             </li> <li> 
            <para>
             <code>x-amz-copy-source-if-modified-since</code> condition evaluates to true
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The copy request charge is based on the storage class and Region you specify for the
            destination object. For pricing information, see <a href="https://aws.amazon.com/s3/pricing/">Amazon
            S3 Pricing</a>.
            </para>
             
            <para>
            Following are other considerations when using <code>CopyObject</code>:
            </para>
             <dl> <dt>Versioning</dt> <dd> 
            <para>
            By default, <code>x-amz-copy-source</code> 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 <code>versionId</code> subresource.
            </para>
             
            <para>
            If you enable versioning on the target bucket, Amazon S3 generates a unique version
            ID for the object being copied. This version ID is different from the version ID of
            the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code>
            response header in the response.
            </para>
             
            <para>
            If you do not enable versioning or suspend it on the target bucket, the version ID
            that Amazon S3 generates is always null.
            </para>
             
            <para>
            If the source object's storage class is GLACIER, you must restore a copy of this object
            before you can use it as a source object for the copy operation. For more information,
            see .
            </para>
             </dd> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            To encrypt the target object, you must provide the appropriate encryption-related
            request headers. The one you use depends on whether you want to use AWS managed encryption
            keys or provide your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            To encrypt the target object using server-side encryption with an AWS managed encryption
            key, provide the following request headers, as appropriate.
            </para>
             <ul> <li> 
            <para>
             <code>x-amz-server-side​-encryption</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-aws-kms-key-id</code> 
            </para>
             </li> <li> 
            <para>
             <code>x-amz-server-side-encryption-context</code> 
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data. If you want to use a customer managed AWS KMS
            CMK, you must provide the <code>x-amz-server-side-encryption-aws-kms-key-id</code>
            of the symmetric customer managed CMK. Amazon S3 only supports symmetric CMKs and
            not asymmetric CMKs. For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html">Using
            Symmetric and Asymmetric Keys</a> in the <i>AWS Key Management Service Developer Guide</i>.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in KMS</a>.
            </para>
             </li> <li> 
            <para>
            To encrypt the target object using server-side encryption with an encryption key that
            you provide, use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> </li> <li> 
            <para>
            If the source object is encrypted using server-side encryption with customer-provided
            encryption keys, you must use the following headers.
            </para>
             <ul> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source​-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-copy-source-​server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in Amazon KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CopyObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying
            Objects</a>.
            </para>
            </summary>
            <param name="request">Container for the necessary parameters to execute the CopyObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the CopyObject service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPart(System.String,System.String,System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPart(System.String,System.String,System.String,System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPart(Amazon.S3.Model.CopyPartRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPartAsync(System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPartAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.CopyPartAsync(Amazon.S3.Model.CopyPartRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucket(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucket(Amazon.S3.Model.DeleteBucketRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucketAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucketAsync(Amazon.S3.Model.DeleteBucketRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketAnalyticsConfiguration(Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest)">
            <summary>
            Deletes an analytics configuration for the bucket (specified by the analytics configuration
            ID).
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketAnalyticsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketAnalyticsConfigurationAsync(Amazon.S3.Model.DeleteBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes an analytics configuration for the bucket (specified by the analytics configuration
            ID).
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketAnalyticsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> <li> 
            <para>
             
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketAnalyticsConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucketEncryption(Amazon.S3.Model.DeleteBucketEncryptionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteBucketEncryptionAsync(Amazon.S3.Model.DeleteBucketEncryptionRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketInventoryConfiguration(Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest)">
            <summary>
            Deletes an inventory configuration (identified by the inventory ID) from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            Operations related to <code>DeleteBucketInventoryConfiguration</code> include: 
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketInventoryConfigurationAsync(Amazon.S3.Model.DeleteBucketInventoryConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes an inventory configuration (identified by the inventory ID) from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            Operations related to <code>DeleteBucketInventoryConfiguration</code> include: 
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketMetricsConfiguration(Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest)">
            <summary>
            Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified
            by the metrics configuration ID) from the bucket. Note that this doesn't include the
            daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the DeleteBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketMetricsConfigurationAsync(Amazon.S3.Model.DeleteBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified
            by the metrics configuration ID) from the bucket. Note that this doesn't include the
            daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketPolicy(System.String)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketPolicy(Amazon.S3.Model.DeleteBucketPolicyRequest)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketPolicy service method.</param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketPolicyAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketPolicyAsync(Amazon.S3.Model.DeleteBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            This implementation of the DELETE operation uses the policy subresource to delete
            the policy of a specified bucket. If you are using an identity other than the root
            user of the AWS account that owns the bucket, the calling identity must have the <code>DeleteBucketPolicy</code>
            permissions on the specified bucket and belong to the bucket owner's account to use
            this operation. 
            
             
            <para>
            If you don't have <code>DeleteBucketPolicy</code> permissions, Amazon S3 returns a
            <code>403 Access Denied</code> 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 <code>405 Method Not Allowed</code> error. 
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and UserPolicies</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketPolicy</code> 
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketReplication(Amazon.S3.Model.DeleteBucketReplicationRequest)">
            <summary>
            Deletes the replication configuration from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutReplicationConfiguration</code>
            action. The bucket owner has these permissions by default and can grant it to others.
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>. 
            </para>
             <note> 
            <para>
            It can take a while for the deletion of a replication configuration to fully propagate.
            </para>
             </note> 
            <para>
             For information about replication configuration, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketReplication service method.</param>
            
            <returns>The response from the DeleteBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketReplicationAsync(Amazon.S3.Model.DeleteBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the replication configuration from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutReplicationConfiguration</code>
            action. The bucket owner has these permissions by default and can grant it to others.
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>. 
            </para>
             <note> 
            <para>
            It can take a while for the deletion of a replication configuration to fully propagate.
            </para>
             </note> 
            <para>
             For information about replication configuration, see <a href=" https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketTagging(System.String)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket that has the tag set to be removed.</param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketTagging(Amazon.S3.Model.DeleteBucketTaggingRequest)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketTagging service method.</param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketTaggingAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket that has the tag set to be removed.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketTaggingAsync(Amazon.S3.Model.DeleteBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the tags from the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketWebsite(System.String)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which you want to remove the website configuration. </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketWebsite(Amazon.S3.Model.DeleteBucketWebsiteRequest)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketWebsite service method.</param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketWebsiteAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which you want to remove the website configuration. </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteBucketWebsiteAsync(Amazon.S3.Model.DeleteBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            This operation removes the website configuration for a bucket. Amazon S3 returns a
            <code>200 OK</code> response upon successfully deleting a website configuration on
            the specified bucket. You will get a <code>200 OK</code> response if the website configuration
            you are trying to delete does not exist on the bucket. Amazon S3 returns a <code>404</code>
            response if the bucket specified in the request does not exist.
            
             
            <para>
            This DELETE operation requires the <code>S3:DeleteBucketWebsite</code> 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 <code>S3:DeleteBucketWebsite</code>
            permission. 
            </para>
             
            <para>
            For more information about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteBucketWebsite service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteCORSConfiguration(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteCORSConfiguration(Amazon.S3.Model.DeleteCORSConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteCORSConfigurationAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.DeleteCORSConfigurationAsync(Amazon.S3.Model.DeleteCORSConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.DeleteLifecycleConfiguration(System.String)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the lifecycle to delete.</param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteLifecycleConfiguration(Amazon.S3.Model.DeleteLifecycleConfigurationRequest)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method.</param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteLifecycleConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the lifecycle to delete.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteLifecycleConfigurationAsync(Amazon.S3.Model.DeleteLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all
            the lifecycle configuration rules in the lifecycle subresource associated with the
            bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any
            objects on the basis of rules contained in the deleted lifecycle configuration.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:PutLifecycleConfiguration</code>
            action. By default, the bucket owner has this permission and the bucket owner can
            grant this permission to others.
            </para>
             
            <para>
            There is usually some time lag before lifecycle configuration deletion is fully propagated
            to all the Amazon S3 systems.
            </para>
             
            <para>
            For more information about the object expiration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions">Elements
            to Describe Lifecycle Actions</a>.
            </para>
             
            <para>
            Related actions include:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObject(System.String,System.String)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObject(System.String,System.String,System.String)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObject(Amazon.S3.Model.DeleteObjectRequest)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObject service method.</param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name of the bucket containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key name of the object to delete.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectAsync(Amazon.S3.Model.DeleteObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the null version (if there is one) of an object and inserts a delete marker,
            which becomes the latest version of the object. If there isn't a null version, Amazon
            S3 does not remove any objects.
            
             
            <para>
            To remove a specific version, you must be the bucket owner and you must use the version
            Id subresource. Using this subresource permanently deletes the version. If the object
            deleted is a delete marker, Amazon S3 sets the response header, <code>x-amz-delete-marker</code>,
            to true. 
            </para>
             
            <para>
            If the object you want to delete is in a bucket where the bucket versioning configuration
            is MFA Delete enabled, you must include the <code>x-amz-mfa</code> request header
            in the DELETE <code>versionId</code> request. Requests that include <code>x-amz-mfa</code>
            must use HTTPS. 
            </para>
             
            <para>
             For more information about MFA Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html">Using
            MFA Delete</a>. To see sample requests that use versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete">Sample
            Request</a>. 
            </para>
             
            <para>
            You can delete objects by explicitly calling the DELETE Object API or configure its
            lifecycle (<a>PutBucketLifecycle</a>) to enable Amazon S3 to remove them for you.
            If you want to block users or accounts from removing or deleting objects from your
            bucket, you must deny them the <code>s3:DeleteObject</code>, <code>s3:DeleteObjectVersion</code>,
            and <code>s3:PutLifeCycleConfiguration</code> actions. 
            </para>
             
            <para>
            The following operation is related to <code>DeleteObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjects(Amazon.S3.Model.DeleteObjectsRequest)">
            <summary>
            This operation enables you to delete multiple objects from a bucket using a single
            HTTP request. If you know the object keys that you want to delete, then this operation
            provides a suitable alternative to sending individual delete requests, reducing per-request
            overhead.
            
             
            <para>
            The request contains a list of up to 1000 keys that you want to delete. In the XML,
            you provide the object key names, and optionally, version IDs if you want to delete
            a specific version of the object from a versioning-enabled bucket. For each key, Amazon
            S3 performs a delete operation and returns the result of that delete, success, or
            failure, in the response. Note that if the object specified in the request is not
            found, Amazon S3 returns the result as deleted.
            </para>
             
            <para>
             The operation supports two modes for the response: verbose and quiet. By default,
            the operation uses verbose mode in which the response includes the result of deletion
            of each key in your request. In quiet mode the response includes only keys where the
            delete operation encountered an error. For a successful deletion, the operation does
            not return any information about the delete in the response body.
            </para>
             
            <para>
            When performing this operation on an MFA Delete enabled bucket, that attempts to delete
            any versioned objects, you must include an MFA token. If you do not provide one, the
            entire request will fail, even if there are non-versioned objects you are trying to
            delete. If you provide an invalid token, whether there are versioned keys in the request
            or not, the entire Multi-Object Delete request will fail. For information about MFA
            Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete">
            MFA Delete</a>.
            </para>
             
            <para>
            Finally, the Content-MD5 header is required for all Multi-Object Delete requests.
            Amazon S3 uses the header value to ensure that your request body has not been altered
            in transit.
            </para>
             
            <para>
            The following operations are related to <code>DeleteObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjects service method.</param>
            
            <returns>The response from the DeleteObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectsAsync(Amazon.S3.Model.DeleteObjectsRequest,System.Threading.CancellationToken)">
            <summary>
            This operation enables you to delete multiple objects from a bucket using a single
            HTTP request. If you know the object keys that you want to delete, then this operation
            provides a suitable alternative to sending individual delete requests, reducing per-request
            overhead.
            
             
            <para>
            The request contains a list of up to 1000 keys that you want to delete. In the XML,
            you provide the object key names, and optionally, version IDs if you want to delete
            a specific version of the object from a versioning-enabled bucket. For each key, Amazon
            S3 performs a delete operation and returns the result of that delete, success, or
            failure, in the response. Note that if the object specified in the request is not
            found, Amazon S3 returns the result as deleted.
            </para>
             
            <para>
             The operation supports two modes for the response: verbose and quiet. By default,
            the operation uses verbose mode in which the response includes the result of deletion
            of each key in your request. In quiet mode the response includes only keys where the
            delete operation encountered an error. For a successful deletion, the operation does
            not return any information about the delete in the response body.
            </para>
             
            <para>
            When performing this operation on an MFA Delete enabled bucket, that attempts to delete
            any versioned objects, you must include an MFA token. If you do not provide one, the
            entire request will fail, even if there are non-versioned objects you are trying to
            delete. If you provide an invalid token, whether there are versioned keys in the request
            or not, the entire Multi-Object Delete request will fail. For information about MFA
            Delete, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete">
            MFA Delete</a>.
            </para>
             
            <para>
            Finally, the Content-MD5 header is required for all Multi-Object Delete requests.
            Amazon S3 uses the header value to ensure that your request body has not been altered
            in transit.
            </para>
             
            <para>
            The following operations are related to <code>DeleteObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjects service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectTagging(Amazon.S3.Model.DeleteObjectTaggingRequest)">
            <summary>
            Removes the entire tag set from the specified object. For more information about managing
            object tags, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">
            Object Tagging</a>.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:DeleteObjectTagging</code>
            action.
            </para>
             
            <para>
            To delete tags of a specific object version, add the <code>versionId</code> query
            parameter in the request. You will need permission for the <code>s3:DeleteObjectVersionTagging</code>
            action.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjectTagging service method.</param>
            
            <returns>The response from the DeleteObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeleteObjectTaggingAsync(Amazon.S3.Model.DeleteObjectTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the entire tag set from the specified object. For more information about managing
            object tags, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">
            Object Tagging</a>.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:DeleteObjectTagging</code>
            action.
            </para>
             
            <para>
            To delete tags of a specific object version, add the <code>versionId</code> query
            parameter in the request. You will need permission for the <code>s3:DeleteObjectVersionTagging</code>
            action.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeleteObjectTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeleteObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeletePublicAccessBlock(Amazon.S3.Model.DeletePublicAccessBlockRequest)">
            <summary>
            Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:PutBucketPublicAccessBlock</code>
            permission. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketPolicyStatus</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeletePublicAccessBlock service method.</param>
            
            <returns>The response from the DeletePublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.DeletePublicAccessBlockAsync(Amazon.S3.Model.DeletePublicAccessBlockRequest,System.Threading.CancellationToken)">
            <summary>
            Removes the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:PutBucketPublicAccessBlock</code>
            permission. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketPolicyStatus</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the DeletePublicAccessBlock service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the DeletePublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetACL(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetACL(Amazon.S3.Model.GetACLRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetACLAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetACLAsync(Amazon.S3.Model.GetACLRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAccelerateConfiguration(System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAccelerateConfiguration(Amazon.S3.Model.GetBucketAccelerateConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAccelerateConfigurationAsync(System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAccelerateConfigurationAsync(Amazon.S3.Model.GetBucketAccelerateConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAnalyticsConfiguration(Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.GetBucketAnalyticsConfigurationAsync(Amazon.S3.Model.GetBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.GetBucketEncryption(Amazon.S3.Model.GetBucketEncryptionRequest)">
            <summary>
            Returns the default encryption configuration for an Amazon S3 bucket. For information
            about the Amazon S3 default encryption feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon
            S3 Default Bucket Encryption</a>.
            
             
            <para>
             To use this operation, you must have permission to perform the <code>s3:GetEncryptionConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketEncryption</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketEncryption</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketEncryption</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketEncryption service method.</param>
            
            <returns>The response from the GetBucketEncryption service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketEncryptionAsync(Amazon.S3.Model.GetBucketEncryptionRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the default encryption configuration for an Amazon S3 bucket. For information
            about the Amazon S3 default encryption feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html">Amazon
            S3 Default Bucket Encryption</a>.
            
             
            <para>
             To use this operation, you must have permission to perform the <code>s3:GetEncryptionConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketEncryption</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketEncryption</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketEncryption</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketEncryption service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketEncryption service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketInventoryConfiguration(Amazon.S3.Model.GetBucketInventoryConfigurationRequest)">
            <summary>
            Returns an inventory configuration (identified by the inventory configuration ID)
            from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketInventoryConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method.</param>
            
            <returns>The response from the GetBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketInventoryConfigurationAsync(Amazon.S3.Model.GetBucketInventoryConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns an inventory configuration (identified by the inventory configuration ID)
            from the bucket.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketInventoryConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketInventoryConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketInventoryConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketInventoryConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLocation(System.String)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the location.</param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLocation(Amazon.S3.Model.GetBucketLocationRequest)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLocation service method.</param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLocationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the location.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLocationAsync(Amazon.S3.Model.GetBucketLocationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the Region the bucket resides in. You set the bucket's Region using the <code>LocationConstraint</code>
            request parameter in a <code>CreateBucket</code> request. For more information, see
            <a>CreateBucket</a>.
            
             
            <para>
             To use this implementation of the operation, you must be the bucket owner.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketLocation</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLocation service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLocation service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLogging(System.String)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the logging information.</param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLogging(Amazon.S3.Model.GetBucketLoggingRequest)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLogging service method.</param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLoggingAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the logging information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketLoggingAsync(Amazon.S3.Model.GetBucketLoggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the logging status of a bucket and the permissions users have to view and
            modify that status. To use GET, you must be the bucket owner.
            
             
            <para>
            The following operations are related to <code>GetBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketLogging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketMetricsConfiguration(Amazon.S3.Model.GetBucketMetricsConfigurationRequest)">
            <summary>
            Gets a metrics configuration (specified by the metrics configuration ID) from the
            bucket. Note that this doesn't include the daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the GetBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketMetricsConfigurationAsync(Amazon.S3.Model.GetBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Gets a metrics configuration (specified by the metrics configuration ID) from the
            bucket. Note that this doesn't include the daily storage metrics.
            
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketNotification(System.String)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket for which to get the notification configuration</param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketNotification(Amazon.S3.Model.GetBucketNotificationRequest)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketNotification service method.</param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketNotificationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket for which to get the notification configuration</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketNotificationAsync(Amazon.S3.Model.GetBucketNotificationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the notification configuration of a bucket.
            
             
            <para>
            If notifications are not enabled on the bucket, the operation returns an empty <code>NotificationConfiguration</code>
            element.
            </para>
             
            <para>
            By default, you must be the bucket owner to read the notification configuration of
            a bucket. However, the bucket owner can use a bucket policy to grant permission to
            other users to read this configuration with the <code>s3:GetBucketNotification</code>
            permission.
            </para>
             
            <para>
            For more information about setting and reading the notification configuration on a
            bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Setting
            Up Notification of Bucket Events</a>. For more information about bucket policies,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketNotification</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketNotification</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketNotification service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicy(System.String)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the bucket policy.</param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicy(Amazon.S3.Model.GetBucketPolicyRequest)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicy service method.</param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicyAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the bucket policy.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicyAsync(Amazon.S3.Model.GetBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the policy of a specified bucket. If you are using an identity other than
            the root user of the AWS account that owns the bucket, the calling identity must have
            the <code>GetBucketPolicy</code> permissions on the specified bucket and belong to
            the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>GetBucketPolicy</code> permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
            As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action.
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicyStatus(Amazon.S3.Model.GetBucketPolicyStatusRequest)">
            <summary>
            Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket
            is public. In order to use this operation, you must have the <code>s3:GetBucketPolicyStatus</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             
            <para>
             For more information about when Amazon S3 considers a bucket public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>. 
            </para>
             
            <para>
            The following operations are related to <code>GetBucketPolicyStatus</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicyStatus service method.</param>
            
            <returns>The response from the GetBucketPolicyStatus service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketPolicyStatusAsync(Amazon.S3.Model.GetBucketPolicyStatusRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket
            is public. In order to use this operation, you must have the <code>s3:GetBucketPolicyStatus</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             
            <para>
             For more information about when Amazon S3 considers a bucket public, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>. 
            </para>
             
            <para>
            The following operations are related to <code>GetBucketPolicyStatus</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketPolicyStatus service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketPolicyStatus service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketReplication(Amazon.S3.Model.GetBucketReplicationRequest)">
            <summary>
            Retrieves the replication configuration for the given Amazon S3 bucket.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketReplication service method.</param>
            
            <returns>The response from the GetBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketReplicationAsync(Amazon.S3.Model.GetBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the replication configuration for the given Amazon S3 bucket.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketRequestPayment(System.String)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the payment request configuration</param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketRequestPayment(Amazon.S3.Model.GetBucketRequestPaymentRequest)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketRequestPayment service method.</param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketRequestPaymentAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the payment request configuration</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketRequestPaymentAsync(Amazon.S3.Model.GetBucketRequestPaymentRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the request payment configuration of a bucket. To use this version of the
            operation, you must be the bucket owner. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>GetBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjects</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketRequestPayment service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketTagging(Amazon.S3.Model.GetBucketTaggingRequest)">
            <summary>
            Returns the tag set associated with the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others.
            </para>
             
            <para>
             <code>GetBucketTagging</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchTagSetError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: There is no tag set associated with the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>GetBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketTagging service method.</param>
            
            <returns>The response from the GetBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketTaggingAsync(Amazon.S3.Model.GetBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the tag set associated with the bucket.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetBucketTagging</code>
            action. By default, the bucket owner has this permission and can grant this permission
            to others.
            </para>
             
            <para>
             <code>GetBucketTagging</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchTagSetError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: There is no tag set associated with the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>GetBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketVersioning(System.String)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the versioning information.</param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketVersioning(Amazon.S3.Model.GetBucketVersioningRequest)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketVersioning service method.</param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketVersioningAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the versioning information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketVersioningAsync(Amazon.S3.Model.GetBucketVersioningRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the versioning state of a bucket.
            
             
            <para>
            To retrieve the versioning state of a bucket, you must be the bucket owner.
            </para>
             
            <para>
            This implementation also returns the MFA Delete status of the versioning state. If
            the MFA Delete status is <code>enabled</code>, the bucket owner must use an authentication
            device to change the versioning state of the bucket.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketVersioning</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketVersioning service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketVersioning service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketWebsite(System.String)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the website configuration.</param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketWebsite(Amazon.S3.Model.GetBucketWebsiteRequest)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketWebsite service method.</param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketWebsiteAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the website configuration.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetBucketWebsiteAsync(Amazon.S3.Model.GetBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the website configuration for a bucket. To host website on Amazon S3, you
            can configure a bucket as website by adding a website configuration. For more information
            about hosting websites, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>. 
            
             
            <para>
            This GET operation requires the <code>S3:GetBucketWebsite</code> 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 <code>S3:GetBucketWebsite</code> permission.
            </para>
             
            <para>
            The following operations are related to <code>DeleteBucketWebsite</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketWebsite</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketWebsite</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetCORSConfiguration(System.String)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the cors configuration.</param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetCORSConfiguration(Amazon.S3.Model.GetCORSConfigurationRequest)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetCORSConfiguration service method.</param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetCORSConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name for which to get the cors configuration.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetCORSConfigurationAsync(Amazon.S3.Model.GetCORSConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the cors configuration information set for the bucket.
            
             
            <para>
             To use this operation, you must have permission to perform the s3:GetBucketCORS action.
            By default, the bucket owner has this permission and can grant it to others.
            </para>
             
            <para>
             For more information about cors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html">
            Enabling Cross-Origin Resource Sharing</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetBucketCors</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketCors</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketCors</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetCORSConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetCORSConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetLifecycleConfiguration(System.String)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the lifecycle information.</param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetLifecycleConfiguration(Amazon.S3.Model.GetLifecycleConfigurationRequest)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetLifecycleConfiguration service method.</param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetLifecycleConfigurationAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to get the lifecycle information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetLifecycleConfigurationAsync(Amazon.S3.Model.GetLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The response describes the new filter element that
            you can use to specify a filter to select a subset of objects to which the rule applies.
            If you are still using previous version of the lifecycle configuration, it works.
            For the earlier API description, see <a>GetBucketLifecycle</a>.
            </para>
             </note> 
            <para>
            Returns the lifecycle configuration information set on the bucket. For information
            about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a>.
            </para>
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetLifecycleConfiguration</code>
            action. The bucket owner has this permission, by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>GetBucketLifecycleConfiguration</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>NoSuchLifecycleConfiguration</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The lifecycle configuration does not exist.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: 404 Not Found
            </para>
             </li> <li> 
            <para>
            SOAP Fault Code Prefix: Client
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>DeleteBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketLifecycle</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObject(System.String,System.String)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObject(System.String,System.String,System.String)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObject(Amazon.S3.Model.GetObjectRequest)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObject service method.</param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name containing the object.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Key of the object to get.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectAsync(Amazon.S3.Model.GetObjectRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves objects from Amazon S3. To use <code>GET</code>, you must have <code>READ</code>
            access to the object. If you grant <code>READ</code> access to the anonymous user,
            you can return the object without using an authorization header.
            
             
            <para>
            An Amazon S3 bucket has no directory hierarchy such as you would find in a typical
            computer file system. You can, however, create a logical hierarchy by using object
            key names that imply a folder structure. For example, instead of naming an object
            <code>sample.jpg</code>, you can name it <code>photos/2006/February/sample.jpg</code>.
            </para>
             
            <para>
            To get an object from such a logical hierarchy, specify the full key name for the
            object in the <code>GET</code> operation. For a virtual hosted-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code>, specify the resource
            as <code>/photos/2006/February/sample.jpg</code>. For a path-style request example,
            if you have the object <code>photos/2006/February/sample.jpg</code> in the bucket
            named <code>examplebucket</code>, specify the resource as <code>/examplebucket/photos/2006/February/sample.jpg</code>.
            For more information about request types, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket">HTTP
            Host Header Bucket Specification</a>.
            </para>
             
            <para>
            To distribute large files to many people, you can save bandwidth costs by using BitTorrent.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>. For more information about returning the ACL of an object, see <a>GetObjectAcl</a>.
            </para>
             
            <para>
            If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage
            classes, before you can retrieve the object you must first restore a copy using .
            Otherwise, this operation returns an <code>InvalidObjectStateError</code> error. For
            information about restoring archived objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html">Restoring
            Archived Objects</a>.
            </para>
             
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you GET the object,
            you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             
            <para>
            Assuming you have permission to read object tags (permission for the <code>s3:GetObjectVersionTagging</code>
            action), the response also returns the <code>x-amz-tagging-count</code> header that
            provides the count of number of tags associated with the object. You can use <a>GetObjectTagging</a>
            to retrieve the tag set associated with an object.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the <code>s3:ListBucket</code> permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 will
            return an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 will return
            an HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
             <b>Versioning</b> 
            </para>
             
            <para>
            By default, the GET operation returns the current version of an object. To return
            a different version, use the <code>versionId</code> subresource.
            </para>
             <note> 
            <para>
            If the current version of the object is a delete marker, Amazon S3 behaves as if the
            object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.
            </para>
             </note> 
            <para>
            For more information about versioning, see <a>PutBucketVersioning</a>. 
            </para>
             
            <para>
             <b>Overriding Response Header Values</b> 
            </para>
             
            <para>
            There are times when you want to override certain response header values in a GET
            response. For example, you might override the Content-Disposition response header
            value in your GET request.
            </para>
             
            <para>
            You can override values for a set of response headers using the following query parameters.
            These response header values are sent only on a successful request, that is, when
            status code 200 OK is returned. The set of headers you can override using these parameters
            is a subset of the headers that Amazon S3 accepts when you create an object. The response
            headers that you can override for the GET response are <code>Content-Type</code>,
            <code>Content-Language</code>, <code>Expires</code>, <code>Cache-Control</code>, <code>Content-Disposition</code>,
            and <code>Content-Encoding</code>. To override these header values in the GET response,
            you use the following request parameters.
            </para>
             <note> 
            <para>
            You must sign the request, either using an Authorization header or a presigned URL,
            when using these parameters. They cannot be used with an unsigned (anonymous) request.
            </para>
             </note> <ul> <li> 
            <para>
             <code>response-content-type</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-language</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-expires</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-cache-control</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-disposition</code> 
            </para>
             </li> <li> 
            <para>
             <code>response-content-encoding</code> 
            </para>
             </li> </ul> 
            <para>
             <b>Additional Considerations about Request Headers</b> 
            </para>
             
            <para>
            If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code> headers
            are present in the request as follows: <code>If-Match</code> condition evaluates to
            <code>true</code>, and; <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            then, S3 returns 200 OK and the data requested. 
            </para>
             
            <para>
            If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code> headers
            are present in the request as follows:<code> If-None-Match</code> condition evaluates
            to <code>false</code>, and; <code>If-Modified-Since</code> condition evaluates to
            <code>true</code>; then, S3 returns 304 Not Modified response code.
            </para>
             
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObjectAcl</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObject service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObject service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectLegalHold(Amazon.S3.Model.GetObjectLegalHoldRequest)">
            <summary>
            Gets an object's current Legal Hold status. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLegalHold service method.</param>
            
            <returns>The response from the GetObjectLegalHold service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectLegalHoldAsync(Amazon.S3.Model.GetObjectLegalHoldRequest,System.Threading.CancellationToken)">
            <summary>
            Gets an object's current Legal Hold status. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLegalHold service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectLegalHold service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectLockConfiguration(Amazon.S3.Model.GetObjectLockConfigurationRequest)">
            <summary>
            Gets the Object Lock configuration for a bucket. The rule specified in the Object
            Lock configuration will be applied by default to every new object placed in the specified
            bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLockConfiguration service method.</param>
            
            <returns>The response from the GetObjectLockConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectLockConfigurationAsync(Amazon.S3.Model.GetObjectLockConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Gets the Object Lock configuration for a bucket. The rule specified in the Object
            Lock configuration will be applied by default to every new object placed in the specified
            bucket. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectLockConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectLockConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadata(System.String,System.String)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadata(System.String,System.String,System.String)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadata(Amazon.S3.Model.GetObjectMetadataRequest)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectMetadata service method.</param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadataAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadataAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object.</param>
            <param name="key">The object key.</param>
            <param name="versionId">VersionId used to reference a specific version of the object.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectMetadataAsync(Amazon.S3.Model.GetObjectMetadataRequest,System.Threading.CancellationToken)">
            <summary>
            The HEAD operation retrieves metadata from an object without returning the object
            itself. This operation is useful if you're only interested in an object's metadata.
            To use HEAD, you must have READ access to the object.
            
             
            <para>
            A <code>HEAD</code> request has the same options as a <code>GET</code> operation on
            an object. The response is identical to the <code>GET</code> response except that
            there is no response body.
            </para>
             
            <para>
            If you encrypt an object by using server-side encryption with customer-provided encryption
            keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata
            from the object, you must use the following headers:
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about SSE-C, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Server-Side
            Encryption (Using Customer-Provided Encryption Keys)</a>.
            </para>
             <note> 
            <para>
            Encryption request headers, like <code>x-amz-server-side-encryption</code>, should
            not be sent for GET requests if your object uses server-side encryption with CMKs
            stored in AWS KMS (SSE-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
            BadRequest error.
            </para>
             </note> 
            <para>
            Request headers are limited to 8 KB in size. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html">Common
            Request Headers</a>.
            </para>
             
            <para>
            Consider the following when using request headers:
            </para>
             <ul> <li> 
            <para>
             Consideration 1 – If both of the <code>If-Match</code> and <code>If-Unmodified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-Match</code> condition evaluates to <code>true</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Unmodified-Since</code> condition evaluates to <code>false</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns <code>200 OK</code> and the data requested.
            </para>
             </li> <li> 
            <para>
             Consideration 2 – If both of the <code>If-None-Match</code> and <code>If-Modified-Since</code>
            headers are present in the request as follows:
            </para>
             <ul> <li> 
            <para>
             <code>If-None-Match</code> condition evaluates to <code>false</code>, and;
            </para>
             </li> <li> 
            <para>
             <code>If-Modified-Since</code> condition evaluates to <code>true</code>;
            </para>
             </li> </ul> 
            <para>
            Then Amazon S3 returns the <code>304 Not Modified</code> response code.
            </para>
             </li> </ul> 
            <para>
            For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC
            7232</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            You need the <code>s3:GetObject</code> permission for this operation. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>. If the object you request does not exist, the error Amazon
            S3 returns depends on whether you also have the s3:ListBucket permission.
            </para>
             <ul> <li> 
            <para>
            If you have the <code>s3:ListBucket</code> permission on the bucket, Amazon S3 returns
            an HTTP status code 404 ("no such key") error.
            </para>
             </li> <li> 
            <para>
            If you don’t have the <code>s3:ListBucket</code> permission, Amazon S3 returns an
            HTTP status code 403 ("access denied") error.
            </para>
             </li> </ul> 
            <para>
            The following operation is related to <code>HeadObject</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectMetadata service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectMetadata service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectRetention(Amazon.S3.Model.GetObjectRetentionRequest)">
            <summary>
            Retrieves an object's retention settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectRetention service method.</param>
            
            <returns>The response from the GetObjectRetention service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectRetentionAsync(Amazon.S3.Model.GetObjectRetentionRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves an object's retention settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Locking
            Objects</a>.
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectRetention service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectRetention service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTagging(Amazon.S3.Model.GetObjectTaggingRequest)">
            <summary>
            Returns the tag-set of an object. You send the GET request against the tagging subresource
            associated with the object.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetObjectTagging</code>
            action. By default, the GET operation 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 <code>s3:GetObjectVersionTagging</code> action.
            </para>
             
            <para>
             By default, the bucket owner has this permission and can grant this permission to
            others.
            </para>
             
            <para>
             For information about the Amazon S3 object tagging feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object
            Tagging</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTagging service method.</param>
            
            <returns>The response from the GetObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTaggingAsync(Amazon.S3.Model.GetObjectTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Returns the tag-set of an object. You send the GET request against the tagging subresource
            associated with the object.
            
             
            <para>
            To use this operation, you must have permission to perform the <code>s3:GetObjectTagging</code>
            action. By default, the GET operation 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 <code>s3:GetObjectVersionTagging</code> action.
            </para>
             
            <para>
             By default, the bucket owner has this permission and can grant this permission to
            others.
            </para>
             
            <para>
             For information about the Amazon S3 object tagging feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html">Object
            Tagging</a>.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObjectTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTorrent(System.String,System.String)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object for which to get the torrent files.</param>
            <param name="key">The object key for which to get the information.</param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTorrent(Amazon.S3.Model.GetObjectTorrentRequest)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTorrent service method.</param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTorrentAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the object for which to get the torrent files.</param>
            <param name="key">The object key for which to get the information.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetObjectTorrentAsync(Amazon.S3.Model.GetObjectTorrentRequest,System.Threading.CancellationToken)">
            <summary>
            Return torrent files from a bucket. BitTorrent can save you bandwidth when you're
            distributing large files. For more information about BitTorrent, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html">Amazon
            S3 Torrent</a>.
            
             <note> 
            <para>
            You can get torrent only for objects that are less than 5 GB in size and that are
            not encrypted using server-side encryption with customer-provided encryption key.
            </para>
             </note> 
            <para>
            To use GET, you must have READ access to the object.
            </para>
             
            <para>
            The following operation is related to <code>GetObjectTorrent</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetObjectTorrent service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetObjectTorrent service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetPublicAccessBlock(Amazon.S3.Model.GetPublicAccessBlockRequest)">
            <summary>
            Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:GetBucketPublicAccessBlock</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             <important> 
            <para>
            When Amazon S3 evaluates the <code>PublicAccessBlock</code> configuration for a bucket
            or an object, it checks the <code>PublicAccessBlock</code> configuration for both
            the bucket (or the bucket that contains the object) and the bucket owner's account.
            If the <code>PublicAccessBlock</code> settings are different between the bucket and
            the account, Amazon S3 uses the most restrictive combination of the bucket-level and
            account-level settings.
            </para>
             </important> 
            <para>
            For more information about when Amazon S3 considers a bucket or an object public,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetPublicAccessBlock</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetPublicAccessBlock service method.</param>
            
            <returns>The response from the GetPublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.GetPublicAccessBlockAsync(Amazon.S3.Model.GetPublicAccessBlockRequest,System.Threading.CancellationToken)">
            <summary>
            Retrieves the <code>PublicAccessBlock</code> configuration for an Amazon S3 bucket.
            To use this operation, you must have the <code>s3:GetBucketPublicAccessBlock</code>
            permission. For more information about Amazon S3 permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a>.
            
             <important> 
            <para>
            When Amazon S3 evaluates the <code>PublicAccessBlock</code> configuration for a bucket
            or an object, it checks the <code>PublicAccessBlock</code> configuration for both
            the bucket (or the bucket that contains the object) and the bucket owner's account.
            If the <code>PublicAccessBlock</code> settings are different between the bucket and
            the account, Amazon S3 uses the most restrictive combination of the bucket-level and
            account-level settings.
            </para>
             </important> 
            <para>
            For more information about when Amazon S3 considers a bucket or an object public,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status">The
            Meaning of "Public"</a>.
            </para>
             
            <para>
            The following operations are related to <code>GetPublicAccessBlock</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html">Using
            Amazon S3 Block Public Access</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetPublicAccessBlock</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeletePublicAccessBlock</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the GetPublicAccessBlock service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the GetPublicAccessBlock service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.InitiateMultipartUpload(System.String,System.String)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to which to initiate the upload</param>
            <param name="key">Object key for which the multipart upload is to be initiated.</param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.InitiateMultipartUpload(Amazon.S3.Model.InitiateMultipartUploadRequest)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the InitiateMultipartUpload service method.</param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.InitiateMultipartUploadAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to which to initiate the upload</param>
            <param name="key">Object key for which the multipart upload is to be initiated.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.InitiateMultipartUploadAsync(Amazon.S3.Model.InitiateMultipartUploadRequest,System.Threading.CancellationToken)">
            <summary>
            This operation initiates a multipart upload and returns an upload ID. This upload
            ID is used to associate all of the parts in the specific multipart upload. You specify
            this upload ID in each of your subsequent upload part requests (see <a>UploadPart</a>).
            You also include this upload ID in the final request to either complete or abort the
            multipart upload request.
            
             
            <para>
            For more information about multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html">Multipart
            Upload Overview</a>.
            </para>
             
            <para>
            If you have configured a lifecycle rule to abort incomplete multipart uploads, the
            upload must complete within the number of days specified in the bucket lifecycle configuration.
            Otherwise, the incomplete multipart upload becomes eligible for an abort operation
            and Amazon S3 aborts the multipart upload. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting
            Incomplete Multipart Uploads Using a Bucket Lifecycle Policy</a>.
            </para>
             
            <para>
            For information about the permissions required to use the multipart upload API, see
            <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            For request signing, multipart upload is just a series of regular requests. You initiate
            a multipart upload, send one or more requests to upload parts, and then complete the
            multipart upload process. You sign each request individually. There is nothing special
            about signing multipart upload requests. For more information about signing, see <a
            href="https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html">Authenticating
            Requests (AWS Signature Version 4)</a>.
            </para>
             <note> 
            <para>
             After you initiate a multipart upload and upload one or more parts, to stop being
            charged for storing the uploaded parts, you must either complete or abort the multipart
            upload. Amazon S3 frees up the space used to store the parts and stop charging you
            for storing them only after you either complete or abort a multipart upload. 
            </para>
             </note> 
            <para>
            You can optionally request server-side encryption. For server-side encryption, Amazon
            S3 encrypts your data as it writes it to disks in its data centers and decrypts it
            when you access it. You can provide your own encryption key, or use AWS Key Management
            Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys.
            If you choose to provide your own encryption key, the request headers you provide
            in <a>UploadPart</a>) and <a>UploadPartCopy</a>) requests must match the headers you
            used in the request to initiate the upload by using <code>CreateMultipartUpload</code>.
            
            </para>
             
            <para>
            To perform a multipart upload with encryption using an AWS KMS CMK, the requester
            must have permission to the <code>kms:Encrypt</code>, <code>kms:Decrypt</code>, <code>kms:ReEncrypt*</code>,
            <code>kms:GenerateDataKey*</code>, and <code>kms:DescribeKey</code> 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.
            </para>
             
            <para>
            If your AWS Identity and Access Management (IAM) user or role is in the same AWS account
            as the AWS KMS CMK, then you must have these permissions on the key policy. If your
            IAM user or role belongs to a different account than the key, then you must have the
            permissions on both the key policy and your IAM user or role.
            </para>
             
            <para>
             For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Protecting
            Data Using Server-Side Encryption</a>.
            </para>
             <dl> <dt>Access Permissions</dt> <dd> 
            <para>
            When copying an object, you can optionally specify the accounts or groups that should
            be granted specific permissions on the new object. There are two ways to grant the
            permissions using the request headers:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL with the <code>x-amz-acl</code> request header. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly with the <code>x-amz-grant-read</code>, <code>x-amz-grant-read-acp</code>,
            <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code> headers.
            These parameters map to the set of permissions that Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             </li> </ul> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </dd> <dt>Server-Side- Encryption-Specific Request Headers</dt> <dd> 
            <para>
            You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption.
            Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data
            as it writes it to disks in its data centers and decrypts it when you access it. The
            option you use depends on whether you want to use AWS managed encryption keys or provide
            your own encryption key. 
            </para>
             <ul> <li> 
            <para>
            Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in
            AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to
            encrypt data, specify the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-aws-kms-key-id
            </para>
             </li> <li> 
            <para>
            x-amz-server-side-encryption-context
            </para>
             </li> </ul> <note> 
            <para>
            If you specify <code>x-amz-server-side-encryption:aws:kms</code>, but don't provide
            <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the AWS managed
            CMK in AWS KMS to protect the data.
            </para>
             </note> <important> 
            <para>
            All GET and PUT requests for an object protected by AWS KMS fail if you don't make
            them with SSL or by using SigV4.
            </para>
             </important> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> <li> 
            <para>
            Use customer-provided encryption keys – If you want to manage your own encryption
            keys, provide all the following headers in the request.
            </para>
             <ul> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-algorithm
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key
            </para>
             </li> <li> 
            <para>
            x-amz-server-side​-encryption​-customer-key-MD5
            </para>
             </li> </ul> 
            <para>
            For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS),
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html">Protecting
            Data Using Server-Side Encryption with CMKs stored in AWS KMS</a>.
            </para>
             </li> </ul> </dd> <dt>Access-Control-List (ACL)-Specific Request Headers</dt> <dd>
            
            <para>
            You also can use the following access control–related headers with this operation.
            By default, all objects are private. Only the owner has full access control. When
            adding a new object, you can grant permissions to individual AWS accounts or to predefined
            groups defined by Amazon S3. These permissions are then added to the access control
            list (ACL) on the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html">Using
            ACLs</a>. With this operation, you can grant access permissions using one of the following
            two methods:
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL (<code>x-amz-acl</code>) — Amazon S3 supports a set of predefined
            ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined set of grantees
            and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly — To explicitly grant access permissions to
            specific AWS accounts or groups, use the following headers. Each header maps to specific
            permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>. In the header, you specify a list of grantees who
            get the specific permission. To grant permissions explicitly, use:
            </para>
             <ul> <li> 
            <para>
            x-amz-grant-read
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write
            </para>
             </li> <li> 
            <para>
            x-amz-grant-read-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-write-acp
            </para>
             </li> <li> 
            <para>
            x-amz-grant-full-control
            </para>
             </li> </ul> 
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> </dd> </dl> 
            <para>
            The following operations are related to <code>CreateMultipartUpload</code>:
            </para>
             <ul> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the InitiateMultipartUpload service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the InitiateMultipartUpload service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketAnalyticsConfigurations(Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest)">
            <summary>
            Lists the analytics configurations for the bucket. You can have up to 1,000 analytics
            configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. You should always check the <code>IsTruncated</code> element in the response.
            If there are no more configurations to list, <code>IsTruncated</code> is set to false.
            If there are more configurations to list, <code>IsTruncated</code> is set to true,
            and there will be a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketAnalyticsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketAnalyticsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method.</param>
            
            <returns>The response from the ListBucketAnalyticsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketAnalyticsConfigurationsAsync(Amazon.S3.Model.ListBucketAnalyticsConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the analytics configurations for the bucket. You can have up to 1,000 analytics
            configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. You should always check the <code>IsTruncated</code> element in the response.
            If there are no more configurations to list, <code>IsTruncated</code> is set to false.
            If there are more configurations to list, <code>IsTruncated</code> is set to true,
            and there will be a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetAnalyticsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about Amazon S3 analytics feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html">Amazon
            S3 Analytics – Storage Class Analysis</a>. 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketAnalyticsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketAnalyticsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketAnalyticsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketAnalyticsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketInventoryConfigurations(Amazon.S3.Model.ListBucketInventoryConfigurationsRequest)">
            <summary>
            Returns a list of inventory configurations for the bucket. You can have up to 1,000
            analytics configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a> 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketInventoryConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method.</param>
            
            <returns>The response from the ListBucketInventoryConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketInventoryConfigurationsAsync(Amazon.S3.Model.ListBucketInventoryConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns a list of inventory configurations for the bucket. You can have up to 1,000
            analytics configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in continuation-token
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
             To use this operation, you must have permissions to perform the <code>s3:GetInventoryConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about the Amazon S3 inventory feature, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html">Amazon
            S3 Inventory</a> 
            </para>
             
            <para>
            The following operations are related to <code>ListBucketInventoryConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketInventoryConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketInventoryConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketInventoryConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketInventoryConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketMetricsConfigurations(Amazon.S3.Model.ListBucketMetricsConfigurationsRequest)">
            <summary>
            Lists the metrics configurations for the bucket. The metrics configurations are only
            for the request metrics of the bucket and do not provide information on daily storage
            metrics. You can have up to 1,000 configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in <code>continuation-token</code>
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For more information about metrics configurations and CloudWatch request metrics,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListBucketMetricsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method.</param>
            
            <returns>The response from the ListBucketMetricsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketMetricsConfigurationsAsync(Amazon.S3.Model.ListBucketMetricsConfigurationsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the metrics configurations for the bucket. The metrics configurations are only
            for the request metrics of the bucket and do not provide information on daily storage
            metrics. You can have up to 1,000 configurations per bucket.
            
             
            <para>
            This operation supports list pagination and does not return more than 100 configurations
            at a time. Always check the <code>IsTruncated</code> element in the response. If there
            are no more configurations to list, <code>IsTruncated</code> is set to false. If there
            are more configurations to list, <code>IsTruncated</code> is set to true, and there
            is a value in <code>NextContinuationToken</code>. You use the <code>NextContinuationToken</code>
            value to continue the pagination of the list by passing the value in <code>continuation-token</code>
            in the request to <code>GET</code> the next page.
            </para>
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:GetMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For more information about metrics configurations and CloudWatch request metrics,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListBucketMetricsConfigurations</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBucketMetricsConfigurations service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBucketMetricsConfigurations service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBuckets">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBuckets(Amazon.S3.Model.ListBucketsRequest)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBuckets service method.</param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketsAsync(System.Threading.CancellationToken)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListBucketsAsync(Amazon.S3.Model.ListBucketsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns a list of all buckets owned by the authenticated sender of the request.
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListBuckets service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListBuckets service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploads(System.String)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploads(System.String,System.String)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">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 you'd use a folder in a file system.)</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploads(Amazon.S3.Model.ListMultipartUploadsRequest)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListMultipartUploads service method.</param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploadsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploadsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the multipart upload was initiated.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">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 you'd use a folder in a file system.)</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListMultipartUploadsAsync(Amazon.S3.Model.ListMultipartUploadsRequest,System.Threading.CancellationToken)">
            <summary>
            This operation lists in-progress multipart uploads. An in-progress multipart upload
            is a multipart upload that has been initiated using the Initiate Multipart Upload
            request, but has not yet been completed or aborted.
            
             
            <para>
            This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart
            uploads is the maximum number of uploads a response can include, which is also the
            default value. You can further limit the number of uploads in a response by specifying
            the <code>max-uploads</code> parameter in the response. If additional multipart uploads
            satisfy the list criteria, the response will contain an <code>IsTruncated</code> element
            with the value true. To list the additional multipart uploads, use the <code>key-marker</code>
            and <code>upload-id-marker</code> request parameters.
            </para>
             
            <para>
            In the response, the uploads are sorted by key. If your application has initiated
            more than one multipart upload using the same object key, then uploads in the response
            are first sorted by key. Additionally, uploads are sorted in ascending order within
            each key by the upload initiation time.
            </para>
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListMultipartUploads</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListParts</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListMultipartUploads service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListMultipartUploads service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjects(System.String)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjects(System.String,System.String)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="prefix">Limits the response to keys that begin with the specified prefix.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjects(Amazon.S3.Model.ListObjectsRequest)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjects service method.</param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjectsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjectsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket containing the objects.</param>
            <param name="prefix">Limits the response to keys that begin with the specified prefix.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjectsAsync(Amazon.S3.Model.ListObjectsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            200 OK response can contain valid or invalid XML. Be sure to design your application
            to parse the contents of the response and handle it appropriately.
            
             <important> 
            <para>
            This API has been revised. We recommend that you use the newer version, <a>ListObjectsV2</a>,
            when developing applications. For backward compatibility, Amazon S3 continues to support
            <code>ListObjects</code>.
            </para>
             </important> 
            <para>
            The following operations are related to <code>ListObjects</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBuckets</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjects service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjects service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjectsV2(Amazon.S3.Model.ListObjectsV2Request)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            <code>200 OK</code> response can contain valid or invalid XML. Make sure to design
            your application to parse the contents of the response and handle it appropriately.
            
             
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            To use this operation in an AWS Identity and Access Management (IAM) policy, you must
            have permissions to perform the <code>s3:ListBucket</code> action. The bucket owner
            has this permission by default and can grant this permission to others. For more information
            about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             <important> 
            <para>
            This section describes the latest revision of the API. We recommend that you use this
            revised API for application development. For backward compatibility, Amazon S3 continues
            to support the prior version of this API, <a>ListObjects</a>.
            </para>
             </important> 
            <para>
            To get a list of your buckets, see <a>ListBuckets</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectsV2</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjectsV2 service method.</param>
            
            <returns>The response from the ListObjectsV2 service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListObjectsV2Async(Amazon.S3.Model.ListObjectsV2Request,System.Threading.CancellationToken)">
            <summary>
            Returns some or all (up to 1,000) of the objects in a bucket. You can use the request
            parameters as selection criteria to return a subset of the objects in a bucket. A
            <code>200 OK</code> response can contain valid or invalid XML. Make sure to design
            your application to parse the contents of the response and handle it appropriately.
            
             
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            To use this operation in an AWS Identity and Access Management (IAM) policy, you must
            have permissions to perform the <code>s3:ListBucket</code> action. The bucket owner
            has this permission by default and can grant this permission to others. For more information
            about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             <important> 
            <para>
            This section describes the latest revision of the API. We recommend that you use this
            revised API for application development. For backward compatibility, Amazon S3 continues
            to support the prior version of this API, <a>ListObjects</a>.
            </para>
             </important> 
            <para>
            To get a list of your buckets, see <a>ListBuckets</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectsV2</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListObjectsV2 service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListObjectsV2 service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListParts(System.String,System.String,System.String)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the parts are being uploaded.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Object key for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID identifying the multipart upload whose parts are being listed.</param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListParts(Amazon.S3.Model.ListPartsRequest)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListParts service method.</param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListPartsAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">Name of the bucket to which the parts are being uploaded.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="key">Object key for which the multipart upload was initiated.</param>
            <param name="uploadId">Upload ID identifying the multipart upload whose parts are being listed.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListPartsAsync(Amazon.S3.Model.ListPartsRequest,System.Threading.CancellationToken)">
            <summary>
            Lists the parts that have been uploaded for a specific multipart upload. This operation
            must include the upload ID, which you obtain by sending the initiate multipart upload
            request (see <a>CreateMultipartUpload</a>). This request returns a maximum of 1,000
            uploaded parts. The default number of parts returned is 1,000 parts. You can restrict
            the number of parts returned by specifying the <code>max-parts</code> request parameter.
            If your multipart upload consists of more than 1,000 parts, the response returns an
            <code>IsTruncated</code> field with the value of true, and a <code>NextPartNumberMarker</code>
            element. In subsequent <code>ListParts</code> requests you can include the part-number-marker
            query string parameter and set its value to the <code>NextPartNumberMarker</code>
            field value from the previous response.
            
             
            <para>
            For more information on multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html">Uploading
            Objects Using Multipart Upload</a>.
            </para>
             
            <para>
            For information on permissions required to use the multipart upload API, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html">Multipart
            Upload API and Permissions</a>.
            </para>
             
            <para>
            The following operations are related to <code>ListParts</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>UploadPart</a> 
            </para>
             </li> <li> 
            <para>
             <a>CompleteMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>AbortMultipartUpload</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListMultipartUploads</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListParts service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListParts service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersions(System.String)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersions(System.String,System.String)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way 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. </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersions(Amazon.S3.Model.ListVersionsRequest)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListVersions service method.</param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersionsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersionsAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name that contains the objects.  When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html">Using Access Points</a> in the <i>Amazon Simple Storage Service Developer Guide</i>.</param>
            <param name="prefix">Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way 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. </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.ListVersionsAsync(Amazon.S3.Model.ListVersionsRequest,System.Threading.CancellationToken)">
            <summary>
            Returns metadata about all of the versions of objects in a bucket. You can also use
            request parameters as selection criteria to return metadata about a subset of all
            the object versions. 
            
             <note> 
            <para>
             A 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.
            </para>
             </note> 
            <para>
            To use this operation, you must have READ access to the bucket.
            </para>
             
            <para>
            The following operations are related to <code>ListObjectVersions</code>:
            </para>
             <ul> <li> 
            <para>
             <a>ListObjectsV2</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteObject</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the ListVersions service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the ListVersions service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutACL(Amazon.S3.Model.PutACLRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutACLAsync(Amazon.S3.Model.PutACLRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.PutBucket(System.String)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to create.</param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucket(Amazon.S3.Model.PutBucketRequest)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucket service method.</param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket to create.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketAsync(Amazon.S3.Model.PutBucketRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a new bucket. To create a bucket, you must register with Amazon S3 and have
            a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed
            to create buckets. By creating the bucket, you become the bucket owner.
            
             
            <para>
            Not every string is an acceptable bucket name. For information on bucket naming restrictions,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">Working
            with Amazon S3 Buckets</a>.
            </para>
             
            <para>
            By default, the bucket is created in the US East (N. Virginia) Region. You can optionally
            specify a Region in the request body. You might choose a Region to optimize latency,
            minimize costs, or address regulatory requirements. For example, if you reside in
            Europe, you will probably find it advantageous to create buckets in the EU (Ireland)
            Region. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro">How
            to Select a Region for Your Buckets</a>.
            </para>
             <note> 
            <para>
            If you send your create bucket request to the <code>s3.amazonaws.com</code> 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html">Virtual
            Hosting of Buckets</a>.
            </para>
             </note> 
            <para>
            When creating a bucket using this operation, you can optionally specify the accounts
            or groups that should be granted specific permissions on the bucket. There are two
            ways to grant the appropriate permissions using the request headers.
            </para>
             <ul> <li> 
            <para>
            Specify a canned ACL using the <code>x-amz-acl</code> request header. Amazon S3 supports
            a set of predefined ACLs, known as <i>canned ACLs</i>. Each canned ACL has a predefined
            set of grantees and permissions. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL">Canned
            ACL</a>.
            </para>
             </li> <li> 
            <para>
            Specify access permissions explicitly using the <code>x-amz-grant-read</code>, <code>x-amz-grant-write</code>,
            <code>x-amz-grant-read-acp</code>, <code>x-amz-grant-write-acp</code>, and <code>x-amz-grant-full-control</code>
            headers. These headers map to the set of permissions Amazon S3 supports in an ACL.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access
            Control List (ACL) Overview</a>.
            </para>
             
            <para>
            You specify each grantee as a type=value pair, where the type is one of the following:
            </para>
             <ul> <li> 
            <para>
             <code>emailAddress</code> – if the value specified is the email address of an AWS
            account
            </para>
             </li> <li> 
            <para>
             <code>id</code> – if the value specified is the canonical user ID of an AWS account
            </para>
             </li> <li> 
            <para>
             <code>uri</code> – if you are granting permissions to a predefined group
            </para>
             </li> </ul> 
            <para>
            For example, the following <code>x-amz-grant-read</code> header grants the AWS accounts
            identified by email addresses permissions to read object data and its metadata:
            </para>
             
            <para>
             <code>x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
            </code> 
            </para>
             </li> </ul> <note> 
            <para>
            You can use either a canned ACL or specify access permissions explicitly. You cannot
            do both.
            </para>
             </note> 
            <para>
            The following operations are related to <code>CreateBucket</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucket service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucket service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketAccelerateConfiguration(Amazon.S3.Model.PutBucketAccelerateConfigurationRequest)">
            <summary>
            Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration
            is a bucket-level feature that enables you to perform faster data transfers to Amazon
            S3.
            
             
            <para>
             To use this operation, you must have permission to perform the 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             The Transfer Acceleration state of a bucket can be set to one of the following two
            values:
            </para>
             <ul> <li> 
            <para>
             Enabled – Enables accelerated data transfers to the bucket.
            </para>
             </li> <li> 
            <para>
             Suspended – Disables accelerated data transfers to the bucket.
            </para>
             </li> </ul> 
            <para>
            The <a>GetBucketAccelerateConfiguration</a> operation returns the transfer acceleration
            state of a bucket.
            </para>
             
            <para>
            After setting the Transfer Acceleration state of a bucket to Enabled, it might take
            up to thirty minutes before the data transfer rates to the bucket increase.
            </para>
             
            <para>
             The name of the bucket used for Transfer Acceleration must be DNS-compliant and must
            not contain periods (".").
            </para>
             
            <para>
             For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketAccelerateConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAccelerateConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method.</param>
            
            <returns>The response from the PutBucketAccelerateConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketAccelerateConfigurationAsync(Amazon.S3.Model.PutBucketAccelerateConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration
            is a bucket-level feature that enables you to perform faster data transfers to Amazon
            S3.
            
             
            <para>
             To use this operation, you must have permission to perform the 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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             The Transfer Acceleration state of a bucket can be set to one of the following two
            values:
            </para>
             <ul> <li> 
            <para>
             Enabled – Enables accelerated data transfers to the bucket.
            </para>
             </li> <li> 
            <para>
             Suspended – Disables accelerated data transfers to the bucket.
            </para>
             </li> </ul> 
            <para>
            The <a>GetBucketAccelerateConfiguration</a> operation returns the transfer acceleration
            state of a bucket.
            </para>
             
            <para>
            After setting the Transfer Acceleration state of a bucket to Enabled, it might take
            up to thirty minutes before the data transfer rates to the bucket increase.
            </para>
             
            <para>
             The name of the bucket used for Transfer Acceleration must be DNS-compliant and must
            not contain periods (".").
            </para>
             
            <para>
             For more information about transfer acceleration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html">Transfer
            Acceleration</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketAccelerateConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketAccelerateConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketAccelerateConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketAnalyticsConfiguration(Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketAnalyticsConfigurationAsync(Amazon.S3.Model.PutBucketAnalyticsConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketEncryption(Amazon.S3.Model.PutBucketEncryptionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketEncryptionAsync(Amazon.S3.Model.PutBucketEncryptionRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketInventoryConfiguration(Amazon.S3.Model.PutBucketInventoryConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketInventoryConfigurationAsync(Amazon.S3.Model.PutBucketInventoryConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.PutBucketLogging(Amazon.S3.Model.PutBucketLoggingRequest)">
            <summary>
            Set the logging parameters for a bucket and to specify permissions for who can view
            and modify the logging parameters. All logs are saved to buckets in the same AWS Region
            as the source bucket. To set the logging status of a bucket, you must be the bucket
            owner.
            
             
            <para>
            The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code>
            request element to grant access to other people. The <code>Permissions</code> request
            element specifies the kind of access the grantee has to the logs.
            </para>
             
            <para>
             <b>Grantee Values</b> 
            </para>
             
            <para>
            You can specify the person (grantee) to whom you're assigning access rights (using
            request elements) in the following ways:
            </para>
             <ul> <li> 
            <para>
            By the person's ID:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"&gt;&lt;ID&gt;&lt;&gt;ID&lt;&gt;&lt;/ID&gt;&lt;DisplayName&gt;&lt;&gt;GranteesEmail&lt;&gt;&lt;/DisplayName&gt;
            &lt;/Grantee&gt;</code> 
            </para>
             
            <para>
            DisplayName is optional and ignored in the request.
            </para>
             </li> <li> 
            <para>
            By Email address:
            </para>
             
            <para>
             <code> &lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"&gt;&lt;EmailAddress&gt;&lt;&gt;Grantees@email.com&lt;&gt;&lt;/EmailAddress&gt;&lt;/Grantee&gt;</code>
            
            </para>
             
            <para>
            The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl
            request, appears as the CanonicalUser.
            </para>
             </li> <li> 
            <para>
            By URI:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"&gt;&lt;URI&gt;&lt;&gt;http://acs.amazonaws.com/groups/global/AuthenticatedUsers&lt;&gt;&lt;/URI&gt;&lt;/Grantee&gt;</code>
            
            </para>
             </li> </ul> 
            <para>
            To enable logging, you use LoggingEnabled and its children request elements. To disable
            logging, you use an empty BucketLoggingStatus request element:
            </para>
             
            <para>
             <code>&lt;BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" /&gt;</code>
            
            </para>
             
            <para>
            For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server
            Access Logging</a>. 
            </para>
             
            <para>
            For more information about creating a bucket, see <a>CreateBucket</a>. For more information
            about returning the logging status of a bucket, see <a>GetBucketLogging</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketLogging service method.</param>
            
            <returns>The response from the PutBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketLoggingAsync(Amazon.S3.Model.PutBucketLoggingRequest,System.Threading.CancellationToken)">
            <summary>
            Set the logging parameters for a bucket and to specify permissions for who can view
            and modify the logging parameters. All logs are saved to buckets in the same AWS Region
            as the source bucket. To set the logging status of a bucket, you must be the bucket
            owner.
            
             
            <para>
            The bucket owner is automatically granted FULL_CONTROL to all logs. You use the <code>Grantee</code>
            request element to grant access to other people. The <code>Permissions</code> request
            element specifies the kind of access the grantee has to the logs.
            </para>
             
            <para>
             <b>Grantee Values</b> 
            </para>
             
            <para>
            You can specify the person (grantee) to whom you're assigning access rights (using
            request elements) in the following ways:
            </para>
             <ul> <li> 
            <para>
            By the person's ID:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"&gt;&lt;ID&gt;&lt;&gt;ID&lt;&gt;&lt;/ID&gt;&lt;DisplayName&gt;&lt;&gt;GranteesEmail&lt;&gt;&lt;/DisplayName&gt;
            &lt;/Grantee&gt;</code> 
            </para>
             
            <para>
            DisplayName is optional and ignored in the request.
            </para>
             </li> <li> 
            <para>
            By Email address:
            </para>
             
            <para>
             <code> &lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail"&gt;&lt;EmailAddress&gt;&lt;&gt;Grantees@email.com&lt;&gt;&lt;/EmailAddress&gt;&lt;/Grantee&gt;</code>
            
            </para>
             
            <para>
            The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl
            request, appears as the CanonicalUser.
            </para>
             </li> <li> 
            <para>
            By URI:
            </para>
             
            <para>
             <code>&lt;Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"&gt;&lt;URI&gt;&lt;&gt;http://acs.amazonaws.com/groups/global/AuthenticatedUsers&lt;&gt;&lt;/URI&gt;&lt;/Grantee&gt;</code>
            
            </para>
             </li> </ul> 
            <para>
            To enable logging, you use LoggingEnabled and its children request elements. To disable
            logging, you use an empty BucketLoggingStatus request element:
            </para>
             
            <para>
             <code>&lt;BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/2006-03-01" /&gt;</code>
            
            </para>
             
            <para>
            For more information about server access logging, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html">Server
            Access Logging</a>. 
            </para>
             
            <para>
            For more information about creating a bucket, see <a>CreateBucket</a>. For more information
            about returning the logging status of a bucket, see <a>GetBucketLogging</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketLogging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>PutObject</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLogging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketLogging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketLogging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketMetricsConfiguration(Amazon.S3.Model.PutBucketMetricsConfigurationRequest)">
            <summary>
            Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
            You can have up to 1,000 metrics configurations per bucket. If you're updating an
            existing metrics configuration, note that this is a full replacement of the existing
            metrics configuration. If you don't include the elements you want to keep, they are
            erased.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> </ul> 
            <para>
             <code>GetBucketLifecycle</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>TooManyConfigurations</code> 
            </para>
             <ul> <li> 
            <para>
            Description: You are attempting to create a new configuration but have already reached
            the 1,000-configuration limit.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: HTTP 400 Bad Request
            </para>
             </li> </ul> </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method.</param>
            
            <returns>The response from the PutBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketMetricsConfigurationAsync(Amazon.S3.Model.PutBucketMetricsConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.
            You can have up to 1,000 metrics configurations per bucket. If you're updating an
            existing metrics configuration, note that this is a full replacement of the existing
            metrics configuration. If you don't include the elements you want to keep, they are
            erased.
            
             
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutMetricsConfiguration</code>
            action. The bucket owner has this permission by default. The bucket owner can grant
            this permission to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            For information about CloudWatch request metrics for Amazon S3, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html">Monitoring
            Metrics with Amazon CloudWatch</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketMetricsConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>DeleteBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>PutBucketMetricsConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>ListBucketMetricsConfigurations</a> 
            </para>
             </li> </ul> 
            <para>
             <code>GetBucketLifecycle</code> has the following special error:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>TooManyConfigurations</code> 
            </para>
             <ul> <li> 
            <para>
            Description: You are attempting to create a new configuration but have already reached
            the 1,000-configuration limit.
            </para>
             </li> <li> 
            <para>
            HTTP Status Code: HTTP 400 Bad Request
            </para>
             </li> </ul> </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketMetricsConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketMetricsConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketNotification(Amazon.S3.Model.PutBucketNotificationRequest)">
            <summary>
            Enables notifications of specified events for a bucket. For more information about
            event notifications, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Event Notifications</a>.
            
             
            <para>
            Using this API, you can replace an existing notification configuration. The configuration
            is an XML file that defines the event types that you want Amazon S3 to publish and
            the destination where you want Amazon S3 to publish an event notification when it
            detects an event of the specified type.
            </para>
             
            <para>
            By default, your bucket has no event notifications configured. That is, the notification
            configuration will be an empty <code>NotificationConfiguration</code>.
            </para>
             
            <para>
             <code>&lt;NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
             <code>&lt;/NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
            This operation replaces the existing notification configuration with the configuration
            you include in the request body.
            </para>
             
            <para>
            After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification
            Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists,
            and that the bucket owner has permission to publish to it by sending a test notification.
            In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function
            permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Notifications for Amazon S3 Events</a>.
            </para>
             
            <para>
            You can disable notifications by adding the empty NotificationConfiguration element.
            </para>
             
            <para>
            By default, only the bucket owner can configure notifications on a bucket. However,
            bucket owners can use a bucket policy to grant permission to other users to set this
            configuration with <code>s3:PutBucketNotification</code> permission.
            </para>
             <note> 
            <para>
            The PUT notification is an atomic operation. For example, suppose your notification
            configuration includes SNS topic, SQS queue, and Lambda function configurations. When
            you send a PUT request with this configuration, Amazon S3 sends test messages to your
            SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3
            will not add the configuration to your bucket.
            </para>
             </note> 
            <para>
             <b>Responses</b> 
            </para>
             
            <para>
            If the configuration in the request body includes only one <code>TopicConfiguration</code>
            specifying only the <code>s3:ReducedRedundancyLostObject</code> event type, the response
            will also include the <code>x-amz-sns-test-message-id</code> header containing the
            message ID of the test notification sent to the topic.
            </para>
             
            <para>
            The following operation is related to <code>PutBucketNotificationConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketNotificationConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketNotification service method.</param>
            
            <returns>The response from the PutBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketNotificationAsync(Amazon.S3.Model.PutBucketNotificationRequest,System.Threading.CancellationToken)">
            <summary>
            Enables notifications of specified events for a bucket. For more information about
            event notifications, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Event Notifications</a>.
            
             
            <para>
            Using this API, you can replace an existing notification configuration. The configuration
            is an XML file that defines the event types that you want Amazon S3 to publish and
            the destination where you want Amazon S3 to publish an event notification when it
            detects an event of the specified type.
            </para>
             
            <para>
            By default, your bucket has no event notifications configured. That is, the notification
            configuration will be an empty <code>NotificationConfiguration</code>.
            </para>
             
            <para>
             <code>&lt;NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
             <code>&lt;/NotificationConfiguration&gt;</code> 
            </para>
             
            <para>
            This operation replaces the existing notification configuration with the configuration
            you include in the request body.
            </para>
             
            <para>
            After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification
            Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists,
            and that the bucket owner has permission to publish to it by sending a test notification.
            In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function
            permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket.
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Configuring
            Notifications for Amazon S3 Events</a>.
            </para>
             
            <para>
            You can disable notifications by adding the empty NotificationConfiguration element.
            </para>
             
            <para>
            By default, only the bucket owner can configure notifications on a bucket. However,
            bucket owners can use a bucket policy to grant permission to other users to set this
            configuration with <code>s3:PutBucketNotification</code> permission.
            </para>
             <note> 
            <para>
            The PUT notification is an atomic operation. For example, suppose your notification
            configuration includes SNS topic, SQS queue, and Lambda function configurations. When
            you send a PUT request with this configuration, Amazon S3 sends test messages to your
            SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3
            will not add the configuration to your bucket.
            </para>
             </note> 
            <para>
             <b>Responses</b> 
            </para>
             
            <para>
            If the configuration in the request body includes only one <code>TopicConfiguration</code>
            specifying only the <code>s3:ReducedRedundancyLostObject</code> event type, the response
            will also include the <code>x-amz-sns-test-message-id</code> header containing the
            message ID of the test notification sent to the topic.
            </para>
             
            <para>
            The following operation is related to <code>PutBucketNotificationConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketNotificationConfiguration</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketNotification service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketNotification service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicy(System.String,System.String)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicy(System.String,System.String,System.String)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="contentMD5">The MD5 hash of the request body.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicy(Amazon.S3.Model.PutBucketPolicyRequest)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketPolicy service method.</param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicyAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicyAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket.</param>
            <param name="policy">The bucket policy as a JSON document.</param>
            <param name="contentMD5">The MD5 hash of the request body.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketPolicyAsync(Amazon.S3.Model.PutBucketPolicyRequest,System.Threading.CancellationToken)">
            <summary>
            Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity
            other than the root user of the AWS account that owns the bucket, the calling identity
            must have the <code>PutBucketPolicy</code> permissions on the specified bucket and
            belong to the bucket owner's account in order to use this operation.
            
             
            <para>
            If you don't have <code>PutBucketPolic</code>y permissions, Amazon S3 returns a <code>403
            Access Denied</code> 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 <code>405
            Method Not Allowed</code> error.
            </para>
             <important> 
            <para>
             As a security precaution, the root user of the AWS account that owns a bucket can
            always use this operation, even if the policy explicitly denies the root user the
            ability to perform this action. 
            </para>
             </important> 
            <para>
            For more information about bucket policies, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html">Using
            Bucket Policies and User Policies</a>.
            </para>
             
            <para>
            The following operations are related to <code>PutBucketPolicy</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucket</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketPolicy service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketPolicy service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketReplication(Amazon.S3.Model.PutBucketReplicationRequest)">
            <summary>
            Creates a replication configuration or replaces an existing one. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            
             <note> 
            <para>
            To perform this operation, the user or role performing the operation must have the
            <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a>
            permission.
            </para>
             </note> 
            <para>
            Specify the replication configuration in the request body. In the replication configuration,
            you provide the name of the destination bucket where you want Amazon S3 to replicate
            objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,
            and other relevant information.
            </para>
             
            <para>
            A replication configuration must include at least one rule, and can contain a maximum
            of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects
            in the source bucket. To choose additional subsets of objects to replicate, add a
            rule for each subset. All rules must specify the same destination bucket.
            </para>
             
            <para>
            To specify a subset of the objects in the source bucket to apply a replication rule
            to, add the Filter element as a child of the Rule element. You can filter objects
            based on an object key prefix, one or more object tags, or both. When you add the
            Filter element in the configuration, you must also add the following elements: <code>DeleteMarkerReplication</code>,
            <code>Status</code>, and <code>Priority</code>.
            </para>
             
            <para>
            For information about enabling versioning on a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using
            Versioning</a>.
            </para>
             
            <para>
            By default, a resource owner, in this case the AWS account that created the bucket,
            can perform this operation. The resource owner can also grant others permissions to
            perform the operation. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <b>Handling Replication of Encrypted Objects</b> 
            </para>
             
            <para>
            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side
            encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add
            the following: <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>,
            <code>Status</code>, <code>EncryptionConfiguration</code>, and <code>ReplicaKmsKeyID</code>.
            For information about replication configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating
            Objects Created with SSE Using CMKs stored in AWS KMS</a>.
            </para>
             
            <para>
            For information on <code>PutBucketReplication</code> errors, see <a>ReplicationErrorCodeList</a>
            
            </para>
             
            <para>
            The following operations are related to <code>PutBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketReplication service method.</param>
            
            <returns>The response from the PutBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketReplicationAsync(Amazon.S3.Model.PutBucketReplicationRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a replication configuration or replaces an existing one. For more information,
            see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html">Replication</a>
            in the <i>Amazon S3 Developer Guide</i>. 
            
             <note> 
            <para>
            To perform this operation, the user or role performing the operation must have the
            <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html">iam:PassRole</a>
            permission.
            </para>
             </note> 
            <para>
            Specify the replication configuration in the request body. In the replication configuration,
            you provide the name of the destination bucket where you want Amazon S3 to replicate
            objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf,
            and other relevant information.
            </para>
             
            <para>
            A replication configuration must include at least one rule, and can contain a maximum
            of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects
            in the source bucket. To choose additional subsets of objects to replicate, add a
            rule for each subset. All rules must specify the same destination bucket.
            </para>
             
            <para>
            To specify a subset of the objects in the source bucket to apply a replication rule
            to, add the Filter element as a child of the Rule element. You can filter objects
            based on an object key prefix, one or more object tags, or both. When you add the
            Filter element in the configuration, you must also add the following elements: <code>DeleteMarkerReplication</code>,
            <code>Status</code>, and <code>Priority</code>.
            </para>
             
            <para>
            For information about enabling versioning on a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html">Using
            Versioning</a>.
            </para>
             
            <para>
            By default, a resource owner, in this case the AWS account that created the bucket,
            can perform this operation. The resource owner can also grant others permissions to
            perform the operation. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html">Specifying
            Permissions in a Policy</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <b>Handling Replication of Encrypted Objects</b> 
            </para>
             
            <para>
            By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side
            encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add
            the following: <code>SourceSelectionCriteria</code>, <code>SseKmsEncryptedObjects</code>,
            <code>Status</code>, <code>EncryptionConfiguration</code>, and <code>ReplicaKmsKeyID</code>.
            For information about replication configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html">Replicating
            Objects Created with SSE Using CMKs stored in AWS KMS</a>.
            </para>
             
            <para>
            For information on <code>PutBucketReplication</code> errors, see <a>ReplicationErrorCodeList</a>
            
            </para>
             
            <para>
            The following operations are related to <code>PutBucketReplication</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketReplication</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketReplication</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketReplication service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketReplication service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketRequestPayment(System.String,Amazon.S3.Model.RequestPaymentConfiguration)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="requestPaymentConfiguration">Container for Payer.</param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketRequestPayment(Amazon.S3.Model.PutBucketRequestPaymentRequest)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketRequestPayment service method.</param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketRequestPaymentAsync(System.String,Amazon.S3.Model.RequestPaymentConfiguration,System.Threading.CancellationToken)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="requestPaymentConfiguration">Container for Payer.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketRequestPaymentAsync(Amazon.S3.Model.PutBucketRequestPaymentRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the request payment configuration for a bucket. By default, the bucket owner
            pays for downloads from the bucket. This configuration parameter enables the bucket
            owner (only) to specify that the person requesting the download will be charged for
            the download. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
            Pays Buckets</a>.
            
             
            <para>
            The following operations are related to <code>PutBucketRequestPayment</code>:
            </para>
             <ul> <li> 
            <para>
             <a>CreateBucket</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketRequestPayment</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketRequestPayment service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketRequestPayment service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketTagging(System.String,System.Collections.Generic.List{Amazon.S3.Model.Tag})">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="tagSet">A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method.</param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketTagging(Amazon.S3.Model.PutBucketTaggingRequest)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketTagging service method.</param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketTaggingAsync(System.String,System.Collections.Generic.List{Amazon.S3.Model.Tag},System.Threading.CancellationToken)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="tagSet">A property of PutBucketTaggingRequest used to execute the PutBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketTaggingAsync(Amazon.S3.Model.PutBucketTaggingRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the tags for a bucket.
            
             
            <para>
            Use tags to organize your AWS bill to reflect your own cost structure. To do this,
            sign up to get your AWS account bill with tag key values included. Then, to see the
            cost of combined resources, organize your billing information according to resources
            with the same tag key values. For example, you can tag several resources with a specific
            application name, and then organize your billing information to see the total cost
            of that application across several services. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Cost
            Allocation and Tagging</a>.
            </para>
             <note> 
            <para>
            Within a bucket, if you add a tag that has the same key as an existing tag, the new
            value overwrites the old value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html">Using
            Cost Allocation in Amazon S3 Bucket Tags</a>.
            </para>
             </note> 
            <para>
            To use this operation, you must have permissions to perform the <code>s3:PutBucketTagging</code>
            action. The bucket owner has this permission by default and can grant this permission
            to others. For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources">Permissions
            Related to Bucket Subresource Operations</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
             <code>PutBucketTagging</code> has the following special errors:
            </para>
             <ul> <li> 
            <para>
            Error code: <code>InvalidTagError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The tag provided was not a valid tag. This error can occur if the tag
            did not pass input validation. For information about tag restrictions, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html">User-Defined
            Tag Restrictions</a> and <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html">AWS-Generated
            Cost Allocation Tag Restrictions</a>.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>MalformedXMLError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The XML provided does not match the schema.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>OperationAbortedError </code> 
            </para>
             <ul> <li> 
            <para>
            Description: A conflicting conditional operation is currently in progress against
            this resource. Please try again.
            </para>
             </li> </ul> </li> <li> 
            <para>
            Error code: <code>InternalError</code> 
            </para>
             <ul> <li> 
            <para>
            Description: The service was unable to apply the provided tag to the bucket.
            </para>
             </li> </ul> </li> </ul> 
            <para>
            The following operations are related to <code>PutBucketTagging</code>:
            </para>
             <ul> <li> 
            <para>
             <a>GetBucketTagging</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketTagging</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketTagging service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketTagging service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketVersioning(Amazon.S3.Model.PutBucketVersioningRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutBucketVersioningAsync(Amazon.S3.Model.PutBucketVersioningRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.PutBucketWebsite(System.String,Amazon.S3.Model.WebsiteConfiguration)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="websiteConfiguration">Container for the request.</param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketWebsite(Amazon.S3.Model.PutBucketWebsiteRequest)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketWebsite service method.</param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketWebsiteAsync(System.String,Amazon.S3.Model.WebsiteConfiguration,System.Threading.CancellationToken)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The bucket name.</param>
            <param name="websiteConfiguration">Container for the request.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutBucketWebsiteAsync(Amazon.S3.Model.PutBucketWebsiteRequest,System.Threading.CancellationToken)">
            <summary>
            Sets the configuration of the website that is specified in the <code>website</code>
            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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html">Hosting
            Websites on Amazon S3</a>.
            
             
            <para>
            This PUT operation requires the <code>S3:PutBucketWebsite</code> 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 <code>S3:PutBucketWebsite</code> permission.
            </para>
             
            <para>
            To redirect all website requests sent to the bucket's website endpoint, you add a
            website configuration with the following elements. Because all requests are sent to
            another website, you don't need to provide index document name for the bucket.
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>RedirectAllRequestsTo</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> </ul> 
            <para>
            If you want granular control over redirects, you can use the following elements to
            add routing rules that describe conditions for redirecting requests and information
            about the redirect destination. In this case, the website configuration must provide
            an index document for the bucket, because some requests might not be redirected. 
            </para>
             <ul> <li> 
            <para>
             <code>WebsiteConfiguration</code> 
            </para>
             </li> <li> 
            <para>
             <code>IndexDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Suffix</code> 
            </para>
             </li> <li> 
            <para>
             <code>ErrorDocument</code> 
            </para>
             </li> <li> 
            <para>
             <code>Key</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRules</code> 
            </para>
             </li> <li> 
            <para>
             <code>RoutingRule</code> 
            </para>
             </li> <li> 
            <para>
             <code>Condition</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpErrorCodeReturnedEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>KeyPrefixEquals</code> 
            </para>
             </li> <li> 
            <para>
             <code>Redirect</code> 
            </para>
             </li> <li> 
            <para>
             <code>Protocol</code> 
            </para>
             </li> <li> 
            <para>
             <code>HostName</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyPrefixWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>ReplaceKeyWith</code> 
            </para>
             </li> <li> 
            <para>
             <code>HttpRedirectCode</code> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutBucketWebsite service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutBucketWebsite service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutCORSConfiguration(System.String,Amazon.S3.Model.CORSConfiguration)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutCORSConfiguration(Amazon.S3.Model.PutCORSConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutCORSConfigurationAsync(System.String,Amazon.S3.Model.CORSConfiguration,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutCORSConfigurationAsync(Amazon.S3.Model.PutCORSConfigurationRequest,System.Threading.CancellationToken)" -->
        <member name="M:Amazon.S3.IAmazonS3.PutLifecycleConfiguration(System.String,Amazon.S3.Model.LifecycleConfiguration)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to set the configuration.</param>
            <param name="configuration">A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method.</param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutLifecycleConfiguration(Amazon.S3.Model.PutLifecycleConfigurationRequest)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutLifecycleConfiguration service method.</param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutLifecycleConfigurationAsync(System.String,Amazon.S3.Model.LifecycleConfiguration,System.Threading.CancellationToken)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="bucketName">The name of the bucket for which to set the configuration.</param>
            <param name="configuration">A property of PutLifecycleConfigurationRequest used to execute the PutLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <member name="M:Amazon.S3.IAmazonS3.PutLifecycleConfigurationAsync(Amazon.S3.Model.PutLifecycleConfigurationRequest,System.Threading.CancellationToken)">
            <summary>
            Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle
            configuration. For information about lifecycle configuration, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            
             <note> 
            <para>
            Bucket lifecycle configuration now supports specifying a lifecycle rule using an object
            key name prefix, one or more object tags, or a combination of both. Accordingly, this
            section describes the latest API. The previous version of the API supported filtering
            based only on an object key name prefix, which is supported for backward compatibility.
            For the related API description, see <a>PutBucketLifecycle</a>.
            </para>
             </note> 
            <para>
             <b>Rules</b> 
            </para>
             
            <para>
            You specify the lifecycle configuration in your request body. The lifecycle configuration
            is specified as XML consisting of one or more rules. Each rule consists of the following:
            </para>
             <ul> <li> 
            <para>
            Filter identifying a subset of objects to which the rule applies. The filter can be
            based on a key name prefix, object tags, or a combination of both.
            </para>
             </li> <li> 
            <para>
            Status whether the rule is in effect.
            </para>
             </li> <li> 
            <para>
            One or more lifecycle transition and expiration actions that you want Amazon S3 to
            perform on the objects identified by the filter. If the state of your bucket is versioning-enabled
            or versioning-suspended, you can have many versions of the same object (one current
            version and zero or more noncurrent versions). Amazon S3 provides predefined actions
            that you can specify for current and noncurrent object versions.
            </para>
             </li> </ul> 
            <para>
            For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html">Object
            Lifecycle Management</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html">Lifecycle
            Configuration Elements</a>.
            </para>
             
            <para>
             <b>Permissions</b> 
            </para>
             
            <para>
            By default, all Amazon S3 resources are private, including buckets, objects, and related
            subresources (for example, lifecycle configuration and website configuration). Only
            the resource owner (that is, the AWS account that created it) can access the resource.
            The resource owner can optionally grant access permissions to others by writing an
            access policy. For this operation, a user must get the s3:PutLifecycleConfiguration
            permission.
            </para>
             
            <para>
            You can also explicitly deny permissions. Explicit deny also supersedes any other
            permissions. If you want to block users or accounts from removing or deleting objects
            from your bucket, you must deny them permissions for the following actions:
            </para>
             <ul> <li> 
            <para>
            s3:DeleteObject
            </para>
             </li> <li> 
            <para>
            s3:DeleteObjectVersion
            </para>
             </li> <li> 
            <para>
            s3:PutLifecycleConfiguration
            </para>
             </li> </ul> 
            <para>
            For more information about permissions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html">Managing
            Access Permissions to Your Amazon S3 Resources</a>.
            </para>
             
            <para>
            The following are related to <code>PutBucketLifecycleConfiguration</code>:
            </para>
             <ul> <li> 
            <para>
             <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html">Examples
            of Lifecycle Configuration</a> 
            </para>
             </li> <li> 
            <para>
             <a>GetBucketLifecycleConfiguration</a> 
            </para>
             </li> <li> 
            <para>
             <a>DeleteBucketLifecycle</a> 
            </para>
             </li> </ul>
            </summary>
            <param name="request">Container for the necessary parameters to execute the PutLifecycleConfiguration service method.</param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            
            <returns>The response from the PutLifecycleConfiguration service method, as returned by S3.</returns>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObject(Amazon.S3.Model.PutObjectRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectAsync(Amazon.S3.Model.PutObjectRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectLegalHold(Amazon.S3.Model.PutObjectLegalHoldRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectLegalHoldAsync(Amazon.S3.Model.PutObjectLegalHoldRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectLockConfiguration(Amazon.S3.Model.PutObjectLockConfigurationRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectLockConfigurationAsync(Amazon.S3.Model.PutObjectLockConfigurationRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectRetention(Amazon.S3.Model.PutObjectRetentionRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectRetentionAsync(Amazon.S3.Model.PutObjectRetentionRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectTagging(Amazon.S3.Model.PutObjectTaggingRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutObjectTaggingAsync(Amazon.S3.Model.PutObjectTaggingRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutPublicAccessBlock(Amazon.S3.Model.PutPublicAccessBlockRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.PutPublicAccessBlockAsync(Amazon.S3.Model.PutPublicAccessBlockRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObject(System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObject(System.String,System.String,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObject(System.String,System.String,System.String)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObject(System.String,System.String,System.String,System.Int32)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObject(Amazon.S3.Model.RestoreObjectRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObjectAsync(System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObjectAsync(System.String,System.String,System.Int32,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObjectAsync(System.String,System.String,System.String,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObjectAsync(System.String,System.String,System.String,System.Int32,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.RestoreObjectAsync(Amazon.S3.Model.RestoreObjectRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.SelectObjectContent(Amazon.S3.Model.SelectObjectContentRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.SelectObjectContentAsync(Amazon.S3.Model.SelectObjectContentRequest,System.Threading.CancellationToken)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.UploadPart(Amazon.S3.Model.UploadPartRequest)" -->
        <!-- Badly formed XML comment ignored for member "M:Amazon.S3.IAmazonS3.UploadPartAsync(Amazon.S3.Model.UploadPartRequest,System.Threading.CancellationToken)" -->
        <member name="T:Amazon.S3.Transfer.BaseDownloadRequest">
            <summary>
            The base class for requests that return Amazon S3 objects.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.BucketName">
            <summary>
            	Gets or sets the name of the bucket.
            </summary>
            <value>
            	The name of the bucket.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.BaseDownloadRequest.IsSetBucketName">
            <summary>
            Gets whether or not the bucket name is set.
            </summary>
            <returns>
            	A value of <c>true</c> if the bucket name is set.
               Returns <c>false</c> if otherwise.
            </returns>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.Key">
            <summary>
            	Gets or sets the key under which the Amazon S3 object is stored.
            </summary>
            <value>
            	The key under which the Amazon S3 object is stored. 
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.BaseDownloadRequest.IsSetKey">
            <summary>
            	Gets whether or not the key property is set.
            </summary>
            <returns>
            	A value of <c>true</c> if key property is set.
            	Returns <c>false</c> if otherwise.
            </returns>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.VersionId">
            <summary>
            	Gets or sets the version ID of the Amazon S3 object.
            </summary>
            <value>
            	The version ID of the Amazon S3 object.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.BaseDownloadRequest.IsSetVersionId">
            <summary>
            Checks if VersionId property is set.
            </summary>
            <returns>true if VersionId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.ModifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use ModifiedSinceDateUtc instead. Setting either ModifiedSinceDate or
            ModifiedSinceDateUtc results in both ModifiedSinceDate and ModifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            ModifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            	Gets or sets the <c>ModifiedSinceDate</c> property.
            </summary>
            <value>
            	The <c>ModifiedSinceDate</c> property. 
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.ModifiedSinceDateUtc">
            <summary>
            	Gets or sets the <c>ModifiedSinceDate</c> property.
            </summary>
            <value>
            	The <c>ModifiedSinceDate</c> property. 
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.UnmodifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. Setting this property results in non-UTC DateTimes not
            being marshalled correctly. Use UnmodifiedSinceDateUtc instead. Setting either UnmodifiedSinceDate or
            UnmodifiedSinceDateUtc results in both UnmodifiedSinceDate and UnmodifiedSinceDateUtc being assigned,
            the latest assignment to either one of the two property is reflected in the value of both.
            UnmodifiedSinceDate is provided for backwards compatibility only and assigning a non-Utc DateTime
            to it results in the wrong timestamp being passed to the service.
            </para>
            	Gets or sets the <c>UnmodifiedSinceDate</c> property.
            </summary>
            <value>
            	The <c>UnmodifiedSinceDate</c> property.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.UnmodifiedSinceDateUtc">
            <summary>
            	Gets or sets the <c>UnmodifiedSinceDate</c> property.
            </summary>
            <value>
            	The <c>UnmodifiedSinceDate</c> property.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to decrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.BaseDownloadRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.BaseUploadRequest">
            <summary>
            The base class TransferUtility request classes.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.Internal.BaseCommand.WhenAllOrFirstExceptionAsync``1(System.Collections.Generic.List{System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
             Waits for all of the tasks to complete or till any task fails or is canceled.
            </summary>        
        </member>
        <member name="M:Amazon.S3.Transfer.Internal.BaseCommand.WhenAllOrFirstExceptionAsync(System.Collections.Generic.List{System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
            Waits for all of the tasks to complete or till any task fails or is canceled.
            </summary>        
        </member>
        <member name="M:Amazon.S3.Transfer.Internal.DownloadCommand.ByteRangeRemainingForDownload(System.String)">
            <summary>
            Returns the amount of bytes remaining that need to be pulled down from S3.
            </summary>
            <param name="filepath">The fully qualified path of the file.</param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Transfer.Internal.MultipartUploadCommand">
            <summary>
            The command to manage an upload using the S3 multipart API.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.Internal.MultipartUploadCommand.#ctor(Amazon.S3.IAmazonS3,Amazon.S3.Transfer.TransferUtilityConfig,Amazon.S3.Transfer.TransferUtilityUploadRequest)">
            <summary>
            Initializes a new instance of the <see cref="T:Amazon.S3.Transfer.Internal.MultipartUploadCommand"/> class.
            </summary>
            <param name="s3Client">The s3 client.</param>
            <param name="config">The config object that has the number of threads to use.</param>
            <param name="fileTransporterRequest">The file transporter request.</param>
        </member>
        <member name="T:Amazon.S3.Transfer.Internal.SimpleUploadCommand">
            <summary>
            This command is for doing regular PutObject requests.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.Internal.UploadDirectoryCommand">
            <summary>
            This command files all the files that meets the criteria specified in the TransferUtilityUploadDirectoryRequest request
            and uploads them.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.ITransferUtility">
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible. In this situation, if necessary, 
            	you should clean up any multipart uploads that are incomplete.
            	</para>
            </remarks>
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible.  In this situation, if necessary, 
            	you should clean up any multipart uploads	that are incomplete.
            	</para>
            </remarks>
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible.  In this situation, if necessary, 
            	you should clean up any multipart uploads that are incomplete.
            	</para>
            </remarks>
        </member>
        <member name="P:Amazon.S3.Transfer.ITransferUtility.S3Client">
            <summary>
            	Gets the Amazon S3 client used for making calls into Amazon S3.
            </summary>
            <value>
            	The Amazon S3 client used for making calls into Amazon S3.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the specified file.  
            	The object key is derived from the file's name.
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the specified file.  
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadAsync(System.IO.Stream,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the contents of the specified stream.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="stream">
            	The stream to read to obtain the content to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadAsync(Amazon.S3.Transfer.TransferUtilityUploadRequest,System.Threading.CancellationToken)">
            <summary>
            	Uploads the file or stream specified by the request.  
            	To track the progress of the upload,
            	add an event listener to the request's <c>UploadProgressEvent</c>.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	Contains all the parameters required to upload to Amazon S3.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.AbortMultipartUploadsAsync(System.String,System.DateTime,System.Threading.CancellationToken)">
            <summary>
            	Aborts the multipart uploads that were initiated before the specified date.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing multipart uploads.
            </param>
            <param name="initiatedDate">
            	The date before which the multipart uploads were initiated.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadAsync(Amazon.S3.Transfer.TransferUtilityDownloadRequest,System.Threading.CancellationToken)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            	If the key is not specified in the request parameter,
            	the file name will used as the key name.
            </summary>
            <param name="request">
            	Contains all the parameters required to download an Amazon S3 object.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.OpenStreamAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Returns a stream from which the caller can read the content from the specified
            	Amazon S3  bucket and key.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="bucketName">
            	The name of the bucket.
            </param>
            <param name="key">
            	The object key.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.OpenStreamAsync(Amazon.S3.Transfer.TransferUtilityOpenStreamRequest,System.Threading.CancellationToken)">
            <summary>
            	Returns a stream to read the contents from Amazon S3 as 
            	specified by the <c>TransferUtilityOpenStreamRequest</c>.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="request">
            	Contains all the parameters required for the OpenStream operation.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectoryAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectoryAsync(System.String,System.String,System.String,System.IO.SearchOption,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="searchPattern">
            	A pattern used to identify the files from the source directory to upload.
            </param>                                                                 
            <param name="searchOption">
            	A search option that specifies whether to recursively search for files to upload
            	in subdirectories.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectoryAsync(Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	The request that contains all the parameters required to upload a directory.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadDirectoryAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by <c>s3Directory</c>.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 objects to download.
            </param>
            <param name="s3Directory">
            	The directory in Amazon S3 to download.
            </param>
            <param name="localDirectory">
            	The local directory to download the objects to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadDirectoryAsync(Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest,System.Threading.CancellationToken)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by the <c>S3Directory</c>
            	property of the passed in <c>TransferUtilityDownloadDirectoryRequest</c> object.
            </summary>
            <param name="request">
            	Contains all the parameters required to download objects from Amazon S3 
            	into a local directory.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            </summary>
            <param name="filePath">
            	The file path where the content from Amazon S3 will be written to.
            </param>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 object to download.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectory(System.String,System.String)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectory(System.String,System.String,System.String,System.IO.SearchOption)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="searchPattern">
            	A pattern used to identify the files from the source directory to upload.
            </param>                                                                 
            <param name="searchOption">
            	A search option that specifies whether to recursively search for files to upload
            	in subdirectories.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.UploadDirectory(Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	The request that contains all the parameters required to upload a directory.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Upload(System.String,System.String)">
            <summary>
            	Uploads the specified file.  
            	The object key is derived from the file's name.
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Upload(System.String,System.String,System.String)">
            <summary>
            	Uploads the specified file.  
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Upload(System.IO.Stream,System.String,System.String)">
            <summary>
            	Uploads the contents of the specified stream.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="stream">
            	The stream to read to obtain the content to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Upload(Amazon.S3.Transfer.TransferUtilityUploadRequest)">
            <summary>
            	Uploads the file or stream specified by the request.  
            	To track the progress of the upload,
            	add an event listener to the request's <c>UploadProgressEvent</c>.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	Contains all the parameters required to upload to Amazon S3.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.OpenStream(System.String,System.String)">
            <summary>
            	Returns a stream from which the caller can read the content from the specified
            	Amazon S3  bucket and key.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="bucketName">
            	The name of the bucket.
            </param>
            <param name="key">
            	The object key.
            </param>
            <returns>
            	A stream of the contents from the specified Amazon S3 and key.
            </returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.OpenStream(Amazon.S3.Transfer.TransferUtilityOpenStreamRequest)">
            <summary>
            	Returns a stream to read the contents from Amazon S3 as 
            	specified by the <c>TransferUtilityOpenStreamRequest</c>.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="request">
            	Contains all the parameters required to open a stream to an S3 object.
            </param>
            <returns>
            	A stream of the contents from Amazon S3.
            </returns>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Download(System.String,System.String,System.String)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.  
            </summary>
            <param name="filePath">
            	The file path where the content from Amazon S3 will be written to.
            </param>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 object to download.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.Download(Amazon.S3.Transfer.TransferUtilityDownloadRequest)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            	If the key is not specified in the request parameter,
            	the file name will used as the key name.
            </summary>
            <param name="request">
            	Contains all the parameters required to download an Amazon S3 object.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadDirectory(System.String,System.String,System.String)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by <c>s3Directory</c>.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 objects to download.
            </param>
            <param name="s3Directory">
            	The directory in Amazon S3 to download.
            </param>
            <param name="localDirectory">
            	The local directory to download the objects to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.DownloadDirectory(Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by the <c>S3Directory</c>
            	property of the passed in <c>TransferUtilityDownloadDirectoryRequest</c> object.
            </summary>
            <param name="request">
            	Contains all the parameters required to download objects from Amazon S3 
            	into a local directory.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.ITransferUtility.AbortMultipartUploads(System.String,System.DateTime)">
            <summary>
            	Aborts the multipart uploads that were initiated before the specified date.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing multipart uploads.
            </param>
            <param name="initiatedDate">
            	The date before which the multipart uploads were initiated.
            </param>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtility">
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible. In this situation, if necessary, 
            	you should clean up any multipart uploads that are incomplete.
            	</para>
            </remarks>
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible.  In this situation, if necessary, 
            	you should clean up any multipart uploads	that are incomplete.
            	</para>
            </remarks>
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible. In this situation, if necessary, 
            	you should clean up any multipart uploads that are incomplete.
            	</para>
            </remarks>
            <summary>
            	<para>
            	Provides a high level utility for managing transfers to and from Amazon S3.
            	</para>
            	<para>
            	<c>TransferUtility</c> provides a simple API for 
            	uploading content to and downloading content
            	from Amazon S3. It makes extensive use of Amazon S3 multipart uploads to
            	achieve enhanced throughput, performance, and reliability. 
            	</para>
            	<para>
            	When uploading large files by specifying file paths instead of a stream, 
            	<c>TransferUtility</c> uses multiple threads to upload
            	multiple parts of a single upload at once. When dealing with large content
            	sizes and high bandwidth, this can increase throughput significantly.
            	</para>
            </summary>
            <remarks>
            	<para>
            	Transfers are stored in memory. If the application is restarted, 
            	previous transfers are no longer accessible.  In this situation, if necessary, 
            	you should clean up any multipart uploads that are incomplete.
            	</para>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(System.String,System.String)">
            <summary>
            	Constructs a new <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="awsAccessKeyId">
            	The AWS Access Key ID.
            </param>
            <param name="awsSecretAccessKey">
            	The AWS Secret Access Key.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(System.String,System.String,Amazon.RegionEndpoint)">
            <summary>
            	Constructs a new <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="awsAccessKeyId">
            	The AWS Access Key ID.
            </param>
            <param name="awsSecretAccessKey">
            	The AWS Secret Access Key.
            </param>
            <param name="region">
                The region to configure the transfer utility for.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(System.String,System.String,Amazon.S3.Transfer.TransferUtilityConfig)">
            <summary>
            	Constructs a new instance of the <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="awsAccessKeyId">
            	The AWS Access Key ID.
            </param>
            <param name="awsSecretAccessKey">
            	The AWS Secret Access Key.
            </param>
            <param name="config">
            	Specifies advanced settings.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(System.String,System.String,Amazon.RegionEndpoint,Amazon.S3.Transfer.TransferUtilityConfig)">
            <summary>
            	Constructs a new instance of the <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="awsAccessKeyId">
            	The AWS Access Key ID.
            </param>
            <param name="awsSecretAccessKey">
            	The AWS Secret Access Key.
            </param>
            <param name="region">
                The region to configure the transfer utility for.
            </param>
            <param name="config">
            	Specifies advanced settings.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(Amazon.S3.IAmazonS3)">
            <summary>
            	Constructs a new instance of the <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="s3Client">
            	The Amazon S3 client.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(Amazon.S3.IAmazonS3,Amazon.S3.Transfer.TransferUtilityConfig)">
            <summary>
            	Initializes a new instance of the <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="s3Client">
            	The Amazon S3 client.
            </param>
            <param name="config">
            	Specifies advanced configuration settings for <see cref="T:Amazon.S3.Transfer.TransferUtility"/>.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtility.S3Client">
            <summary>
            	Gets the Amazon S3 client used for making calls into Amazon S3.
            </summary>
            <value>
            	The Amazon S3 client used for making calls into Amazon S3.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Dispose(System.Boolean)">
            <summary>
            Implements the Dispose pattern
            </summary>
            <param name="disposing">Whether this object is being disposed via a call to Dispose
            or garbage collected.</param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Dispose">
            <summary>
            Disposes of all managed and unmanaged resources.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the specified file.  
            	The object key is derived from the file's name.
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the specified file.  
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadAsync(System.IO.Stream,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads the contents of the specified stream.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="stream">
            	The stream to read to obtain the content to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadAsync(Amazon.S3.Transfer.TransferUtilityUploadRequest,System.Threading.CancellationToken)">
            <summary>
            	Uploads the file or stream specified by the request.  
            	To track the progress of the upload,
            	add an event listener to the request's <c>UploadProgressEvent</c>.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploadsAsync() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	Contains all the parameters required to upload to Amazon S3.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.AbortMultipartUploadsAsync(System.String,System.DateTime,System.Threading.CancellationToken)">
            <summary>
            	Aborts the multipart uploads that were initiated before the specified date.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing multipart uploads.
            </param>
            <param name="initiatedDate">
            	The date before which the multipart uploads were initiated.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadAsync(Amazon.S3.Transfer.TransferUtilityDownloadRequest,System.Threading.CancellationToken)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            	If the key is not specified in the request parameter,
            	the file name will used as the key name.
            </summary>
            <param name="request">
            	Contains all the parameters required to download an Amazon S3 object.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.OpenStreamAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Returns a stream from which the caller can read the content from the specified
            	Amazon S3  bucket and key.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="bucketName">
            	The name of the bucket.
            </param>
            <param name="key">
            	The object key.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.OpenStreamAsync(Amazon.S3.Transfer.TransferUtilityOpenStreamRequest,System.Threading.CancellationToken)">
            <summary>
            	Returns a stream to read the contents from Amazon S3 as 
            	specified by the <c>TransferUtilityOpenStreamRequest</c>.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="request">
            	Contains all the parameters required for the OpenStream operation.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor">
            <summary>
            	Constructs a new <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(Amazon.RegionEndpoint)">
            <summary>
            	Constructs a new <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="region">
                The region to configure the transfer utility for.
            </param>
            <remarks>
            <para>
            If a Timeout needs to be specified, use the constructor which takes an <see cref="T:Amazon.S3.AmazonS3Client"/> as a paramater.
            Use an instance of <see cref="T:Amazon.S3.AmazonS3Client"/> constructed with an <see cref="T:Amazon.S3.AmazonS3Config"/> object with the Timeout specified. 
            </para>        
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.#ctor(Amazon.S3.Transfer.TransferUtilityConfig)">
            <summary>
            	Constructs a new <see cref="T:Amazon.S3.Transfer.TransferUtility"/> class.
            </summary>
            <param name="config">
            	Specifies advanced configuration settings for <see cref="T:Amazon.S3.Transfer.TransferUtility"/>.
            </param>
            <remarks>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectoryAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectoryAsync(System.String,System.String,System.String,System.IO.SearchOption,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="searchPattern">
            	A pattern used to identify the files from the source directory to upload.
            </param>                                                                 
            <param name="searchOption">
            	A search option that specifies whether to recursively search for files to upload
            	in subdirectories.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectoryAsync(Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest,System.Threading.CancellationToken)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	The request that contains all the parameters required to upload a directory.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadDirectoryAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by <c>s3Directory</c>.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 objects to download.
            </param>
            <param name="s3Directory">
            	The directory in Amazon S3 to download.
            </param>
            <param name="localDirectory">
            	The local directory to download the objects to.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadDirectoryAsync(Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest,System.Threading.CancellationToken)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by the <c>S3Directory</c>
            	property of the passed in <c>TransferUtilityDownloadDirectoryRequest</c> object.
            </summary>
            <param name="request">
            	Contains all the parameters required to download objects from Amazon S3 
            	into a local directory.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadAsync(System.String,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            </summary>
            <param name="filePath">
            	The file path where the content from Amazon S3 will be written to.
            </param>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 object to download.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
            <param name="cancellationToken">
                A cancellation token that can be used by other objects or threads to receive notice of cancellation.
            </param>
            <returns>The task object representing the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectory(System.String,System.String)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectory(System.String,System.String,System.String,System.IO.SearchOption)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="directory">
            	The source directory, that is, the directory containing the files to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the files to.
            </param>
            <param name="searchPattern">
            	A pattern used to identify the files from the source directory to upload.
            </param>                                                                 
            <param name="searchOption">
            	A search option that specifies whether to recursively search for files to upload
            	in subdirectories.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.UploadDirectory(Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest)">
            <summary>
            	Uploads files from a specified directory.  
            	The object key is derived from the file names
            	inside the directory.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	The request that contains all the parameters required to upload a directory.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Upload(System.String,System.String)">
            <summary>
            	Uploads the specified file.  
            	The object key is derived from the file's name.
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Upload(System.String,System.String,System.String)">
            <summary>
            	Uploads the specified file.  
            	Multiple threads are used to read the file and perform multiple uploads in parallel.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="filePath">
            	The file path of the file to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the file to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Upload(System.IO.Stream,System.String,System.String)">
            <summary>
            	Uploads the contents of the specified stream.  
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="stream">
            	The stream to read to obtain the content to upload.
            </param>
            <param name="bucketName">
            	The target Amazon S3 bucket, that is, the name of the bucket to upload the stream to.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Upload(Amazon.S3.Transfer.TransferUtilityUploadRequest)">
            <summary>
            	Uploads the file or stream specified by the request.  
            	To track the progress of the upload,
            	add an event listener to the request's <c>UploadProgressEvent</c>.
            	For large uploads, the file will be divided and uploaded in parts using 
            	Amazon S3's multipart API.  The parts will be reassembled as one object in
            	Amazon S3.
            </summary>
            <remarks>
            <para>
            If you are uploading large files, TransferUtility will use multipart upload to fulfill the request. 
            If a multipart upload is interrupted, TransferUtility will attempt to abort the multipart upload. 
            Under certain circumstances (network outage, power failure, etc.), TransferUtility will not be able 
            to abort the multipart upload. In this case, in order to stop getting charged for the storage of uploaded parts,
            you should manually invoke TransferUtility.AbortMultipartUploads() to abort the incomplete multipart uploads.
            </para>
            </remarks>
            <param name="request">
            	Contains all the parameters required to upload to Amazon S3.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.OpenStream(System.String,System.String)">
            <summary>
            	Returns a stream from which the caller can read the content from the specified
            	Amazon S3  bucket and key.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="bucketName">
            	The name of the bucket.
            </param>
            <param name="key">
            	The object key.
            </param>
            <returns>
            	A stream of the contents from the specified Amazon S3 and key.
            </returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.OpenStream(Amazon.S3.Transfer.TransferUtilityOpenStreamRequest)">
            <summary>
            	Returns a stream to read the contents from Amazon S3 as 
            	specified by the <c>TransferUtilityOpenStreamRequest</c>.
            	The caller of this method is responsible for closing the stream.
            </summary>
            <param name="request">
            	Contains all the parameters required to open a stream to an S3 object.
            </param>
            <returns>
            	A stream of the contents from Amazon S3.
            </returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Download(System.String,System.String,System.String)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.  
            </summary>
            <param name="filePath">
            	The file path where the content from Amazon S3 will be written to.
            </param>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 object to download.
            </param>
            <param name="key">
            	The key under which the Amazon S3 object is stored.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.Download(Amazon.S3.Transfer.TransferUtilityDownloadRequest)">
            <summary>
            	Downloads the content from Amazon S3 and writes it to the specified file.    
            	If the key is not specified in the request parameter,
            	the file name will used as the key name.
            </summary>
            <param name="request">
            	Contains all the parameters required to download an Amazon S3 object.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadDirectory(System.String,System.String,System.String)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by <c>s3Directory</c>.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing the Amazon S3 objects to download.
            </param>
            <param name="s3Directory">
            	The directory in Amazon S3 to download.
            </param>
            <param name="localDirectory">
            	The local directory to download the objects to.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.DownloadDirectory(Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest)">
            <summary>
            	Downloads the objects in Amazon S3 that have a key that starts with the value 
            	specified by the <c>S3Directory</c>
            	property of the passed in <c>TransferUtilityDownloadDirectoryRequest</c> object.
            </summary>
            <param name="request">
            	Contains all the parameters required to download objects from Amazon S3 
            	into a local directory.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtility.AbortMultipartUploads(System.String,System.DateTime)">
            <summary>
            	Aborts the multipart uploads that were initiated before the specified date.
            </summary>
            <param name="bucketName">
            	The name of the bucket containing multipart uploads.
            </param>
            <param name="initiatedDate">
            	The date before which the multipart uploads were initiated.
            </param>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityConfig">
            <summary>
            	<para>
            	Provides configuration options for how <see cref="T:Amazon.S3.Transfer.TransferUtility"/> processes requests.
            	</para>
            	<para>
            	The best configuration settings depend on network
            	configuration, latency and bandwidth. 
            	The default configuration settings are suitable
            	for most applications, but this class enables developers to experiment with
            	different configurations and tune transfer manager performance.
            	</para>
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityConfig.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityConfig.MinSizeBeforePartUpload">
            <summary>
            Gets or sets the minimum part size for upload parts in bytes. The default is 16 MB.
            Decreasing the minimum part size causes 
            multipart uploads to be split into a larger number
            of smaller parts. Setting this value too low has a negative effect
            on transfer speeds, causing extra latency and network
            communication for each part.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityConfig.ConcurrentServiceRequests">
            <summary>
            This property determines how many active threads
            or the number of concurrent asynchronous web requests 
            will be used to upload/download the file .
            The default value is 10.
            </summary>
            <remarks>
            	A value less than or equal to 0 will be silently ignored.
            </remarks>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityConfig.NumberOfUploadThreads">
            <summary>
            	Gets or sets the number of executing threads.
            	This property determines how many active threads will be used to upload 
            	the file. The default value is 10 threads.
            </summary>
            <remarks>
            	A value less than or equal to 0 will be silently ignored.
            </remarks>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityDownloadRequest">
            <summary>
            Contains all the parameters
            that can be set when making a this request with the 
            <c>TransferUtility</c> method.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadRequest.FilePath">
            <summary>
            	Get or sets the file path location of where the
            	downloaded Amazon S3 object will be written to.
            </summary>
            <value>
            	The file path location of where the downloaded Amazon S3 object will be written to.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadRequest.IsSetFilePath">
            <summary>
            Checks if FilePath property is set.
            </summary>
            <returns>True if FilePath property is set.</returns>
        </member>
        <member name="E:Amazon.S3.Transfer.TransferUtilityDownloadRequest.WriteObjectProgressEvent">
            <summary>
            The event for WriteObjectProgressEvent notifications. All
            subscribers will be notified when a new progress
            event is raised.
            <para>
            The WriteObjectProgressEvent is fired as data
            is downloaded from S3.  The delegates attached to the event 
            will be passed information detailing how much data
            has been downloaded as well as how much will be downloaded.
            </para>
            </summary>
            <remarks>
            Subscribe to this event if you want to receive
            WriteObjectProgressEvent notifications. Here is how:<br />
            1. Define a method with a signature similar to this one:
            <code>
            private void displayProgress(object sender, WriteObjectProgressArgs args)
            {
                Console.WriteLine(args);
            }
            </code>
            2. Add this method to the WriteObjectProgressEvent delegate's invocation list
            <code>
            TransferUtilityDownloadRequest request = new TransferUtilityDownloadRequest();
            request.WriteObjectProgressEvent += displayProgress;
            </code>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadRequest.OnRaiseProgressEvent(Amazon.S3.Model.WriteObjectProgressArgs)">
            <summary>
            Causes the WriteObjectProgressEvent event to be fired.
            </summary>
            <param name="progressArgs">Progress data for the stream being written to file.</param>        
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityOpenStreamRequest">
            <summary>
            Contains all the parameters
            that can be set when making a this request with the 
            <c>TransferUtility</c> method.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityUploadRequest">
            <summary>
            Contains all the parameters
            that can be set when making a this request with the 
            <c>TransferUtility</c> method.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.BucketName">
            <summary>
            	Gets or sets the name of the bucket.
            </summary>
            <value>
            	The name of the bucket.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetBucketName">
            <summary>
            Checks if BucketName property is set.
            </summary>
            <returns>true if BucketName property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.Key">
            <summary>
            	Gets or sets the key under which the Amazon S3 object is to be stored.
            </summary>
            <value>
            	The key under which the Amazon S3 object is to be stored. 
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetKey">
            <summary>
            Checks if Key property is set.
            </summary>
            <returns>true if Key property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.CannedACL">
            <summary>
            	Gets or sets the canned access control list (ACL)
            	for the uploaded object.
            	Please refer to 
            	<see cref="T:Amazon.S3.S3CannedACL"/> for
            	information on Amazon S3 canned ACLs.
            </summary>
            <value>
            	The canned access control list (ACL)
            	for the uploaded object.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetCannedACL">
            <summary>
            Checks if the CannedACL property is set.
            </summary>
            <returns>true if there is the CannedACL property is set.</returns>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.RemoveCannedACL">
            <summary>
            	Removes the cannned access control list (ACL)
            	for the uploaded object.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ContentType">
            <summary>
            	Gets or sets the content type of the uploaded Amazon S3 object.
            </summary>
            <value>
            	The content type of the uploaded Amazon S3 object.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetContentType">
            <summary>
            Checks if ContentType property is set.
            </summary>
            <returns>true if ContentType property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.StorageClass">
            <summary>
            	Gets or sets the storage class for the uploaded Amazon S3 object.
            	Please refer to 
            	<see cref="T:Amazon.S3.S3StorageClass"/> for
            	information on S3 Storage Classes.
            </summary>
            <value>
            	The storage class for the uploaded Amazon S3 object.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ServerSideEncryptionMethod">
            <summary>
            Gets and sets the ServerSideEncryptionMethod property.
            Specifies the encryption used on the server to
            store the content.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ServerSideEncryptionCustomerMethod">
            <summary>
            The Server-side encryption algorithm to be used with the customer provided key.
             
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            Checks if ServerSideEncryptionKeyManagementServiceKeyId property is set.
            </summary>
            <returns>true if ServerSideEncryptionKeyManagementServiceKeyId property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ServerSideEncryptionCustomerProvidedKey">
            <summary>
            The base64-encoded encryption key for Amazon S3 to use to encrypt the object
            <para>
            Using the encryption key you provide as part of your request Amazon S3 manages both the encryption, as it writes 
            to disks, and decryption, when you access your objects. Therefore, you don't need to maintain any data encryption code. The only 
            thing you do is manage the encryption keys you provide.
            </para>
            <para>
            When you retrieve an object, you must provide the same encryption key as part of your request. Amazon S3 first verifies 
            the encryption key you provided matches, and then decrypts the object before returning the object data to you.
            </para>
            <para>
            Important: Amazon S3 does not store the encryption key you provide.
            </para>
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ServerSideEncryptionCustomerProvidedKeyMD5">
            <summary>
            The MD5 of the customer encryption key specified in the ServerSideEncryptionCustomerProvidedKey property. The MD5 is
            base 64 encoded. This field is optional, the SDK will calculate the MD5 if this is not set.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.InputStream">
            <summary>
            Input stream for the request; content for the request will be read from the stream.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.FilePath">
            <summary>
            <para>
            	Gets or sets the file path
            	where the Amazon S3 object will be uploaded from.
            </para>
            <para>
                For WinRT and Windows Phone this property must be in the form of "ms-appdata:///local/file.txt".
            </para>
            </summary>
            <value>
            	The file path where the Amazon S3 object will be uploaded from.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetFilePath">
            <summary>
            Checks if FilePath property is set.
            </summary>
            <returns>true if FilePath property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.PartSize">
            <summary>
            	Gets or sets the part size of the upload in bytes.
            	The uploaded file will be divided into 
            	parts the size specified and
            	uploaded to Amazon S3 individually.
            </summary>
            <value>
            	The part size of the upload.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.IsSetPartSize">
            <summary>
            Checks if PartSize property is set.
            </summary>
            <returns>true if PartSize property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.Headers">
            <summary>
            The collection of headers for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.TagSet">
            <summary>
            The tag-set for the object.
            </summary>
        </member>
        <member name="E:Amazon.S3.Transfer.TransferUtilityUploadRequest.UploadProgressEvent">
            <summary>
            The event for UploadProgressEvent notifications. All
            subscribers will be notified when a new progress
            event is raised.
            <para>
            The UploadProgressEvent is fired as data
            is uploaded to S3.  The delegates attached to the event 
            will be passed information detailing how much data
            has been uploaded as well as how much will be uploaded.
            </para>
            </summary>
            <remarks>
            Subscribe to this event if you want to receive
            UploadProgressEvent notifications. Here is how:<br />
            1. Define a method with a signature similar to this one:
            <code>
            private void displayProgress(object sender, UploadProgressArgs args)
            {
                Console.WriteLine(args);
            }
            </code>
            2. Add this method to the UploadProgressEvent delegate's invocation list
            <code>
            TransferUtilityUploadRequest request = new TransferUtilityUploadRequest();
            request.UploadProgressEvent += displayProgress;
            </code>
            </remarks>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.OnRaiseProgressEvent(Amazon.S3.Transfer.UploadProgressArgs)">
            <summary>
            Causes the UploadProgressEvent event to be fired.
            </summary>
            <param name="progressArgs">Progress data for the file being uploaded.</param>        
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.ContentLength">
            <summary>
            Gets the length of the content by either checking the FileInfo.Length property or the Stream.Length property.
            </summary>
            <value>The length of the content.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.AutoCloseStream">
            <summary>
            	Gets or sets whether or not the stream used with this request is
            	automatically closed when all of the content is read from the stream.         
            </summary>
            <value>
            	A value of <c>true</c> if the if the stream is
            	automatically closed when all of the content is read from the stream.
            	A value of <c>false</c> if otherwise. 		
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadRequest.AutoResetStreamPosition">
            <summary>
            If this value is set to true then the stream's position will be reset to the start before being read for upload.
            Default: true.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadRequest.WithAutoCloseStream(System.Boolean)">
            <summary>
            	Sets whether or not the stream used with this request is
            	automatically closed when all of the content is read from the stream
              	and returns this object instance, 
            	enabling additional method calls to be chained together.
            </summary>
            <param name="autoCloseStream">
            	A value of <c>true</c> if the if the stream is
            	automatically closed when all of the content is read from the stream.
            	A value of <c>false</c> if otherwise. 	
            </param>
            <returns>
            	This object instance, enabling additional method calls to be chained together.
            </returns>
        </member>
        <member name="T:Amazon.S3.Transfer.UploadProgressArgs">
            <summary>
            Encapsulates the information needed to provide
            transfer progress to subscribers of the Put Object
            Event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadProgressArgs.#ctor(System.Int64,System.Int64,System.Int64)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="incrementTransferred">The how many bytes were transferred since last event.</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadProgressArgs.#ctor(System.Int64,System.Int64,System.Int64,System.String)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="incrementTransferred">The how many bytes were transferred since last event.</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>        
            <param name="filePath">The file being uploaded</param>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadProgressArgs.#ctor(System.Int64,System.Int64,System.Int64,System.Int64,System.String)">
            <summary>
            The constructor takes the number of
            currently transferred bytes and the
            total number of bytes to be transferred
            </summary>
            <param name="incrementTransferred">The how many bytes were transferred since last event.</param>
            <param name="transferred">The number of bytes transferred</param>
            <param name="total">The total number of bytes to be transferred</param>
            <param name="compensationForRetry">A compensation for any upstream aggregators if this event to correct theit totalTransferred count,
            in case the underlying request is retried.</param>
            <param name="filePath">The file being uploaded</param>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadProgressArgs.FilePath">
            <summary>
            Gets the FilePath.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest">
            <summary>
            Request object for downloading a directory with the TransferUtility.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.BucketName">
            <summary>
            	Gets or sets the name of the bucket.
            </summary>
            <value>
            	The name of the bucket.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetBucketName">
            <summary>
            Gets whether or not the bucket name is set.
            </summary>
            <returns>
            	A value of <c>true</c> if the bucket name is set.
               Otherwise, returns <c>false</c>.
            </returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.LocalDirectory">
            <summary>
            	Gets or sets the local directory where objects from Amazon S3 will be downloaded.  
            	If the directory doesn't exist, it will be created.
            </summary>
            <value>
            	The local directory where objects from Amazon S3 will be downloaded.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetLocalDirectory">
            <summary>
            	Gets whether or not the LocalDirectory property is set.
            </summary>
            <returns>
            	A value of <c>true</c> if LocalDirectory property is set.
            	Otherwise, returns <c>false</c>.
            </returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.S3Directory">
            <summary>
            Gets or sets the Amazon S3 directory to download from.  
            This is translated to a key prefix; keys that have this prefix will be
            downloaded.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetS3Directory">
            <summary>
            	Gets whether or not the S3Directory property is set.
            </summary>
            <returns>
            	A value of <c>true</c> if S3Directory property is set.
            	Otherwise, returns <c>false</c>.
            </returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.ModifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. This property doesn't honor the DateTimeKind, please
            use ModifiedSinceDateUtc instead.
            </para>
            	Gets or sets the <c>ModifiedSinceDate</c> property.  
            	Only objects that have been modified since this date will be
            	downloaded.
            </summary>
            <value>
            	The <c>ModifiedSinceDate</c> property. 
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetModifiedSinceDate">
            <summary>
            Checks if ModifiedSinceDate property is set.
            </summary>
            <returns>A value of <c>true</c> if ModifiedSinceDate property is set.
            	Otherwise, returns <c>false</c>.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.ModifiedSinceDateUtc">
            <summary>
            	Gets or sets the <c>ModifiedSinceDateUtc</c> property.  
            	Only objects that have been modified since this date will be
            	downloaded.
            </summary>
            <value>
            	The <c>ModifiedSinceDateUtc</c> property. 
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetModifiedSinceDateUtc">
            <summary>
            Checks if ModifiedSinceDateUtc property is set.
            </summary>
            <returns>A value of <c>true</c> if ModifiedSinceDateUtc property is set.
            	Otherwise, returns <c>false</c>.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.UnmodifiedSinceDate">
            <summary>
            <para>
            This property is deprecated. This property doesn't honor the DateTimeKind, please
            use UnmodifiedSinceDateUtc instead.
            </para>
            	Gets or sets the <c>UnmodifiedSinceDate</c> property.  
            	Only objects that have not been modified since this date will be downloaded.
            </summary>
            <value>
            	The <c>UnmodifiedSinceDate</c> property.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetUnmodifiedSinceDate">
            <summary>
            Checks if UnmodifiedSinceDate property is set.
            </summary>
            <returns>true if UnmodifiedSinceDate property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.UnmodifiedSinceDateUtc">
            <summary>
            	Gets or sets the <c>UnmodifiedSinceDateUtc</c> property.  
            	Only objects that have not been modified since this date will be downloaded.
            </summary>
            <value>
            	The <c>UnmodifiedSinceDateUtc</c> property.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.IsSetUnmodifiedSinceDateUtc">
            <summary>
            Checks if UnmodifiedSinceDateUtc property is set.
            </summary>
            <returns>true if UnmodifiedSinceDateUtc property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently">
            <summary>
            Gets or sets the DownloadFilesConcurrently property.
            Specifies if multiple files will be downloaded concurrently.
            The number of concurrent web requests used is controlled 
            by the TransferUtilityConfig.ConcurrencyLevel property.
            </summary>
        </member>
        <member name="E:Amazon.S3.Transfer.TransferUtilityDownloadDirectoryRequest.DownloadedDirectoryProgressEvent">
            <summary>
            The event for DownloadedDirectoryProgressEvent notifications. All
            subscribers will be notified when a new progress
            event is raised.
            <para>
            The DownloadedDirectoryProgressEvent is fired as data
            is downloaded from Amazon S3.  The delegates attached to the event 
            will be passed information detailing how much data
            has been downloaded as well as how much will be downloaded.
            </para>
            </summary>
            <remarks>
            Subscribe to this event if you want to receive
            DownloadedDirectoryProgressEvent notifications. Here is how:<br />
            1. Define a method with a signature similar to this one:
            <code>
            private void displayProgress(object sender, DownloadDirectoryProgressArgs args)
            {
                Console.WriteLine(args);
            }
            </code>
            2. Add this method to the DownloadedDirectoryProgressEvent delegate's invocation list
            <code>
            TransferUtilityDownloadDirectoryRequest request = new TransferUtilityDownloadDirectoryRequest();
            request.DownloadedDirectoryProgressEvent += displayProgress;
            </code>
            </remarks>
        </member>
        <member name="T:Amazon.S3.Transfer.DownloadDirectoryProgressArgs">
            <summary>
            Encapsulates the information needed to provide
            transfer progress to subscribers of the <c>DownloadDirectory</c>
            event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.#ctor(System.Int32,System.Int32,System.String,System.Int64,System.Int64)">
            <summary>
            Constructs a new instance of <c>DownloadDirectoryProgressArgs</c>.
            </summary>
            <param name="numberOfFilesDownloaded">
            The number of files downloaded.
            </param>
            <param name="totalNumberOfFiles">
            The total number of files to download.
            </param>
            <param name="currentFile">
            The current file being downloaded
            </param>
            <param name="transferredBytesForCurrentFile">
            The number of transferred bytes for the current file.
            </param>
            <param name="totalNumberOfBytesForCurrentFile">
            The size of the current file in bytes.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.#ctor(System.Int32,System.Int32,System.Int64,System.Int64,System.String,System.Int64,System.Int64)">
            <summary>
            Constructs a new instance of <c>DownloadDirectoryProgressArgs</c>.
            </summary>
            <param name="numberOfFilesDownloaded">
            The number of files downloaded.
            </param>
            <param name="totalNumberOfFiles">
            The total number of files to download.
            </param>
            <param name="transferredBytes">
            The bytes transferred across all files being downloaded.
            </param>
            <param name="totalBytes">
            The total number of bytes across all files being downloaded.
            </param>
            <param name="currentFile">
            The current file being downloaded.
            </param>
            <param name="transferredBytesForCurrentFile">
            The number of transferred bytes for the current file.
            </param>
            <param name="totalNumberOfBytesForCurrentFile">
            The size of the current file in bytes.
            </param>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.TotalNumberOfFiles">
            <summary>
            Gets or sets the total number of files.
            </summary>
            <value>The total number of files.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.NumberOfFilesDownloaded">
            <summary>
            Gets or sets the number of files downloaded so far.
            </summary>
            <value>The number of files downloaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.TotalBytes">
            <summary>
            Gets or sets the total number of bytes across all files being downloaded.
            </summary>
            <value>The total number of bytes across all files being downloaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.TransferredBytes">
            <summary>
            Gets or sets the bytes transferred across all files being downloaded.
            </summary>
            <value>The bytes transferred across all files being downloaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.CurrentFile">
            <summary>
            Gets or sets the current file being downloaded.
            </summary>
            <remarks>
            This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled).
            If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property
            will return null.
            </remarks>
            <value>The current file being downloaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.TransferredBytesForCurrentFile">
            <summary>
            Gets or sets the transferred bytes for the current file.
            </summary>
            <remarks>
            This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled).
            If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property
            will return 0.
            </remarks>
            <value>The transferred bytes for the current file.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.TotalNumberOfBytesForCurrentFile">
            <summary>
            Gets or sets the total number of bytes for the current file.
            </summary>
            <remarks>
            This property is only valid if DownloadDirectory is used without enabling concurrent file downloads (by default concurrent download is disabled).
            If concurrent file downloads are enabled by setting TransferUtilityDownloadDirectoryRequest.DownloadFilesConcurrently to true, this property
            will return 0.
            </remarks>
            <value>The total number of bytes for the current file.</value>
        </member>
        <member name="M:Amazon.S3.Transfer.DownloadDirectoryProgressArgs.ToString">
            <summary>
            The string representation of this instance of DownloadDirectoryProgressArgs.
            </summary>
            <returns>The string representation of this instance of DownloadDirectoryProgressArgs.</returns>
        </member>
        <member name="T:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest">
            <summary>
            Contains all the parameters
            that can be set when making a this request with the 
            <c>TransferUtility</c> method.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.Directory">
            <summary>
            	Gets or sets the directory where files are uploaded from.
            </summary>
            <value>
            	The directory where files are uploaded from.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.IsSetDirectory">
            <summary>
            Checks if Directory property is set.
            </summary>
            <returns>true if Directory property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.KeyPrefix">
            <summary>
            	Gets or sets the KeyPrefix property.  As object keys are generated for the
            	files being uploaded this value will prefix the key.  This is useful when a directory
            	needs to be uploaded into sub directory in the S3 Bucket.
            </summary>
            <value>
            	The directory where files are uploaded from.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.IsSetKeyPrefix">
            <summary>
            Checks if KeyPrefix property is set.
            </summary>
            <returns>true if KeyPrefix property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.SearchPattern">
            <summary>
            	Gets and sets the search pattern used to determine which
            	files in the directory are uploaded.    
            </summary>
            <value>
            	The search pattern used to deterimine which
            	files in the directory are uploaded.
            	The default value is "*", specifying that all files
            	in the directory will be uploaded.  
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.IsSetSearchPattern">
            <summary>
            Checks if SearchPattern property is set.
            </summary>
            <returns>true if SearchPattern property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.SearchOption">
            <summary>
            	Gets or sets the recursive options for the directory upload.
            </summary>
            <value>
            	The recursive options for the directory upload.
            	Set by default to <c>TopDirectoryOnly</c>,
            	specifying that files will be uploaded from the root directory only.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.BucketName">
            <summary>
            	Gets or sets the name of the bucket.
            </summary>
            <value>
            	The name of the bucket.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.IsSetBucketName">
            <summary>
            Checks if BucketName property is set.
            </summary>
            <returns>true if BucketName property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.CannedACL">
            <summary>
            	Gets or sets the canned access control list (ACL)
            	for the uploaded objects.
            	Please refer to 
            	<see cref="T:Amazon.S3.S3CannedACL"/> for
            	information on Amazon S3 canned ACLs.
            </summary>
            <value>
            	The canned access control list (ACL)
            	for the uploaded objects.
            </value>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.IsSetCannedACL">
            <summary>
            Checks if the CannedACL property is set.
            </summary>
            <returns>true if there is the CannedACL property is set.</returns>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.ContentType">
            <summary>
            	Gets or sets the content type for the uploaded Amazon S3 objects.
                The default behavior when this field is not set is to use the file
                extension to set the content type. If this field is set to a value it
                will be applied to all uploaded files in the directory, overriding
                file extension inspection.
            </summary>
            <value>
            	The content type for all the uploaded Amazon S3 objects.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.StorageClass">
            <summary>
            	Gets or sets the storage class for the uploaded Amazon S3 objects.
            	Please refer to 
            	<see cref="T:Amazon.S3.S3StorageClass"/> for
            	information on S3 Storage Classes.
            </summary>
            <value>
            	The storage class for the uploaded Amazon S3 objects.
            </value>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.Metadata">
            <summary>
            The collection of meta data for the request.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.ServerSideEncryptionMethod">
            <summary>
            Gets or sets the ServerSideEncryptionMethod property.
            Specifies the encryption used on the server to
            store the content.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.ServerSideEncryptionKeyManagementServiceKeyId">
            <summary>
            The id of the AWS Key Management Service key that Amazon S3 should use to encrypt and decrypt the object.
            If a key id is not specified, the default key will be used for encryption and decryption.
            </summary>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently">
            <summary>
            Gets or sets the UploadFilesConcurrently property.
            Specifies if multiple files will be uploaded concurrently.
            The number of concurrent web requests used is controlled 
            by the TransferUtilityConfig.ConcurrencyLevel property.
            </summary>
        </member>
        <member name="E:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.UploadDirectoryProgressEvent">
            <summary>
            The event for UploadDirectoryProgressEvent notifications. All
            subscribers will be notified when a new progress
            event is raised.
            <para>
            The UploadDirectoryProgressEvent is fired as data
            is uploaded to S3.  The delegates attached to the event 
            will be passed information detailing how much data
            has been uploaded as well as how much will be uploaded.
            </para>
            </summary>
            <remarks>
            Subscribe to this event if you want to receive
            UploadDirectoryProgressEvent notifications. Here is how:<br />
            1. Define a method with a signature similar to this one:
            <code>
            private void displayProgress(object sender, UploadDirectoryProgressArgs args)
            {
                Console.WriteLine(args);
            }
            </code>
            2. Add this method to the UploadDirectoryProgressEvent delegate's invocation list
            <code>
            TransferUtilityUploadDirectoryRequest request = new TransferUtilityUploadDirectoryRequest();
            request.UploadDirectoryProgressEvent += displayProgress;
            </code>
            </remarks>
        </member>
        <member name="E:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.UploadDirectoryFileRequestEvent">
            <summary>
            The event for modifying individual TransferUtilityUploadRequest for each file
            being uploaded.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.OnRaiseProgressEvent(Amazon.S3.Transfer.UploadDirectoryProgressArgs)">
            <summary>
            Causes the UploadDirectoryProgressEvent event to be fired.
            </summary>
            <param name="uploadDirectoryProgress">Progress data for files currently being uploaded.</param>
        </member>
        <member name="P:Amazon.S3.Transfer.TransferUtilityUploadDirectoryRequest.TagSet">
            <summary>
            Tags that will be applied to all objects in the diretory.
            </summary>
        </member>
        <member name="T:Amazon.S3.Transfer.UploadDirectoryProgressArgs">
            <summary>
            Encapsulates the information needed to provide
            transfer progress to subscribers of the <c>UploadDirectory</c>
            event.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadDirectoryProgressArgs.#ctor(System.Int32,System.Int32,System.String,System.Int64,System.Int64)">
            <summary>
            Constructs a new instance of <c>UploadDirectoryProgressArgs</c>.
            </summary>
            <param name="numberOfFilesUploaded">
            The number of files uploaded.
            </param>
            <param name="totalNumberOfFiles">
            The total number of files to upload.
            </param>
            <param name="currentFile">
            The current file 
            </param>
            <param name="transferredBytesForCurrentFile">
            The number of transferred bytes for current file.
            </param>
            <param name="totalNumberOfBytesForCurrentFile">
            The size of the current file in bytes.
            </param>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadDirectoryProgressArgs.#ctor(System.Int32,System.Int32,System.Int64,System.Int64,System.String,System.Int64,System.Int64)">
            <summary>
            Constructs a new instance of <c>UploadDirectoryProgressArgs</c>.
            </summary>
            <param name="numberOfFilesUploaded">
            The number of files uploaded.
            </param>
            <param name="totalNumberOfFiles">
            The total number of files to upload.
            </param>
            <param name="transferredBytes">
            The bytes transferred across all files being uploaded.
            </param>
            <param name="totalBytes">
            The total number of bytes across all files being uploaded.
            </param>
            <param name="currentFile">
            The current file being uploaded.
            </param>
            <param name="transferredBytesForCurrentFile">
            The number of transferred bytes for current file.
            </param>
            <param name="totalNumberOfBytesForCurrentFile">
            The size of the current file in bytes.
            </param>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.TotalNumberOfFiles">
            <summary>
            Gets or sets the total number of files.
            </summary>
            <value>The total number of files.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.NumberOfFilesUploaded">
            <summary>
            Gets or sets the number of files uploaded.
            </summary>
            <value>The number of files uploaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.TotalBytes">
            <summary>
            Gets or sets the total number of bytes across all files being uploaded.
            </summary>
            <value>The total number of bytes across all files being uploaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.TransferredBytes">
            <summary>
            Gets or sets the bytes transferred across all files being uploaded.
            </summary>
            <value>The bytes transferred across all files being uploaded.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.CurrentFile">
            <summary>
            Gets or sets the current file.
            </summary>
            <remarks>
            This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled).
            If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property
            will return null.
            </remarks>
            <value>The current file.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.TransferredBytesForCurrentFile">
            <summary>
            Gets or sets the transferred bytes for current file.
            </summary>
            <remarks>
            This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled).
            If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property
            will return 0.
            </remarks>
            <value>The transferred bytes for current file.</value>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryProgressArgs.TotalNumberOfBytesForCurrentFile">
            <summary>
            Gets or sets the total number of bytes for current file.
            </summary>
            <remarks>
            This property is only valid if UploadDirectory is used without enabling concurrent file uploads (by default concurrent upload is disabled).
            If concurrent file uploads are enabled by setting TransferUtilityUploadDirectoryRequest.UploadFilesConcurrently to true, this property
            will return 0.
            </remarks>
            <value>The total number of bytes for current file.</value>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadDirectoryProgressArgs.ToString">
            <summary>
            The string representation of this instance of UploadDirectoryProgressArgs.
            </summary>
            <returns>The string representation of this instance of UploadDirectoryProgressArgs.</returns>
        </member>
        <member name="T:Amazon.S3.Transfer.UploadDirectoryFileRequestArgs">
            <summary>
            Contains a single TransferUtilityUploadRequest corresponding
            to a single file about to be uploaded, allowing changes to
            the request before it is executed.
            </summary>
        </member>
        <member name="M:Amazon.S3.Transfer.UploadDirectoryFileRequestArgs.#ctor(Amazon.S3.Transfer.TransferUtilityUploadRequest)">
            <summary>
            Constructs a new UploadDirectoryFileRequestArgs instance.
            </summary>
            <param name="request">Request being processed.</param>
        </member>
        <member name="P:Amazon.S3.Transfer.UploadDirectoryFileRequestArgs.UploadRequest">
            <summary>
            Gets and sets the UploadRequest property.
            </summary>
        </member>
        <member name="T:Amazon.S3.Encryption.AmazonS3EncryptionClient">
            <summary>
            This class extends the AmazonS3Client and provides client side encryption when reading or writing S3 objects.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with the Encryption materials and credentials loaded from the application's
            default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
            
            Example App.config with credentials set. 
            <code>
            &lt;?xml version="1.0" encoding="utf-8" ?&gt;
            &lt;configuration&gt;
                &lt;appSettings&gt;
                    &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                &lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            
            </summary>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.RegionEndpoint,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with the Encryption materials and credentials loaded from the application's
            default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
            
            Example App.config with credentials set. 
            <code>
            &lt;?xml version="1.0" encoding="utf-8" ?&gt;
            &lt;configuration&gt;
                &lt;appSettings&gt;
                    &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                &lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            
            </summary>
            <param name="region">
            The region to connect.
            </param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.S3.Encryption.AmazonS3CryptoConfiguration,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with the Encryption materials, 
            AmazonS3 CryptoConfiguration object and credentials loaded from the application's
            default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
            
            Example App.config with credentials set. 
            <code>
            &lt;?xml version="1.0" encoding="utf-8" ?&gt;
            &lt;configuration&gt;
                &lt;appSettings&gt;
                    &lt;add key="AWSProfileName" value="AWS Default"/&gt;
                &lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
            
            </summary>
            <param name="config">
            The AmazonS3EncryptionClient CryptoConfiguration Object
            </param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.Runtime.AWSCredentials,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
             Constructs AmazonS3EncryptionClient with AWS Credentials and Encryption materials.
            </summary>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
            <param name="credentials">AWS Credentials</param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.Runtime.AWSCredentials,Amazon.RegionEndpoint,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Credentials, Region and Encryption materials
            </summary>
            <param name="credentials">AWS Credentials</param>
            <param name="region">The region to connect.</param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(Amazon.Runtime.AWSCredentials,Amazon.S3.Encryption.AmazonS3CryptoConfiguration,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Credentials, AmazonS3CryptoConfiguration Configuration object
            and Encryption materials
            </summary>
            <param name="credentials">AWS Credentials</param>
            <param name="config">The AmazonS3EncryptionClient CryptoConfiguration Object</param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID,
            AWS Secret Key and Encryption materials
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="materials">The encryption materials to be used to encrypt and decrypt envelope key.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,Amazon.RegionEndpoint,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID,
            AWS Secret Key, Region and Encryption materials
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="region">The region to connect.</param>
            <param name="materials">The encryption materials to be used to encrypt and decrypt envelope key.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,Amazon.S3.Encryption.AmazonS3CryptoConfiguration,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key,
            AmazonS3 CryptoConfiguration object and Encryption materials.
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="config">The AmazonS3EncryptionClient CryptoConfiguration Object</param>
            <param name="materials">The encryption materials to be used to encrypt and decrypt envelope key.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,System.String,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key,
            SessionToken and Encryption materials.
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,System.String,Amazon.RegionEndpoint,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key,
             SessionToken, Region and Encryption materials.
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
            <param name="region">The region to connect.</param>
            <param name="materials">The encryption materials to be used to encrypt and decrypt envelope key.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.#ctor(System.String,System.String,System.String,Amazon.S3.Encryption.AmazonS3CryptoConfiguration,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Constructs AmazonS3EncryptionClient with AWS Access Key ID, Secret Key, SessionToken
            AmazonS3EncryptionClient CryptoConfiguration object and Encryption materials.
            </summary>
            <param name="awsAccessKeyId">AWS Access Key ID</param>
            <param name="awsSecretAccessKey">AWS Secret Access Key</param>
            <param name="awsSessionToken">AWS Session Token</param>
            <param name="config">The AmazonS3EncryptionClient CryptoConfiguration Object</param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt envelope key.
            </param>
        </member>
        <member name="P:Amazon.S3.Encryption.AmazonS3EncryptionClient.SupportResponseLogging">
            <summary>
            Turn off response logging because it will interfere with decrypt of the data coming back from S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.CustomizeRuntimePipeline(Amazon.Runtime.Internal.RuntimePipeline)">
            <summary>
            Customize the pipeline to allow encryption.
            </summary>
            <param name="pipeline"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3EncryptionClient.Dispose(System.Boolean)">
            <summary>
            Dispose this instance
            </summary>
            <param name="disposing"></param>
        </member>
        <member name="T:Amazon.S3.Encryption.AmazonS3CryptoConfiguration">
            <summary>
            AmazonS3CryptoConfiguration allows customers
            to set storage mode for encryption credentials
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.AmazonS3CryptoConfiguration.#ctor">
            <summary>
            Default Constructor.
            </summary>
        </member>
        <member name="P:Amazon.S3.Encryption.AmazonS3CryptoConfiguration.StorageMode">
            <summary>
            Gets and sets the StorageMode property. This determines if the crypto metadata is stored as metadata on the object or as a separate object in S3.
            The default is ObjectMetadata.
            </summary>
        </member>
        <member name="T:Amazon.S3.Encryption.CryptoStorageMode">
            <summary>
            Mode for string the encryption information for an object.
            </summary>
        </member>
        <member name="F:Amazon.S3.Encryption.CryptoStorageMode.InstructionFile">
            <summary>
            Store the information in a separate S3 Object.
            </summary>
        </member>
        <member name="F:Amazon.S3.Encryption.CryptoStorageMode.ObjectMetadata">
            <summary>
            Store the information as metadata on the encrypted object.
            </summary>
        </member>
        <member name="T:Amazon.S3.Encryption.EncryptionInstructions">
            <summary>
            Encryption Instructions store the encryption credentials
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionInstructions.#ctor(System.Collections.Generic.Dictionary{System.String,System.String},System.Byte[],System.Byte[],System.Byte[])">
            <summary>
            Construct an instance EncryptionInstructions.
            </summary>
            <param name="materialsDescription"></param>
            <param name="envelopeKey"></param>
            <param name="encryptedKey"></param>
            <param name="iv"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionInstructions.#ctor(System.Collections.Generic.Dictionary{System.String,System.String},System.Byte[],System.Byte[])">
            <summary>
            Construct an instance EncryptionInstructions.
            </summary>
            <param name="materialsDescription"></param>
            <param name="envelopeKey"></param>
            <param name="iv"></param>
        </member>
        <member name="T:Amazon.S3.Encryption.EncryptionMaterials">
            <summary>
            The "key encrypting key" materials used in encrypt/decryption.
            These materials may be an asymmetric key, a symmetric key, or a KMS key ID.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionMaterials.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
            <summary>
            Constructs a new EncryptionMaterials object, storing an asymmetric key.
            </summary>
            <param name="algorithm"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionMaterials.#ctor(System.Security.Cryptography.SymmetricAlgorithm)">
            <summary>
            Constructs a new EncryptionMaterials object, storing a symmetric key.
            </summary>
            <param name="algorithm"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionMaterials.#ctor(System.String)">
            <summary>
            Constructs a new EncryptionMaterials object, storing a KMS Key ID
            </summary>
            <param name="kmsKeyID"></param>
        </member>
        <member name="T:Amazon.S3.Encryption.EncryptionUtils">
            <summary>
            The EncryptionUtils class encrypts and decrypts data stored in S3.
            It can be used to prepare requests for encryption before they are stored in S3
            and to decrypt objects that are retrieved from S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.DecryptNonKMSEnvelopeKey(System.Byte[],Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Decrypts an encrypted Envelope key using the provided encryption materials
            and returns it in raw byte array form.
            </summary>
            <param name="encryptedEnvelopeKey"> Encrypted envelope key</param>
            <param name="materials">Encryption materials needed to decrypt the encrypted envlelope key</param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.EncryptRequestUsingInstruction(System.IO.Stream,Amazon.S3.Encryption.EncryptionInstructions)">
            <summary>
            Returns an updated stream where the stream contains the encrypted object contents.
            The specified instruction will be used to encrypt data.
            </summary>
            <param name="toBeEncrypted">
            The stream whose contents are to be encrypted.
            </param>
            <param name="instructions">
            The instruction that will be used to encrypt the object data.
            </param>
            <returns>
            Encrypted stream, i.e input stream wrapped into encrypted stream
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.EncryptUploadPartRequestUsingInstructions(System.IO.Stream,Amazon.S3.Encryption.EncryptionInstructions)">
            <summary>
            Returns an updated input stream where the input stream contains the encrypted object contents.
            The specified instruction will be used to encrypt data.
            </summary>
            <param name="toBeEncrypted">
            The stream whose contents are to be encrypted.
            </param>
            <param name="instructions">
            The instruction that will be used to encrypt the object data.
            </param>
            <returns>
            Encrypted stream, i.e input stream wrapped into encrypted stream
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.DecryptObjectUsingInstructions(Amazon.S3.Model.GetObjectResponse,Amazon.S3.Encryption.EncryptionInstructions)">
            <summary>
            Updates object where the object
            input stream contains the decrypted contents.
            </summary>
            <param name="response">
            The getObject response whose contents are to be decrypted.
            </param>
            <param name="instructions">
            The instruction that will be used to encrypt the object data.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.GenerateInstructionsForKMSMaterials(Amazon.Runtime.SharedInterfaces.ICoreAmazonKMS,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Generates an instruction that will be used to encrypt an object
            using materials with the KMSKeyID set.
            </summary>
            <param name="kmsClient">
            Used to call KMS to generate a data key.
            </param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt data.
            </param>
            <returns>
            The instruction that will be used to encrypt an object.
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.GenerateInstructionsForKMSMaterialsAsync(Amazon.Runtime.SharedInterfaces.ICoreAmazonKMS,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Generates an instruction that will be used to encrypt an object
            using materials with the KMSKeyID set.
            </summary>
            <param name="kmsClient">
            Used to call KMS to generate a data key.
            </param>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt data.
            </param>
            <returns>
            The instruction that will be used to encrypt an object.
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.GenerateInstructionsForNonKMSMaterials(Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Generates an instruction that will be used to encrypt an object
            using materials with the AsymmetricProvider or SymmetricProvider set.
            </summary>
            <param name="materials">
            The encryption materials to be used to encrypt and decrypt data.
            </param>
            <returns>
            The instruction that will be used to encrypt an object.
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.BuildInstructionsFromObjectMetadata(Amazon.S3.Model.GetObjectResponse,Amazon.S3.Encryption.EncryptionMaterials,System.Byte[])">
            <summary>
             Builds an instruction object from the object metadata.
            </summary>
            <param name="response">
            A non-null object response that contains encryption information in its metadata.
            </param>
            <param name="materials">
            The non-null encryption materials to be used to encrypt and decrypt Envelope key.
            </param>
            <param name="decryptedEnvelopeKeyKMS">
            The decrypted envelope key to be use if KMS key wrapping is being used.  Or null if non-KMS key wrapping is being used.
            </param>
            <returns>
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.BuildInstructionsUsingInstructionFile(Amazon.S3.Model.GetObjectResponse,Amazon.S3.Encryption.EncryptionMaterials)">
            <summary>
            Builds an instruction object from the instruction file.
            </summary>
            <param name="response"> Instruction file GetObject response</param>
            <param name="materials">
            The non-null encryption materials to be used to encrypt and decrypt Envelope key.
            </param>
            <returns>     
            A non-null instruction object containing encryption information.
            </returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.UpdateMetadataWithEncryptionInstructions(Amazon.Runtime.AmazonWebServiceRequest,Amazon.S3.Encryption.EncryptionInstructions,System.Boolean)">
            <summary>
            Update the request's ObjectMetadata with the necessary information for decrypting the object.
            </summary>
            <param name="request">
            AmazonWebServiceRequest  encrypted using the given instruction
            </param>
            <param name="instructions">
            Non-null instruction used to encrypt the data in this AmazonWebServiceRequest .
            </param>
            <param name="useV2Metadata">
            If true use V2 metadata format, otherwise use V1.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.AddUnencryptedContentLengthToMetadata(Amazon.S3.Model.PutObjectRequest)">
            <summary>
            Adds UnEncrypted content length to object metadata
            </summary>
            <param name="request"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.IsEncryptionInfoInMetadata(Amazon.S3.Model.GetObjectResponse)">
            <summary>
            checks if encryption credentials are in object metadata
            </summary>
            <param name="response">Response of the object</param>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.Encryption.EncryptionUtils.IsEncryptionInfoInInstructionFile(Amazon.S3.Model.GetObjectResponse)">
            <summary>
            checks if encryption credentials are in the instructionfile
            </summary>
            <param name="response">Instruction file response that contains encryption information</param>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.Encryption.Internal.SetupDecryptionHandler">
            <summary>
            Custom the pipeline handler to decrypt objects.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.#ctor(Amazon.S3.Encryption.AmazonS3EncryptionClient)">
            <summary>
            Construct instance of SetupDecryptionHandler.
            </summary>
            <param name="encryptionClient"></param>
        </member>
        <member name="P:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.EncryptionClient">
            <summary>
            Gets the EncryptionClient property which is the AmazonS3EncryptionClient that is decrypting the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls the post invoke logic after calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.PostInvoke(Amazon.Runtime.IExecutionContext)">
            <summary>
            Decrypt the object being downloaded.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls the and post invoke logic after calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.PostInvokeAsync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Decrypt the object being downloaded.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.PostInvokeSynchronous(Amazon.Runtime.IExecutionContext,System.Byte[])">
            <summary>
            Decrypt the object being downloaded.
            </summary>
            <param name="executionContext"></param>
            <param name="decryptedEnvelopeKeyKMS"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.DecryptObjectUsingInstructionFile(Amazon.S3.Model.GetObjectResponse,Amazon.S3.Model.GetObjectResponse)">
            <summary>
            Updates object where the object input stream contains the decrypted contents.
            </summary>
            <param name="instructionFileResponse">
            The getObject response of InstructionFile.
            </param>
            <param name="response">
            The getObject response whose contents are to be decrypted.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupDecryptionHandler.DecryptObjectUsingMetadata(Amazon.S3.Model.GetObjectResponse,System.Byte[])">
            <summary>
            Updates object where the object input stream contains the decrypted contents.
            </summary>
            <param name="objectResponse">
            The getObject response whose contents are to be decrypted.
            </param>
            <param name="decryptedEnvelopeKeyKMS">
            The decrypted envelope key to be use if KMS key wrapping is being used.  Or null if non-KMS key wrapping is being used.
            </param>
        </member>
        <member name="T:Amazon.S3.Encryption.Internal.SetupEncryptionHandler">
            <summary>
            Custom pipeline handler to encrypt the data as it is being uploaded to S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.#ctor(Amazon.S3.Encryption.AmazonS3EncryptionClient)">
            <summary>
            Construct an instance SetupEncryptionHandler.
            </summary>
            <param name="encryptionClient"></param>
        </member>
        <member name="P:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.EncryptionClient">
            <summary>
            Gets the EncryptionClient property which is the AmazonS3EncryptionClient that is encrypting the object.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.PreInvoke(Amazon.Runtime.IExecutionContext)">
            <summary>
            Encrypts the S3 object being uploaded.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.PreInvokeAsync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Encrypts the S3 object being uploaded.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.ValidateConfigAndMaterials">
            <summary>
            Make sure that the storage mode and encryption materials are compatible.
            The client only supports KMS key wrapping in metadata storage mode.
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.GenerateEncryptedObjectRequestUsingMetadata(Amazon.S3.Model.PutObjectRequest,Amazon.S3.Encryption.EncryptionInstructions)">
            <summary>
            Updates the request where the metadata contains encryption information 
            and the input stream contains the encrypted object contents.
            </summary>
            <param name="putObjectRequest">
            The request whose contents are to be encrypted.
            </param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.GenerateEncryptedObjectRequestUsingInstructionFile(Amazon.S3.Model.PutObjectRequest,Amazon.S3.Encryption.EncryptionInstructions)">
            <summary>
            Updates the request where the instruction file contains encryption information 
            and the input stream contains the encrypted object contents.
            </summary>
            <param name="putObjectRequest"></param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.SetupEncryptionHandler.GenerateEncryptedUploadPartRequest(Amazon.S3.Model.UploadPartRequest)">
            <summary>
            Updates the request where the input stream contains the encrypted object contents.
            </summary>
            <param name="request"></param>
        </member>
        <member name="T:Amazon.S3.Encryption.Internal.UserAgentHandler">
            <summary>
            Adds the crypto token to the user agent
            </summary>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.UserAgentHandler.InvokeSync(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <param name="executionContext">The execution context which contains both the
            requests and response context.</param>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.UserAgentHandler.InvokeAsync``1(Amazon.Runtime.IExecutionContext)">
            <summary>
            Calls pre invoke logic before calling the next handler 
            in the pipeline.
            </summary>
            <typeparam name="T">The response type for the current request.</typeparam>
            <param name="executionContext">The execution context, it contains the
            request and response context.</param>
            <returns>A task that represents the asynchronous operation.</returns>
        </member>
        <member name="M:Amazon.S3.Encryption.Internal.UserAgentHandler.PreInvoke(Amazon.Runtime.IExecutionContext)">
            <summary>
            Customize the user agent.
            </summary>
            <param name="executionContext"></param>
        </member>
        <member name="T:Amazon.S3.IO.S3DirectoryInfo">
            <summary>
            Mimics the System.IO.DirectoryInfo for a virtual directory in S3.  It exposes properties and methods for enumerating directories and files as well as 
            methods manipulate directories.
            </summary>
            <remarks>
            <note type='note'>It is important to keep in mind that S3 is not a filesystem. It is possible for S3 object keys to contain 
            characters which are not not legal file path characters, and so some pre-existing objects in a bucket that were created with 
            other software may not be compatible with this class.</note> 
            </remarks>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.#ctor(Amazon.S3.IAmazonS3,System.String)">
            <summary>
            Initialize a new instance of the S3DirectoryInfo class for the specified S3 bucket.
            </summary>
            <param name="s3Client">S3 client which is used to access the S3 resources.</param>
            <param name="bucket">Name of the S3 bucket.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.#ctor(Amazon.S3.IAmazonS3,System.String,System.String)">
            <summary>
            Initialize a new instance of the S3DirectoryInfo class for the specified S3 bucket and S3 object key.
            </summary>
            <param name="s3Client">S3 client which is used to access the S3 resources.</param>
            <param name="bucket">Name of the S3 bucket.</param>
            <param name="key">The S3 object key.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Bucket">
            <summary>
            The S3DirectoryInfo for the root of the S3 bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Exists">
            <summary>
            Checks with S3 to see if the directory exists and if so returns true.
            
            Due to Amazon S3's eventual consistency model this property can return false for newly created buckets.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Amazon#S3#IO#IS3FileSystemInfo#Extension">
            <summary>
            Returns empty string for directories.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.FullName">
            <summary>
            The full path of the directory including bucket name.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.LastWriteTime">
            <summary>
            Returns the last write time of the the latest file written to the directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.LastWriteTimeUtc">
            <summary>
            UTC converted version of LastWriteTime.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Name">
            <summary>
            Returns the name of the folder.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Parent">
            <summary>
            Return the S3DirectoryInfo of the parent directory.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Root">
            <summary>
            Returns the S3DirectroyInfo for the S3 account.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3DirectoryInfo.Type">
            <summary>
            Returns the type of file system element.
            </summary>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.Create">
            <summary>
            Creates the directory in S3.  If no object key was specified when creating the S3DirectoryInfo then the bucket will be created.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CreateSubdirectory(System.String)">
            <summary>
            Creates a sub directory inside the instance of S3DirectoryInfo.
            </summary>
            <param name="directory"></param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.Delete">
            <summary>
            Deletes all the files in this directory as well as this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <exception cref="T:Amazon.S3.Model.DeleteObjectsException"></exception>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.Delete(System.Boolean)">
            <summary>
            Deletes all the files in this directory as well as this directory.  If recursive is set to true then all sub directories will be 
            deleted as well.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <exception cref="T:Amazon.S3.Model.DeleteObjectsException"></exception>
            <param name="recursive">If true then sub directories will be deleted as well.</param>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateDirectories">
            <summary>
            Enumerate the sub directories of this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of directories.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateDirectories(System.String)">
            <summary>
            Enumerate the sub directories of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all directories.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of directories that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateDirectories(System.String,System.IO.SearchOption)">
            <summary>
            Enumerate the sub directories of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all directories.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of directories that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFiles">
            <summary>
            Enumerate the files of this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFiles(System.String)">
            <summary>
            Enumerate the sub directories of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFiles(System.String,System.IO.SearchOption)">
            <summary>
            Enumerate the files of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFileSystemInfos">
            <summary>
            Enumerate the files of this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFileSystemInfos(System.String)">
            <summary>
            Enumerate the files of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.EnumerateFileSystemInfos(System.String,System.IO.SearchOption)">
            <summary>
            Enumerate the files of this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An enumerable collection of files that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetDirectory(System.String)">
            <summary>
            Returns the S3DirectoryInfo for the specified sub directory.
            </summary>
            <param name="directory">Directory to get the S3DirectroyInfo for.</param>
            <returns>The S3DirectoryInfo for the specified sub directory.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetDirectories">
            <summary>
            Returns an array of S3DirectoryInfos for the directories in this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of directories.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetDirectories(System.String)">
            <summary>
            Returns an array of S3DirectoryInfos for the directories in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <returns>An array of files that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetDirectories(System.String,System.IO.SearchOption)">
            <summary>
            Returns an array of S3DirectoryInfos for the directories in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all directories.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of directories that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFile(System.String)">
            <summary>
            Returns the S3FileInfo for the specified file.
            </summary>
            <param name="filename">File to get the S3FileInfo for.</param>
            <returns>The S3FileInfo for the specified file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFiles">
            <summary>
            Returns an array of S3FileInfos for the files in this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFiles(System.String)">
            <summary>
            Returns an array of S3FileInfos for the files in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFiles(System.String,System.IO.SearchOption)">
            <summary>
            Returns an array of S3FileInfos for the files in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFileSystemInfos">
            <summary>
            Returns an array of IS3FileSystemInfos for the files in this directory.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFileSystemInfos(System.String)">
            <summary>
            Returns an array of IS3FileSystemInfos for the files in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files that matches searchPattern.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.GetFileSystemInfos(System.String,System.IO.SearchOption)">
            <summary>
            Returns an array of IS3FileSystemInfos for the files in this directory.
            </summary>
            <param name="searchPattern">The search string. The default pattern is "*", which returns all files.</param>
            <param name="searchOption">One of the enumeration values that specifies whether the search operation should include only the current directory or all subdirectories. The default value is TopDirectoryOnly.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>An array of files that matches searchPattern and searchOption.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyTo(System.String,System.String)">
            <summary>
            Copies the files from this directory to the target directory specified by the bucket and object key.
            </summary>
            <param name="newBucket">The target bucket to copy to.</param>
            <param name="newKey">The target object key which represents a directory in S3.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyTo(System.String,System.String,System.DateTime)">
            <summary>
            Copies the files from this directory to the target directory specified by the bucket and object key.  Only
            files that have changed since the changeSince date will be copied.
            </summary>
            <param name="newBucket">The target bucket to copy to.</param>
            <param name="newKey">The target object key which represents a directory in S3.</param>
            <param name="changesSince">Date which files must have changed since in ordered to be copied.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyTo(Amazon.S3.IO.S3DirectoryInfo)">
            <summary>
            Copies the files from this directory to the target directory.
            </summary>
            <param name="newLoc">The target directory to copy to.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyTo(Amazon.S3.IO.S3DirectoryInfo,System.DateTime)">
            <summary>
            Copies the files from this directory to the target directory.  Only
            files that have changed since the changeSince date will be copied.
            </summary>
            <param name="newLoc">The target directory to copy to.</param>
            <param name="changesSince">Date which files must have changed since in ordered to be copied.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyToLocal(System.String)">
            <summary>
            Copies the files from the S3 directory to the local file system in the location indicated by the path parameter.
            </summary>
            <param name="path">The location on the local file system to copy the files to.</param>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>DirectoryInfo for the local directory where files are copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyToLocal(System.String,System.DateTime)">
            <summary>
            Copies the files from the S3 directory to the local file system in the location indicated by the path parameter.
            Only files that have been modified since the changesSince property will be copied.
            </summary>
            <param name="path">The location on the local file system to copy the files to.</param>
            <param name="changesSince">Date which files must have changed since in ordered to be copied.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>DirectoryInfo for the local directory where files are copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyFromLocal(System.String)">
            <summary>
            Copies files from the local file system to S3 in this directory.  Sub directories are copied as well.
            </summary>
            <param name="path">The local file system path where the files are to be copied.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo where the files are copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.CopyFromLocal(System.String,System.DateTime)">
            <summary>
            Copies files from the local file system to S3 in this directory.  Sub directories are copied as well.  
            Only files that have been modified since the changesSince property will be copied.
            </summary>
            <param name="path">The local file system path where the files are to copy.</param>
            <param name="changesSince">Date which files must have changed since in ordered to be copied.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo where the files are copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.MoveTo(System.String,System.String)">
            <summary>
            Moves the directory to the target directory specified by the bucket and object key.
            </summary>
            <param name="newBucket">The target bucket to move to.</param>
            <param name="newKey">The target object key which represents a directory in S3.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.MoveTo(Amazon.S3.IO.S3DirectoryInfo)">
            <summary>
            Moves the directory to the target S3 directory.
            </summary>
            <param name="newLoc">The target directory to copy to.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.MoveToLocal(System.String)">
            <summary>
            Moves the files from the S3 directory to the local file system in the location indicated by the path parameter.
            </summary>
            <param name="path">The location on the local file system to move the files to.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>DirectoryInfo for the local directory where files are moved to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.MoveFromLocal(System.String)">
            <summary>
            Moves files from the local file system to S3 in this directory.  Sub directories are moved as well.
            </summary>
            <param name="path">The local file system path where the files are to be moved.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3DirectoryInfo where the files are moved to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.ToString">
            <summary>
            Implement the ToString method.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.IO.S3DirectoryInfo.WaitTillBucketS3StateIsConsistent(System.Boolean)">
            <summary>
            Creating and deleting buckets can sometimes take a little bit of time.  To make sure
            users of this API do not experience the side effects of the eventual consistency
            we block until the state change has happened.
            </summary>
            <param name="exists"></param>
        </member>
        <member name="T:Amazon.S3.IO.S3FileInfo">
            <summary>
            Mimics the System.IO.FileInfo for a file in S3.  It exposes properties and methods manipulating files in S3.
            </summary>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.#ctor(Amazon.S3.IAmazonS3,System.String,System.String)">
            <summary>
            Initialize a new instance of the S3FileInfo class for the specified S3 bucket and S3 object key.
            </summary>
            <param name="s3Client">S3 client which is used to access the S3 resources.</param>
            <param name="bucket">Name of the S3 bucket.</param>
            <param name="key">The S3 object key.</param>
            <exception cref="T:System.ArgumentNullException"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Directory">
            <summary>
            Returns the parent S3DirectoryInfo.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.DirectoryName">
            <summary>
            The full name of parent directory.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Exists">
            <summary>
            Checks S3 if the file exists in S3 and return true if it does.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Extension">
            <summary>
            Gets the file's extension.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.FullName">
            <summary>
            Returns the full path including the bucket.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.LastWriteTime">
            <summary>
            Returns the last time the file was modified.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.LastWriteTimeUtc">
            <summary>
            Returns the last time the file was modified in UTC.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Length">
            <summary>
            Returns the content length of the file.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Name">
            <summary>
            Returns the file name without its directory name.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.S3FileInfo.Type">
            <summary>
            Returns the type of file system element.
            </summary>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(System.String,System.String)">
            <summary>
            Copies this file's content to the file indicated by the S3 bucket and object key.
            If the file already exists in S3 than an ArgumentException is thrown.
            </summary>
            <param name="newBucket">S3 bucket to copy the file to.</param>
            <param name="newKey">S3 object key to copy the file to.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(System.String,System.String,System.Boolean)">
            <summary>
            Copies this file's content to the file indicated by the S3 bucket and object key.
            If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="newBucket">S3 bucket to copy the file to.</param>
            <param name="newKey">S3 object key to copy the file to.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3 and overwrite is set to false.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(Amazon.S3.IO.S3DirectoryInfo)">
            <summary>
            Copies this file to the target directory.
            If the file already exists in S3 than an ArgumentException is thrown.
            </summary>
            <param name="dir">Target directory where to copy the file to.</param>
            <exception cref="T:System.ArgumentException">If the directory does not exist.</exception>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(Amazon.S3.IO.S3DirectoryInfo,System.Boolean)">
            <summary>
            Copies this file to the target directory.
            If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="dir">Target directory where to copy the file to.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.ArgumentException">If the directory does not exist.</exception>
            <exception cref="T:System.IO.IOException">If the file already exists in S3 and overwrite is set to false.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(Amazon.S3.IO.S3FileInfo)">
            <summary>
            Copies this file to the location indicated by the passed in S3FileInfo.
            If the file already exists in S3 than an ArgumentException is thrown.
            </summary>
            <param name="file">The target location to copy this file to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyTo(Amazon.S3.IO.S3FileInfo,System.Boolean)">
            <summary>
            Copies this file to the location indicated by the passed in S3FileInfo.
            If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="file">The target location to copy this file to.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3 and overwrite is set to false.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the newly copied file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyToLocal(System.String)">
            <summary>
            Copies from S3 to the local file system.  
            If the file already exists on the local file system than an ArgumentException is thrown.
            </summary>
            <param name="destFileName">The path where to copy the file to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists locally.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>FileInfo for the local file where file is copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyToLocal(System.String,System.Boolean)">
            <summary>
            Copies from S3 to the local file system.  
            If the file already exists on the local file system and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="destFileName">The path where to copy the file to.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.IO.IOException">If the file already exists locally and overwrite is set to false.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>FileInfo for the local file where file is copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyFromLocal(System.String)">
            <summary>
            Copies the file from the local file system to S3.
            If the file already exists in S3 than an ArgumentException is thrown.
            </summary>
            <param name="srcFileName">Location of the file on the local file system to copy.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo where the file is copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CopyFromLocal(System.String,System.Boolean)">
            <summary>
            Copies the file from the local file system to S3.
            If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="srcFileName">Location of the file on the local file system to copy.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3 and overwrite is set to false.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo where the file is copied to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.Create">
            <summary>
            Returns a Stream that can be used to write data to S3. 
            </summary>
            <remarks>
            <note>The content will not be written to S3 until the Stream is closed.</note>
            </remarks>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>Stream to write content to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.CreateText">
            <summary>
            Returns a StreamWriter that can be used to write data to S3. 
            </summary>
            <remarks>
            <note>The content will not be written to S3 until the Stream is closed.</note>
            </remarks>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>Stream to write content to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.Delete">
            <summary>
            Deletes the from S3.
            </summary>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveTo(System.String,System.String)">
            <summary>
            Moves the file to a a new location in S3.
            </summary>
            <param name="bucket">Bucket to move the file to.</param>
            <param name="key">Object key to move the file to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveTo(Amazon.S3.IO.S3DirectoryInfo)">
            <summary>
            Moves the file to a a new location in S3.
            </summary>
            <param name="path">The target directory to copy to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveTo(Amazon.S3.IO.S3FileInfo)">
            <summary>
            Moves the file to a a new location in S3.
            </summary>
            <param name="file">The target file to copy to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo for the target location.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveToLocal(System.String)">
            <summary>
            Moves the file from S3 to the local file system in the location indicated by the path parameter.
            </summary>
            <param name="path">The location on the local file system to move the file to.</param>
            <exception cref="T:System.IO.IOException">If the file already exists locally.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>FileInfo for the local file where file is moved to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveFromLocal(System.String)">
            <summary>
            Moves the file from the local file system to S3 in this directory.
            If the file already exists in S3 than an ArgumentException is thrown.
            </summary>
            <param name="path">The local file system path where the files are to be moved.</param>
            <exception cref="T:System.IO.IOException">If the file already exists locally.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo where the file is moved to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.MoveFromLocal(System.String,System.Boolean)">
            <summary>
            Moves the file from the local file system to S3 in this directory.
            If the file already exists in S3 and overwrite is set to false than an ArgumentException is thrown.
            </summary>
            <param name="path">The local file system path where the files are to be moved.</param>
            <param name="overwrite">Determines whether the file can be overwritten.</param>
            <exception cref="T:System.IO.IOException">If the file already exists in S3 and overwrite is set to false.</exception>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo where the file is moved to.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.OpenRead">
            <summary>
            Returns a Stream for reading the contents of the file.
            </summary>
            <exception cref="T:System.IO.IOException">The file is already open.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>Stream to read from.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.OpenText">
            <summary>
            Returns a StreamReader for reading the contents of the file.
            </summary>
            <exception cref="T:System.IO.IOException">The file is already open.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>StreamReader to read from.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.OpenWrite">
            <summary>
            Returns a Stream for writing to S3.  If the file already exists it will be overwritten.
            </summary>
            <remarks>
            <note>The content will not be written to S3 until the Stream is closed.</note>
            </remarks>
            <exception cref="T:System.IO.IOException">The file is already open.</exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>Stream to write from.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.Replace(System.String,System.String,System.String,System.String)">
            <summary>
            Replaces the destination file with the content of this file and then deletes the orignial file.  If a backup location is specifed then the content of destination file is 
            backup to it.
            </summary>
            <param name="destinationBucket">Destination bucket of this file will be copy to.</param>
            <param name="destinationKey">Destination object key of this file will be copy to.</param>
            <param name="backupBucket">Backup bucket to store the contents of the destination file.</param>
            <param name="backupKey">Backup object key to store the contents of the destination file.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.IO.IOException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the destination file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.Replace(Amazon.S3.IO.S3DirectoryInfo,Amazon.S3.IO.S3DirectoryInfo)">
            <summary>
            Replaces the destination file with the content of this file and then deletes the orignial file.  If a backupDir is specifed then the content of destination file is 
            backup to it.
            </summary>
            <param name="destDir">Where the contents of this file will be copy to.</param>
            <param name="backupDir">If specified the destFile is backup to it.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.IO.IOException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the destination file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.Replace(Amazon.S3.IO.S3FileInfo,Amazon.S3.IO.S3FileInfo)">
            <summary>
            Replaces the destination file with the content of this file and then deletes the orignial file.  If a backupFile is specifed then the content of destination file is 
            backup to it.
            </summary>
            <param name="destFile">Where the contents of this file will be copy to.</param>
            <param name="backupFile">If specified the destFile is backup to it.</param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.IO.IOException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns>S3FileInfo of the destination file.</returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.ReplaceLocal(System.String,System.String)">
            <summary>
            Replaces the content of the destination file on the local file system with the content from this file from S3.
            If a backup file is specified then the content of the destination file is backup to it.
            </summary>
            <param name="destinationFileName"></param>
            <param name="destinationBackupFileName"></param>
            <exception cref="T:System.ArgumentException"></exception>
            <exception cref="T:System.IO.IOException"></exception>
            <exception cref="T:System.Net.WebException"></exception>
            <exception cref="T:Amazon.S3.AmazonS3Exception"></exception>
            <returns></returns>
        </member>
        <member name="M:Amazon.S3.IO.S3FileInfo.ToString">
            <summary>
            Implement the ToString method.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Amazon.S3.IO.FileSystemType">
            <summary>
            Enumeration indicated whether a file system element is a file or directory.
            </summary>
        </member>
        <member name="F:Amazon.S3.IO.FileSystemType.Directory">
            <summary>
            Type is a directory.
            </summary>
        </member>
        <member name="F:Amazon.S3.IO.FileSystemType.File">
            <summary>
            Type is a file.
            </summary>
        </member>
        <member name="T:Amazon.S3.IO.IS3FileSystemInfo">
            <summary>
            Common interface for both S3FileInfo and S3DirectoryInfo.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.Exists">
            <summary>
            Returns true if the item exists in S3.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.Extension">
            <summary>
            Returns the extension of the item.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.FullName">
            <summary>
            Returns the fully qualified path to the item.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.LastWriteTime">
            <summary>
            Returns the last modified time for this item from S3 in local timezone.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.LastWriteTimeUtc">
            <summary>
            Returns the last modified time for this item from S3 in UTC timezone.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.Name">
            <summary>
            Returns the name of the item without parent information.
            </summary>
        </member>
        <member name="P:Amazon.S3.IO.IS3FileSystemInfo.Type">
            <summary>
            Indicates what type of item this object represents.
            </summary>
        </member>
        <member name="M:Amazon.S3.IO.IS3FileSystemInfo.Delete">
            <summary>
            Deletes this item from S3.
            </summary>
        </member>
        <member name="T:Amazon.AWSConfigsS3">
            <summary>
            Configuration for the S3 section of AWS configuration.
            Changes to some settings may not take effect until a new client is constructed.
            
            Example section:
            <code>
            &lt;configSections&gt;
              &lt;section name="aws" type="Amazon.AWSSection, AWSSDK"/&gt;
            &lt;/configSections&gt;
            &lt;aws&gt;
              &lt;s3 useSignatureVersion4="true" /&gt;
            &lt;/aws&gt;
            </code>
            </summary>
        </member>
        <member name="F:Amazon.AWSConfigsS3.S3UseSignatureVersion4Key">
            <summary>
            Key for the S3UseSignatureVersion4Key property.
            <seealso cref="P:Amazon.AWSConfigsS3.UseSignatureVersion4"/>
            </summary>
        </member>
        <member name="P:Amazon.AWSConfigsS3.UseSignatureVersion4">
            <summary>
            Configures if the S3 client should use Signature Version 4 signing with requests.
            By default, this setting is set to true which will use Signature Version 4 for all
            requests except presigned URL requests when the region is set to us-east-1. When 
            UseSignatureVersion4 is explicitly set to true by directly setting this property or
            directly setting this property through configuration, Signature Version 4 will be 
            used for all requests when able to do so.
            When this setting is false, Signature Version 2 will be used. Note that when the 
            setting is false, Signature Version 4 may still be used by default in some cases 
            or with some regions.
            </summary>
        </member>
        <member name="P:Amazon.AWSConfigsS3.UseSigV4SetExplicitly">
             <summary>
             Was the value of the UseSignatureVersion4 property set explicitly?
             This can be done via configuration or by directly setting the property.
            
             This is used to determine if the user set UseSignatureVersion4 to true,
             or if it's true because the default was changed to true in the SDK.
             </summary>
        </member>
        <member name="T:Amazon.V4ClientSection">
            <summary>
            V4-enabling section
            </summary>
        </member>
    </members>
</doc>
