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 /// <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
46 pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
47 _extended_request_id: Option<String>,
48 _request_id: Option<String>,
49}
50impl CreateMultipartUploadOutput {
51 /// <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>
52 /// <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>
53 /// <p>This functionality is not supported for directory buckets.</p>
54 /// </note>
55 pub fn abort_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
56 self.abort_date.as_ref()
57 }
58 /// <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>
59 /// <p>This functionality is not supported for directory buckets.</p>
60 /// </note>
61 pub fn abort_rule_id(&self) -> ::std::option::Option<&str> {
62 self.abort_rule_id.as_deref()
63 }
64 /// <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>
65 /// <p>Access points are not supported by directory buckets.</p>
66 /// </note>
67 pub fn bucket(&self) -> ::std::option::Option<&str> {
68 self.bucket.as_deref()
69 }
70 /// <p>Object key for which the multipart upload was initiated.</p>
71 pub fn key(&self) -> ::std::option::Option<&str> {
72 self.key.as_deref()
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>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
79 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
80 self.server_side_encryption.as_ref()
81 }
82 /// <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>
83 /// <p>This functionality is not supported for directory buckets.</p>
84 /// </note>
85 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
86 self.sse_customer_algorithm.as_deref()
87 }
88 /// <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>
89 /// <p>This functionality is not supported for directory buckets.</p>
90 /// </note>
91 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
92 self.sse_customer_key_md5.as_deref()
93 }
94 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
95 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
96 self.ssekms_key_id.as_deref()
97 }
98 /// <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>
99 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
100 self.ssekms_encryption_context.as_deref()
101 }
102 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
103 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
104 self.bucket_key_enabled
105 }
106 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
107 /// <p>This functionality is not supported for directory buckets.</p>
108 /// </note>
109 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
110 self.request_charged.as_ref()
111 }
112 /// <p>The algorithm that was used to create a checksum of the object.</p>
113 pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::types::ChecksumAlgorithm> {
114 self.checksum_algorithm.as_ref()
115 }
116 /// <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
117 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
118 self.checksum_type.as_ref()
119 }
120}
121impl ::std::fmt::Debug for CreateMultipartUploadOutput {
122 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
123 let mut formatter = f.debug_struct("CreateMultipartUploadOutput");
124 formatter.field("abort_date", &self.abort_date);
125 formatter.field("abort_rule_id", &self.abort_rule_id);
126 formatter.field("bucket", &self.bucket);
127 formatter.field("key", &self.key);
128 formatter.field("upload_id", &self.upload_id);
129 formatter.field("server_side_encryption", &self.server_side_encryption);
130 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
131 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
132 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
133 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
134 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
135 formatter.field("request_charged", &self.request_charged);
136 formatter.field("checksum_algorithm", &self.checksum_algorithm);
137 formatter.field("checksum_type", &self.checksum_type);
138 formatter.field("_extended_request_id", &self._extended_request_id);
139 formatter.field("_request_id", &self._request_id);
140 formatter.finish()
141 }
142}
143impl crate::s3_request_id::RequestIdExt for CreateMultipartUploadOutput {
144 fn extended_request_id(&self) -> Option<&str> {
145 self._extended_request_id.as_deref()
146 }
147}
148impl ::aws_types::request_id::RequestId for CreateMultipartUploadOutput {
149 fn request_id(&self) -> Option<&str> {
150 self._request_id.as_deref()
151 }
152}
153impl CreateMultipartUploadOutput {
154 /// Creates a new builder-style object to manufacture [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
155 pub fn builder() -> crate::operation::create_multipart_upload::builders::CreateMultipartUploadOutputBuilder {
156 crate::operation::create_multipart_upload::builders::CreateMultipartUploadOutputBuilder::default()
157 }
158}
159
160/// A builder for [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
161#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
162#[non_exhaustive]
163pub struct CreateMultipartUploadOutputBuilder {
164 pub(crate) abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
165 pub(crate) abort_rule_id: ::std::option::Option<::std::string::String>,
166 pub(crate) bucket: ::std::option::Option<::std::string::String>,
167 pub(crate) key: ::std::option::Option<::std::string::String>,
168 pub(crate) upload_id: ::std::option::Option<::std::string::String>,
169 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
170 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
171 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
172 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
173 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
174 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
175 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
176 pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
177 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
178 _extended_request_id: Option<String>,
179 _request_id: Option<String>,
180}
181impl CreateMultipartUploadOutputBuilder {
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 abort_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
187 self.abort_date = ::std::option::Option::Some(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 set_abort_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
195 self.abort_date = input;
196 self
197 }
198 /// <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>
199 /// <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>
200 /// <p>This functionality is not supported for directory buckets.</p>
201 /// </note>
202 pub fn get_abort_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
203 &self.abort_date
204 }
205 /// <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>
206 /// <p>This functionality is not supported for directory buckets.</p>
207 /// </note>
208 pub fn abort_rule_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
209 self.abort_rule_id = ::std::option::Option::Some(input.into());
210 self
211 }
212 /// <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>
213 /// <p>This functionality is not supported for directory buckets.</p>
214 /// </note>
215 pub fn set_abort_rule_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
216 self.abort_rule_id = input;
217 self
218 }
219 /// <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>
220 /// <p>This functionality is not supported for directory buckets.</p>
221 /// </note>
222 pub fn get_abort_rule_id(&self) -> &::std::option::Option<::std::string::String> {
223 &self.abort_rule_id
224 }
225 /// <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>
226 /// <p>Access points are not supported by directory buckets.</p>
227 /// </note>
228 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
229 self.bucket = ::std::option::Option::Some(input.into());
230 self
231 }
232 /// <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>
233 /// <p>Access points are not supported by directory buckets.</p>
234 /// </note>
235 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
236 self.bucket = input;
237 self
238 }
239 /// <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>
240 /// <p>Access points are not supported by directory buckets.</p>
241 /// </note>
242 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
243 &self.bucket
244 }
245 /// <p>Object key for which the multipart upload was initiated.</p>
246 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247 self.key = ::std::option::Option::Some(input.into());
248 self
249 }
250 /// <p>Object key for which the multipart upload was initiated.</p>
251 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
252 self.key = input;
253 self
254 }
255 /// <p>Object key for which the multipart upload was initiated.</p>
256 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
257 &self.key
258 }
259 /// <p>ID for the initiated multipart upload.</p>
260 pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
261 self.upload_id = ::std::option::Option::Some(input.into());
262 self
263 }
264 /// <p>ID for the initiated multipart upload.</p>
265 pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
266 self.upload_id = input;
267 self
268 }
269 /// <p>ID for the initiated multipart upload.</p>
270 pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
271 &self.upload_id
272 }
273 /// <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>
274 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
275 self.server_side_encryption = ::std::option::Option::Some(input);
276 self
277 }
278 /// <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>
279 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
280 self.server_side_encryption = input;
281 self
282 }
283 /// <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>
284 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
285 &self.server_side_encryption
286 }
287 /// <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>
288 /// <p>This functionality is not supported for directory buckets.</p>
289 /// </note>
290 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
291 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
292 self
293 }
294 /// <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>
295 /// <p>This functionality is not supported for directory buckets.</p>
296 /// </note>
297 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
298 self.sse_customer_algorithm = input;
299 self
300 }
301 /// <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>
302 /// <p>This functionality is not supported for directory buckets.</p>
303 /// </note>
304 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
305 &self.sse_customer_algorithm
306 }
307 /// <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>
308 /// <p>This functionality is not supported for directory buckets.</p>
309 /// </note>
310 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
311 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
312 self
313 }
314 /// <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>
315 /// <p>This functionality is not supported for directory buckets.</p>
316 /// </note>
317 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
318 self.sse_customer_key_md5 = input;
319 self
320 }
321 /// <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>
322 /// <p>This functionality is not supported for directory buckets.</p>
323 /// </note>
324 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
325 &self.sse_customer_key_md5
326 }
327 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
328 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
329 self.ssekms_key_id = ::std::option::Option::Some(input.into());
330 self
331 }
332 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
333 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
334 self.ssekms_key_id = input;
335 self
336 }
337 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
338 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
339 &self.ssekms_key_id
340 }
341 /// <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>
342 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
343 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
344 self
345 }
346 /// <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>
347 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
348 self.ssekms_encryption_context = input;
349 self
350 }
351 /// <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>
352 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
353 &self.ssekms_encryption_context
354 }
355 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
356 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
357 self.bucket_key_enabled = ::std::option::Option::Some(input);
358 self
359 }
360 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
361 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
362 self.bucket_key_enabled = input;
363 self
364 }
365 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
366 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
367 &self.bucket_key_enabled
368 }
369 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
370 /// <p>This functionality is not supported for directory buckets.</p>
371 /// </note>
372 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
373 self.request_charged = ::std::option::Option::Some(input);
374 self
375 }
376 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
377 /// <p>This functionality is not supported for directory buckets.</p>
378 /// </note>
379 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
380 self.request_charged = input;
381 self
382 }
383 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
384 /// <p>This functionality is not supported for directory buckets.</p>
385 /// </note>
386 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
387 &self.request_charged
388 }
389 /// <p>The algorithm that was used to create a checksum of the object.</p>
390 pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
391 self.checksum_algorithm = ::std::option::Option::Some(input);
392 self
393 }
394 /// <p>The algorithm that was used to create a checksum of the object.</p>
395 pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
396 self.checksum_algorithm = input;
397 self
398 }
399 /// <p>The algorithm that was used to create a checksum of the object.</p>
400 pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
401 &self.checksum_algorithm
402 }
403 /// <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
404 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
405 self.checksum_type = ::std::option::Option::Some(input);
406 self
407 }
408 /// <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
409 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
410 self.checksum_type = input;
411 self
412 }
413 /// <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
414 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
415 &self.checksum_type
416 }
417 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
418 self._extended_request_id = Some(extended_request_id.into());
419 self
420 }
421
422 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
423 self._extended_request_id = extended_request_id;
424 self
425 }
426 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
427 self._request_id = Some(request_id.into());
428 self
429 }
430
431 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
432 self._request_id = request_id;
433 self
434 }
435 /// Consumes the builder and constructs a [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput).
436 pub fn build(self) -> crate::operation::create_multipart_upload::CreateMultipartUploadOutput {
437 crate::operation::create_multipart_upload::CreateMultipartUploadOutput {
438 abort_date: self.abort_date,
439 abort_rule_id: self.abort_rule_id,
440 bucket: self.bucket,
441 key: self.key,
442 upload_id: self.upload_id,
443 server_side_encryption: self.server_side_encryption,
444 sse_customer_algorithm: self.sse_customer_algorithm,
445 sse_customer_key_md5: self.sse_customer_key_md5,
446 ssekms_key_id: self.ssekms_key_id,
447 ssekms_encryption_context: self.ssekms_encryption_context,
448 bucket_key_enabled: self.bucket_key_enabled,
449 request_charged: self.request_charged,
450 checksum_algorithm: self.checksum_algorithm,
451 checksum_type: self.checksum_type,
452 _extended_request_id: self._extended_request_id,
453 _request_id: self._request_id,
454 }
455 }
456}
457impl ::std::fmt::Debug for CreateMultipartUploadOutputBuilder {
458 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
459 let mut formatter = f.debug_struct("CreateMultipartUploadOutputBuilder");
460 formatter.field("abort_date", &self.abort_date);
461 formatter.field("abort_rule_id", &self.abort_rule_id);
462 formatter.field("bucket", &self.bucket);
463 formatter.field("key", &self.key);
464 formatter.field("upload_id", &self.upload_id);
465 formatter.field("server_side_encryption", &self.server_side_encryption);
466 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
467 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
468 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
469 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
470 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
471 formatter.field("request_charged", &self.request_charged);
472 formatter.field("checksum_algorithm", &self.checksum_algorithm);
473 formatter.field("checksum_type", &self.checksum_type);
474 formatter.field("_extended_request_id", &self._extended_request_id);
475 formatter.field("_request_id", &self._request_id);
476 formatter.finish()
477 }
478}