aws_sdk_s3/operation/complete_multipart_upload/_complete_multipart_upload_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct CompleteMultipartUploadInput {
6 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
7 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
8 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, 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 action with an access point through the Amazon Web Services 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/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
9 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
10 /// </note>
11 /// <p><b>S3 on Outposts</b> - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
12 pub bucket: ::std::option::Option<::std::string::String>,
13 /// <p>Object key for which the multipart upload was initiated.</p>
14 pub key: ::std::option::Option<::std::string::String>,
15 /// <p>The container for the multipart upload request information.</p>
16 pub multipart_upload: ::std::option::Option<crate::types::CompletedMultipartUpload>,
17 /// <p>ID for the initiated multipart upload.</p>
18 pub upload_id: ::std::option::Option<::std::string::String>,
19 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
20 pub checksum_crc32: ::std::option::Option<::std::string::String>,
21 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
22 pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
23 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
24 pub checksum_sha1: ::std::option::Option<::std::string::String>,
25 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
26 pub checksum_sha256: ::std::option::Option<::std::string::String>,
27 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
28 /// <p>This functionality is not supported for directory buckets.</p>
29 /// </note>
30 pub request_payer: ::std::option::Option<crate::types::RequestPayer>,
31 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
32 pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
33 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
34 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
35 /// <p>Expects the ETag value as a string.</p>
36 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
37 pub if_match: ::std::option::Option<::std::string::String>,
38 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
39 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
40 /// <p>Expects the '*' (asterisk) character.</p>
41 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
42 pub if_none_match: ::std::option::Option<::std::string::String>,
43 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
44 /// <p>This functionality is not supported for directory buckets.</p>
45 /// </note>
46 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
47 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
48 /// <p>This functionality is not supported for directory buckets.</p>
49 /// </note>
50 pub sse_customer_key: ::std::option::Option<::std::string::String>,
51 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
52 /// <p>This functionality is not supported for directory buckets.</p>
53 /// </note>
54 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
55}
56impl CompleteMultipartUploadInput {
57 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
58 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
59 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, 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 action with an access point through the Amazon Web Services 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/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
60 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
61 /// </note>
62 /// <p><b>S3 on Outposts</b> - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
63 pub fn bucket(&self) -> ::std::option::Option<&str> {
64 self.bucket.as_deref()
65 }
66 /// <p>Object key for which the multipart upload was initiated.</p>
67 pub fn key(&self) -> ::std::option::Option<&str> {
68 self.key.as_deref()
69 }
70 /// <p>The container for the multipart upload request information.</p>
71 pub fn multipart_upload(&self) -> ::std::option::Option<&crate::types::CompletedMultipartUpload> {
72 self.multipart_upload.as_ref()
73 }
74 /// <p>ID for the initiated multipart upload.</p>
75 pub fn upload_id(&self) -> ::std::option::Option<&str> {
76 self.upload_id.as_deref()
77 }
78 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
79 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
80 self.checksum_crc32.as_deref()
81 }
82 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
83 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
84 self.checksum_crc32_c.as_deref()
85 }
86 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
87 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
88 self.checksum_sha1.as_deref()
89 }
90 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
91 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
92 self.checksum_sha256.as_deref()
93 }
94 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
95 /// <p>This functionality is not supported for directory buckets.</p>
96 /// </note>
97 pub fn request_payer(&self) -> ::std::option::Option<&crate::types::RequestPayer> {
98 self.request_payer.as_ref()
99 }
100 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
101 pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
102 self.expected_bucket_owner.as_deref()
103 }
104 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
105 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
106 /// <p>Expects the ETag value as a string.</p>
107 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
108 pub fn if_match(&self) -> ::std::option::Option<&str> {
109 self.if_match.as_deref()
110 }
111 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
112 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
113 /// <p>Expects the '*' (asterisk) character.</p>
114 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
115 pub fn if_none_match(&self) -> ::std::option::Option<&str> {
116 self.if_none_match.as_deref()
117 }
118 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
119 /// <p>This functionality is not supported for directory buckets.</p>
120 /// </note>
121 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
122 self.sse_customer_algorithm.as_deref()
123 }
124 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
125 /// <p>This functionality is not supported for directory buckets.</p>
126 /// </note>
127 pub fn sse_customer_key(&self) -> ::std::option::Option<&str> {
128 self.sse_customer_key.as_deref()
129 }
130 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
131 /// <p>This functionality is not supported for directory buckets.</p>
132 /// </note>
133 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
134 self.sse_customer_key_md5.as_deref()
135 }
136}
137impl ::std::fmt::Debug for CompleteMultipartUploadInput {
138 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
139 let mut formatter = f.debug_struct("CompleteMultipartUploadInput");
140 formatter.field("bucket", &self.bucket);
141 formatter.field("key", &self.key);
142 formatter.field("multipart_upload", &self.multipart_upload);
143 formatter.field("upload_id", &self.upload_id);
144 formatter.field("checksum_crc32", &self.checksum_crc32);
145 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
146 formatter.field("checksum_sha1", &self.checksum_sha1);
147 formatter.field("checksum_sha256", &self.checksum_sha256);
148 formatter.field("request_payer", &self.request_payer);
149 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
150 formatter.field("if_match", &self.if_match);
151 formatter.field("if_none_match", &self.if_none_match);
152 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
153 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
154 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
155 formatter.finish()
156 }
157}
158impl CompleteMultipartUploadInput {
159 /// Creates a new builder-style object to manufacture [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
160 pub fn builder() -> crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadInputBuilder {
161 crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadInputBuilder::default()
162 }
163}
164
165/// A builder for [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
166#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
167#[non_exhaustive]
168pub struct CompleteMultipartUploadInputBuilder {
169 pub(crate) bucket: ::std::option::Option<::std::string::String>,
170 pub(crate) key: ::std::option::Option<::std::string::String>,
171 pub(crate) multipart_upload: ::std::option::Option<crate::types::CompletedMultipartUpload>,
172 pub(crate) upload_id: ::std::option::Option<::std::string::String>,
173 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
174 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
175 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
176 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
177 pub(crate) request_payer: ::std::option::Option<crate::types::RequestPayer>,
178 pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
179 pub(crate) if_match: ::std::option::Option<::std::string::String>,
180 pub(crate) if_none_match: ::std::option::Option<::std::string::String>,
181 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
182 pub(crate) sse_customer_key: ::std::option::Option<::std::string::String>,
183 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
184}
185impl CompleteMultipartUploadInputBuilder {
186 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
187 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
188 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, 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 action with an access point through the Amazon Web Services 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/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
189 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
190 /// </note>
191 /// <p><b>S3 on Outposts</b> - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
192 /// This field is required.
193 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.bucket = ::std::option::Option::Some(input.into());
195 self
196 }
197 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
198 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
199 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, 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 action with an access point through the Amazon Web Services 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/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
200 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
201 /// </note>
202 /// <p><b>S3 on Outposts</b> - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
203 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
204 self.bucket = input;
205 self
206 }
207 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
208 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>DOC-EXAMPLE-BUCKET</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
209 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, 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 action with an access point through the Amazon Web Services 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/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
210 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
211 /// </note>
212 /// <p><b>S3 on Outposts</b> - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
213 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
214 &self.bucket
215 }
216 /// <p>Object key for which the multipart upload was initiated.</p>
217 /// This field is required.
218 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
219 self.key = ::std::option::Option::Some(input.into());
220 self
221 }
222 /// <p>Object key for which the multipart upload was initiated.</p>
223 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
224 self.key = input;
225 self
226 }
227 /// <p>Object key for which the multipart upload was initiated.</p>
228 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
229 &self.key
230 }
231 /// <p>The container for the multipart upload request information.</p>
232 pub fn multipart_upload(mut self, input: crate::types::CompletedMultipartUpload) -> Self {
233 self.multipart_upload = ::std::option::Option::Some(input);
234 self
235 }
236 /// <p>The container for the multipart upload request information.</p>
237 pub fn set_multipart_upload(mut self, input: ::std::option::Option<crate::types::CompletedMultipartUpload>) -> Self {
238 self.multipart_upload = input;
239 self
240 }
241 /// <p>The container for the multipart upload request information.</p>
242 pub fn get_multipart_upload(&self) -> &::std::option::Option<crate::types::CompletedMultipartUpload> {
243 &self.multipart_upload
244 }
245 /// <p>ID for the initiated multipart upload.</p>
246 /// This field is required.
247 pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
248 self.upload_id = ::std::option::Option::Some(input.into());
249 self
250 }
251 /// <p>ID for the initiated multipart upload.</p>
252 pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
253 self.upload_id = input;
254 self
255 }
256 /// <p>ID for the initiated multipart upload.</p>
257 pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
258 &self.upload_id
259 }
260 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
261 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
262 self.checksum_crc32 = ::std::option::Option::Some(input.into());
263 self
264 }
265 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
266 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
267 self.checksum_crc32 = input;
268 self
269 }
270 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32 checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
271 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
272 &self.checksum_crc32
273 }
274 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
275 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
276 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
277 self
278 }
279 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
280 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
281 self.checksum_crc32_c = input;
282 self
283 }
284 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 32-bit CRC-32C checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
285 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
286 &self.checksum_crc32_c
287 }
288 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
289 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290 self.checksum_sha1 = ::std::option::Option::Some(input.into());
291 self
292 }
293 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
294 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
295 self.checksum_sha1 = input;
296 self
297 }
298 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 160-bit SHA-1 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
299 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
300 &self.checksum_sha1
301 }
302 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
303 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
304 self.checksum_sha256 = ::std::option::Option::Some(input.into());
305 self
306 }
307 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
308 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
309 self.checksum_sha256 = input;
310 self
311 }
312 /// <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the base64-encoded, 256-bit SHA-256 digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
313 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
314 &self.checksum_sha256
315 }
316 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
317 /// <p>This functionality is not supported for directory buckets.</p>
318 /// </note>
319 pub fn request_payer(mut self, input: crate::types::RequestPayer) -> Self {
320 self.request_payer = ::std::option::Option::Some(input);
321 self
322 }
323 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
324 /// <p>This functionality is not supported for directory buckets.</p>
325 /// </note>
326 pub fn set_request_payer(mut self, input: ::std::option::Option<crate::types::RequestPayer>) -> Self {
327 self.request_payer = input;
328 self
329 }
330 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
331 /// <p>This functionality is not supported for directory buckets.</p>
332 /// </note>
333 pub fn get_request_payer(&self) -> &::std::option::Option<crate::types::RequestPayer> {
334 &self.request_payer
335 }
336 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
337 pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
338 self.expected_bucket_owner = ::std::option::Option::Some(input.into());
339 self
340 }
341 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
342 pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
343 self.expected_bucket_owner = input;
344 self
345 }
346 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
347 pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
348 &self.expected_bucket_owner
349 }
350 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
351 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
352 /// <p>Expects the ETag value as a string.</p>
353 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
354 pub fn if_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
355 self.if_match = ::std::option::Option::Some(input.into());
356 self
357 }
358 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
359 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
360 /// <p>Expects the ETag value as a string.</p>
361 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
362 pub fn set_if_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
363 self.if_match = input;
364 self
365 }
366 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
367 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
368 /// <p>Expects the ETag value as a string.</p>
369 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
370 pub fn get_if_match(&self) -> &::std::option::Option<::std::string::String> {
371 &self.if_match
372 }
373 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
374 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
375 /// <p>Expects the '*' (asterisk) character.</p>
376 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
377 pub fn if_none_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
378 self.if_none_match = ::std::option::Option::Some(input.into());
379 self
380 }
381 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
382 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
383 /// <p>Expects the '*' (asterisk) character.</p>
384 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
385 pub fn set_if_none_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
386 self.if_none_match = input;
387 self
388 }
389 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
390 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
391 /// <p>Expects the '*' (asterisk) character.</p>
392 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
393 pub fn get_if_none_match(&self) -> &::std::option::Option<::std::string::String> {
394 &self.if_none_match
395 }
396 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
397 /// <p>This functionality is not supported for directory buckets.</p>
398 /// </note>
399 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
400 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
401 self
402 }
403 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
404 /// <p>This functionality is not supported for directory buckets.</p>
405 /// </note>
406 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
407 self.sse_customer_algorithm = input;
408 self
409 }
410 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
411 /// <p>This functionality is not supported for directory buckets.</p>
412 /// </note>
413 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
414 &self.sse_customer_algorithm
415 }
416 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
417 /// <p>This functionality is not supported for directory buckets.</p>
418 /// </note>
419 pub fn sse_customer_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
420 self.sse_customer_key = ::std::option::Option::Some(input.into());
421 self
422 }
423 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
424 /// <p>This functionality is not supported for directory buckets.</p>
425 /// </note>
426 pub fn set_sse_customer_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
427 self.sse_customer_key = input;
428 self
429 }
430 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
431 /// <p>This functionality is not supported for directory buckets.</p>
432 /// </note>
433 pub fn get_sse_customer_key(&self) -> &::std::option::Option<::std::string::String> {
434 &self.sse_customer_key
435 }
436 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
437 /// <p>This functionality is not supported for directory buckets.</p>
438 /// </note>
439 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
440 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
441 self
442 }
443 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
444 /// <p>This functionality is not supported for directory buckets.</p>
445 /// </note>
446 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
447 self.sse_customer_key_md5 = input;
448 self
449 }
450 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
451 /// <p>This functionality is not supported for directory buckets.</p>
452 /// </note>
453 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
454 &self.sse_customer_key_md5
455 }
456 /// Consumes the builder and constructs a [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
457 pub fn build(
458 self,
459 ) -> ::std::result::Result<
460 crate::operation::complete_multipart_upload::CompleteMultipartUploadInput,
461 ::aws_smithy_types::error::operation::BuildError,
462 > {
463 ::std::result::Result::Ok(crate::operation::complete_multipart_upload::CompleteMultipartUploadInput {
464 bucket: self.bucket,
465 key: self.key,
466 multipart_upload: self.multipart_upload,
467 upload_id: self.upload_id,
468 checksum_crc32: self.checksum_crc32,
469 checksum_crc32_c: self.checksum_crc32_c,
470 checksum_sha1: self.checksum_sha1,
471 checksum_sha256: self.checksum_sha256,
472 request_payer: self.request_payer,
473 expected_bucket_owner: self.expected_bucket_owner,
474 if_match: self.if_match,
475 if_none_match: self.if_none_match,
476 sse_customer_algorithm: self.sse_customer_algorithm,
477 sse_customer_key: self.sse_customer_key,
478 sse_customer_key_md5: self.sse_customer_key_md5,
479 })
480 }
481}
482impl ::std::fmt::Debug for CompleteMultipartUploadInputBuilder {
483 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
484 let mut formatter = f.debug_struct("CompleteMultipartUploadInputBuilder");
485 formatter.field("bucket", &self.bucket);
486 formatter.field("key", &self.key);
487 formatter.field("multipart_upload", &self.multipart_upload);
488 formatter.field("upload_id", &self.upload_id);
489 formatter.field("checksum_crc32", &self.checksum_crc32);
490 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
491 formatter.field("checksum_sha1", &self.checksum_sha1);
492 formatter.field("checksum_sha256", &self.checksum_sha256);
493 formatter.field("request_payer", &self.request_payer);
494 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
495 formatter.field("if_match", &self.if_match);
496 formatter.field("if_none_match", &self.if_none_match);
497 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
498 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
499 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
500 formatter.finish()
501 }
502}