aws_sdk_s3/operation/create_multipart_upload/_create_multipart_upload_output.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 CreateMultipartUploadOutput {
6 /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. 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 Configuration</a> in the <i>Amazon S3 User Guide</i>.</p>
7 /// <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>
8 /// <p>This functionality is not supported for directory buckets.</p>
9 /// </note>
10 pub abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
11 /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
12 /// <p>This functionality is not supported for directory buckets.</p>
13 /// </note>
14 pub abort_rule_id: ::std::option::Option<::std::string::String>,
15 /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>
16 /// <p>Access points are not supported by directory buckets.</p>
17 /// </note>
18 pub bucket: ::std::option::Option<::std::string::String>,
19 /// <p>Object key for which the multipart upload was initiated.</p>
20 pub key: ::std::option::Option<::std::string::String>,
21 /// <p>ID for the initiated multipart upload.</p>
22 pub upload_id: ::std::option::Option<::std::string::String>,
23 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
24 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
25 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
26 /// <p>This functionality is not supported for directory buckets.</p>
27 /// </note>
28 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
29 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
30 /// <p>This functionality is not supported for directory buckets.</p>
31 /// </note>
32 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
33 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
34 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
35 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
36 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
37 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
38 pub bucket_key_enabled: ::std::option::Option<bool>,
39 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
40 /// <p>This functionality is not supported for directory buckets.</p>
41 /// </note>
42 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
43 /// <p>The algorithm that was used to create a checksum of the object.</p>
44 pub checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
45 _extended_request_id: Option<String>,
46 _request_id: Option<String>,
47}
48impl CreateMultipartUploadOutput {
49 /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. 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 Configuration</a> in the <i>Amazon S3 User Guide</i>.</p>
50 /// <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>
51 /// <p>This functionality is not supported for directory buckets.</p>
52 /// </note>
53 pub fn abort_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
54 self.abort_date.as_ref()
55 }
56 /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
57 /// <p>This functionality is not supported for directory buckets.</p>
58 /// </note>
59 pub fn abort_rule_id(&self) -> ::std::option::Option<&str> {
60 self.abort_rule_id.as_deref()
61 }
62 /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>
63 /// <p>Access points are not supported by directory buckets.</p>
64 /// </note>
65 pub fn bucket(&self) -> ::std::option::Option<&str> {
66 self.bucket.as_deref()
67 }
68 /// <p>Object key for which the multipart upload was initiated.</p>
69 pub fn key(&self) -> ::std::option::Option<&str> {
70 self.key.as_deref()
71 }
72 /// <p>ID for the initiated multipart upload.</p>
73 pub fn upload_id(&self) -> ::std::option::Option<&str> {
74 self.upload_id.as_deref()
75 }
76 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
77 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
78 self.server_side_encryption.as_ref()
79 }
80 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
81 /// <p>This functionality is not supported for directory buckets.</p>
82 /// </note>
83 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
84 self.sse_customer_algorithm.as_deref()
85 }
86 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
87 /// <p>This functionality is not supported for directory buckets.</p>
88 /// </note>
89 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
90 self.sse_customer_key_md5.as_deref()
91 }
92 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
93 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
94 self.ssekms_key_id.as_deref()
95 }
96 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
97 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
98 self.ssekms_encryption_context.as_deref()
99 }
100 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
101 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
102 self.bucket_key_enabled
103 }
104 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
105 /// <p>This functionality is not supported for directory buckets.</p>
106 /// </note>
107 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
108 self.request_charged.as_ref()
109 }
110 /// <p>The algorithm that was used to create a checksum of the object.</p>
111 pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::types::ChecksumAlgorithm> {
112 self.checksum_algorithm.as_ref()
113 }
114}
115impl ::std::fmt::Debug for CreateMultipartUploadOutput {
116 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
117 let mut formatter = f.debug_struct("CreateMultipartUploadOutput");
118 formatter.field("abort_date", &self.abort_date);
119 formatter.field("abort_rule_id", &self.abort_rule_id);
120 formatter.field("bucket", &self.bucket);
121 formatter.field("key", &self.key);
122 formatter.field("upload_id", &self.upload_id);
123 formatter.field("server_side_encryption", &self.server_side_encryption);
124 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
125 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
126 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
127 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
128 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
129 formatter.field("request_charged", &self.request_charged);
130 formatter.field("checksum_algorithm", &self.checksum_algorithm);
131 formatter.field("_extended_request_id", &self._extended_request_id);
132 formatter.field("_request_id", &self._request_id);
133 formatter.finish()
134 }
135}
136impl crate::s3_request_id::RequestIdExt for CreateMultipartUploadOutput {
137 fn extended_request_id(&self) -> Option<&str> {
138 self._extended_request_id.as_deref()
139 }
140}
141impl ::aws_types::request_id::RequestId for CreateMultipartUploadOutput {
142 fn request_id(&self) -> Option<&str> {
143 self._request_id.as_deref()
144 }
145}
146impl CreateMultipartUploadOutput {
147 /// Creates a new builder-style object to manufacture [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
148 pub fn builder() -> crate::operation::create_multipart_upload::builders::CreateMultipartUploadOutputBuilder {
149 crate::operation::create_multipart_upload::builders::CreateMultipartUploadOutputBuilder::default()
150 }
151}
152
153/// A builder for [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
154#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
155#[non_exhaustive]
156pub struct CreateMultipartUploadOutputBuilder {
157 pub(crate) abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
158 pub(crate) abort_rule_id: ::std::option::Option<::std::string::String>,
159 pub(crate) bucket: ::std::option::Option<::std::string::String>,
160 pub(crate) key: ::std::option::Option<::std::string::String>,
161 pub(crate) upload_id: ::std::option::Option<::std::string::String>,
162 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
163 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
164 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
165 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
166 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
167 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
168 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
169 pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
170 _extended_request_id: Option<String>,
171 _request_id: Option<String>,
172}
173impl CreateMultipartUploadOutputBuilder {
174 /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. 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 Configuration</a> in the <i>Amazon S3 User Guide</i>.</p>
175 /// <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>
176 /// <p>This functionality is not supported for directory buckets.</p>
177 /// </note>
178 pub fn abort_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
179 self.abort_date = ::std::option::Option::Some(input);
180 self
181 }
182 /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. 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 Configuration</a> in the <i>Amazon S3 User Guide</i>.</p>
183 /// <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>
184 /// <p>This functionality is not supported for directory buckets.</p>
185 /// </note>
186 pub fn set_abort_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
187 self.abort_date = input;
188 self
189 }
190 /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. 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 Configuration</a> in the <i>Amazon S3 User Guide</i>.</p>
191 /// <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>
192 /// <p>This functionality is not supported for directory buckets.</p>
193 /// </note>
194 pub fn get_abort_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
195 &self.abort_date
196 }
197 /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
198 /// <p>This functionality is not supported for directory buckets.</p>
199 /// </note>
200 pub fn abort_rule_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
201 self.abort_rule_id = ::std::option::Option::Some(input.into());
202 self
203 }
204 /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
205 /// <p>This functionality is not supported for directory buckets.</p>
206 /// </note>
207 pub fn set_abort_rule_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208 self.abort_rule_id = input;
209 self
210 }
211 /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
212 /// <p>This functionality is not supported for directory buckets.</p>
213 /// </note>
214 pub fn get_abort_rule_id(&self) -> &::std::option::Option<::std::string::String> {
215 &self.abort_rule_id
216 }
217 /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>
218 /// <p>Access points are not supported by directory buckets.</p>
219 /// </note>
220 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
221 self.bucket = ::std::option::Option::Some(input.into());
222 self
223 }
224 /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>
225 /// <p>Access points are not supported by directory buckets.</p>
226 /// </note>
227 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228 self.bucket = input;
229 self
230 }
231 /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>
232 /// <p>Access points are not supported by directory buckets.</p>
233 /// </note>
234 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
235 &self.bucket
236 }
237 /// <p>Object key for which the multipart upload was initiated.</p>
238 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
239 self.key = ::std::option::Option::Some(input.into());
240 self
241 }
242 /// <p>Object key for which the multipart upload was initiated.</p>
243 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
244 self.key = input;
245 self
246 }
247 /// <p>Object key for which the multipart upload was initiated.</p>
248 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
249 &self.key
250 }
251 /// <p>ID for the initiated multipart upload.</p>
252 pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
253 self.upload_id = ::std::option::Option::Some(input.into());
254 self
255 }
256 /// <p>ID for the initiated multipart upload.</p>
257 pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
258 self.upload_id = input;
259 self
260 }
261 /// <p>ID for the initiated multipart upload.</p>
262 pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
263 &self.upload_id
264 }
265 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
266 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
267 self.server_side_encryption = ::std::option::Option::Some(input);
268 self
269 }
270 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
271 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
272 self.server_side_encryption = input;
273 self
274 }
275 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
276 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
277 &self.server_side_encryption
278 }
279 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
280 /// <p>This functionality is not supported for directory buckets.</p>
281 /// </note>
282 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
283 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
284 self
285 }
286 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
287 /// <p>This functionality is not supported for directory buckets.</p>
288 /// </note>
289 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
290 self.sse_customer_algorithm = input;
291 self
292 }
293 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>
294 /// <p>This functionality is not supported for directory buckets.</p>
295 /// </note>
296 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
297 &self.sse_customer_algorithm
298 }
299 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
300 /// <p>This functionality is not supported for directory buckets.</p>
301 /// </note>
302 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
303 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
304 self
305 }
306 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
307 /// <p>This functionality is not supported for directory buckets.</p>
308 /// </note>
309 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
310 self.sse_customer_key_md5 = input;
311 self
312 }
313 /// <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
314 /// <p>This functionality is not supported for directory buckets.</p>
315 /// </note>
316 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
317 &self.sse_customer_key_md5
318 }
319 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
320 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
321 self.ssekms_key_id = ::std::option::Option::Some(input.into());
322 self
323 }
324 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
325 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
326 self.ssekms_key_id = input;
327 self
328 }
329 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
330 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
331 &self.ssekms_key_id
332 }
333 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
334 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
335 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
336 self
337 }
338 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
339 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
340 self.ssekms_encryption_context = input;
341 self
342 }
343 /// <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64-encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
344 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
345 &self.ssekms_encryption_context
346 }
347 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
348 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
349 self.bucket_key_enabled = ::std::option::Option::Some(input);
350 self
351 }
352 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
353 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
354 self.bucket_key_enabled = input;
355 self
356 }
357 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
358 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
359 &self.bucket_key_enabled
360 }
361 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
362 /// <p>This functionality is not supported for directory buckets.</p>
363 /// </note>
364 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
365 self.request_charged = ::std::option::Option::Some(input);
366 self
367 }
368 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
369 /// <p>This functionality is not supported for directory buckets.</p>
370 /// </note>
371 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
372 self.request_charged = input;
373 self
374 }
375 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
376 /// <p>This functionality is not supported for directory buckets.</p>
377 /// </note>
378 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
379 &self.request_charged
380 }
381 /// <p>The algorithm that was used to create a checksum of the object.</p>
382 pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
383 self.checksum_algorithm = ::std::option::Option::Some(input);
384 self
385 }
386 /// <p>The algorithm that was used to create a checksum of the object.</p>
387 pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
388 self.checksum_algorithm = input;
389 self
390 }
391 /// <p>The algorithm that was used to create a checksum of the object.</p>
392 pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
393 &self.checksum_algorithm
394 }
395 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
396 self._extended_request_id = Some(extended_request_id.into());
397 self
398 }
399
400 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
401 self._extended_request_id = extended_request_id;
402 self
403 }
404 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
405 self._request_id = Some(request_id.into());
406 self
407 }
408
409 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
410 self._request_id = request_id;
411 self
412 }
413 /// Consumes the builder and constructs a [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
414 pub fn build(self) -> crate::operation::create_multipart_upload::CreateMultipartUploadOutput {
415 crate::operation::create_multipart_upload::CreateMultipartUploadOutput {
416 abort_date: self.abort_date,
417 abort_rule_id: self.abort_rule_id,
418 bucket: self.bucket,
419 key: self.key,
420 upload_id: self.upload_id,
421 server_side_encryption: self.server_side_encryption,
422 sse_customer_algorithm: self.sse_customer_algorithm,
423 sse_customer_key_md5: self.sse_customer_key_md5,
424 ssekms_key_id: self.ssekms_key_id,
425 ssekms_encryption_context: self.ssekms_encryption_context,
426 bucket_key_enabled: self.bucket_key_enabled,
427 request_charged: self.request_charged,
428 checksum_algorithm: self.checksum_algorithm,
429 _extended_request_id: self._extended_request_id,
430 _request_id: self._request_id,
431 }
432 }
433}
434impl ::std::fmt::Debug for CreateMultipartUploadOutputBuilder {
435 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
436 let mut formatter = f.debug_struct("CreateMultipartUploadOutputBuilder");
437 formatter.field("abort_date", &self.abort_date);
438 formatter.field("abort_rule_id", &self.abort_rule_id);
439 formatter.field("bucket", &self.bucket);
440 formatter.field("key", &self.key);
441 formatter.field("upload_id", &self.upload_id);
442 formatter.field("server_side_encryption", &self.server_side_encryption);
443 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
444 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
445 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
446 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
447 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
448 formatter.field("request_charged", &self.request_charged);
449 formatter.field("checksum_algorithm", &self.checksum_algorithm);
450 formatter.field("_extended_request_id", &self._extended_request_id);
451 formatter.field("_request_id", &self._request_id);
452 formatter.finish()
453 }
454}