aws_sdk_s3/operation/copy_object/_copy_object_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 CopyObjectOutput {
6 /// <p>Container for all response elements.</p>
7 pub copy_object_result: ::std::option::Option<crate::types::CopyObjectResult>,
8 /// <p>If the object expiration is configured, the response includes this header.</p><note>
9 /// <p>This functionality is not supported for directory buckets.</p>
10 /// </note>
11 pub expiration: ::std::option::Option<::std::string::String>,
12 /// <p>Version ID of the source object that was copied.</p><note>
13 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
14 /// </note>
15 pub copy_source_version_id: ::std::option::Option<::std::string::String>,
16 /// <p>Version ID of the newly created copy.</p><note>
17 /// <p>This functionality is not supported for directory buckets.</p>
18 /// </note>
19 pub version_id: ::std::option::Option<::std::string::String>,
20 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p><note>
21 /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
22 /// </note>
23 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
24 /// <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>
25 /// <p>This functionality is not supported for directory buckets.</p>
26 /// </note>
27 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
28 /// <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>
29 /// <p>This functionality is not supported for directory buckets.</p>
30 /// </note>
31 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
32 /// <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.</p><note>
33 /// <p>This functionality is not supported for directory buckets.</p>
34 /// </note>
35 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
36 /// <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 UTF-8 string holding JSON with the encryption context key-value pairs.</p><note>
37 /// <p>This functionality is not supported for directory buckets.</p>
38 /// </note>
39 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
40 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
41 /// <p>This functionality is not supported for directory buckets.</p>
42 /// </note>
43 pub bucket_key_enabled: ::std::option::Option<bool>,
44 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
45 /// <p>This functionality is not supported for directory buckets.</p>
46 /// </note>
47 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
48 _extended_request_id: Option<String>,
49 _request_id: Option<String>,
50}
51impl CopyObjectOutput {
52 /// <p>Container for all response elements.</p>
53 pub fn copy_object_result(&self) -> ::std::option::Option<&crate::types::CopyObjectResult> {
54 self.copy_object_result.as_ref()
55 }
56 /// <p>If the object expiration is configured, the response includes this header.</p><note>
57 /// <p>This functionality is not supported for directory buckets.</p>
58 /// </note>
59 pub fn expiration(&self) -> ::std::option::Option<&str> {
60 self.expiration.as_deref()
61 }
62 /// <p>Version ID of the source object that was copied.</p><note>
63 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
64 /// </note>
65 pub fn copy_source_version_id(&self) -> ::std::option::Option<&str> {
66 self.copy_source_version_id.as_deref()
67 }
68 /// <p>Version ID of the newly created copy.</p><note>
69 /// <p>This functionality is not supported for directory buckets.</p>
70 /// </note>
71 pub fn version_id(&self) -> ::std::option::Option<&str> {
72 self.version_id.as_deref()
73 }
74 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p><note>
75 /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
76 /// </note>
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 Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.</p><note>
93 /// <p>This functionality is not supported for directory buckets.</p>
94 /// </note>
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 UTF-8 string holding JSON with the encryption context key-value pairs.</p><note>
99 /// <p>This functionality is not supported for directory buckets.</p>
100 /// </note>
101 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
102 self.ssekms_encryption_context.as_deref()
103 }
104 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
105 /// <p>This functionality is not supported for directory buckets.</p>
106 /// </note>
107 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
108 self.bucket_key_enabled
109 }
110 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
111 /// <p>This functionality is not supported for directory buckets.</p>
112 /// </note>
113 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
114 self.request_charged.as_ref()
115 }
116}
117impl ::std::fmt::Debug for CopyObjectOutput {
118 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
119 let mut formatter = f.debug_struct("CopyObjectOutput");
120 formatter.field("copy_object_result", &self.copy_object_result);
121 formatter.field("expiration", &self.expiration);
122 formatter.field("copy_source_version_id", &self.copy_source_version_id);
123 formatter.field("version_id", &self.version_id);
124 formatter.field("server_side_encryption", &self.server_side_encryption);
125 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
126 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
127 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
128 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
129 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
130 formatter.field("request_charged", &self.request_charged);
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 CopyObjectOutput {
137 fn extended_request_id(&self) -> Option<&str> {
138 self._extended_request_id.as_deref()
139 }
140}
141impl ::aws_types::request_id::RequestId for CopyObjectOutput {
142 fn request_id(&self) -> Option<&str> {
143 self._request_id.as_deref()
144 }
145}
146impl CopyObjectOutput {
147 /// Creates a new builder-style object to manufacture [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
148 pub fn builder() -> crate::operation::copy_object::builders::CopyObjectOutputBuilder {
149 crate::operation::copy_object::builders::CopyObjectOutputBuilder::default()
150 }
151}
152
153/// A builder for [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
154#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
155#[non_exhaustive]
156pub struct CopyObjectOutputBuilder {
157 pub(crate) copy_object_result: ::std::option::Option<crate::types::CopyObjectResult>,
158 pub(crate) expiration: ::std::option::Option<::std::string::String>,
159 pub(crate) copy_source_version_id: ::std::option::Option<::std::string::String>,
160 pub(crate) version_id: ::std::option::Option<::std::string::String>,
161 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
162 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
163 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
164 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
165 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
166 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
167 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
168 _extended_request_id: Option<String>,
169 _request_id: Option<String>,
170}
171impl CopyObjectOutputBuilder {
172 /// <p>Container for all response elements.</p>
173 pub fn copy_object_result(mut self, input: crate::types::CopyObjectResult) -> Self {
174 self.copy_object_result = ::std::option::Option::Some(input);
175 self
176 }
177 /// <p>Container for all response elements.</p>
178 pub fn set_copy_object_result(mut self, input: ::std::option::Option<crate::types::CopyObjectResult>) -> Self {
179 self.copy_object_result = input;
180 self
181 }
182 /// <p>Container for all response elements.</p>
183 pub fn get_copy_object_result(&self) -> &::std::option::Option<crate::types::CopyObjectResult> {
184 &self.copy_object_result
185 }
186 /// <p>If the object expiration is configured, the response includes this header.</p><note>
187 /// <p>This functionality is not supported for directory buckets.</p>
188 /// </note>
189 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190 self.expiration = ::std::option::Option::Some(input.into());
191 self
192 }
193 /// <p>If the object expiration is configured, the response includes this header.</p><note>
194 /// <p>This functionality is not supported for directory buckets.</p>
195 /// </note>
196 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197 self.expiration = input;
198 self
199 }
200 /// <p>If the object expiration is configured, the response includes this header.</p><note>
201 /// <p>This functionality is not supported for directory buckets.</p>
202 /// </note>
203 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
204 &self.expiration
205 }
206 /// <p>Version ID of the source object that was copied.</p><note>
207 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
208 /// </note>
209 pub fn copy_source_version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210 self.copy_source_version_id = ::std::option::Option::Some(input.into());
211 self
212 }
213 /// <p>Version ID of the source object that was copied.</p><note>
214 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
215 /// </note>
216 pub fn set_copy_source_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
217 self.copy_source_version_id = input;
218 self
219 }
220 /// <p>Version ID of the source object that was copied.</p><note>
221 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
222 /// </note>
223 pub fn get_copy_source_version_id(&self) -> &::std::option::Option<::std::string::String> {
224 &self.copy_source_version_id
225 }
226 /// <p>Version ID of the newly created copy.</p><note>
227 /// <p>This functionality is not supported for directory buckets.</p>
228 /// </note>
229 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.version_id = ::std::option::Option::Some(input.into());
231 self
232 }
233 /// <p>Version ID of the newly created copy.</p><note>
234 /// <p>This functionality is not supported for directory buckets.</p>
235 /// </note>
236 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237 self.version_id = input;
238 self
239 }
240 /// <p>Version ID of the newly created copy.</p><note>
241 /// <p>This functionality is not supported for directory buckets.</p>
242 /// </note>
243 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
244 &self.version_id
245 }
246 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p><note>
247 /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
248 /// </note>
249 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
250 self.server_side_encryption = ::std::option::Option::Some(input);
251 self
252 }
253 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p><note>
254 /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
255 /// </note>
256 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
257 self.server_side_encryption = input;
258 self
259 }
260 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p><note>
261 /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
262 /// </note>
263 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
264 &self.server_side_encryption
265 }
266 /// <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>
267 /// <p>This functionality is not supported for directory buckets.</p>
268 /// </note>
269 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
271 self
272 }
273 /// <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>
274 /// <p>This functionality is not supported for directory buckets.</p>
275 /// </note>
276 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277 self.sse_customer_algorithm = input;
278 self
279 }
280 /// <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>
281 /// <p>This functionality is not supported for directory buckets.</p>
282 /// </note>
283 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
284 &self.sse_customer_algorithm
285 }
286 /// <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>
287 /// <p>This functionality is not supported for directory buckets.</p>
288 /// </note>
289 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
291 self
292 }
293 /// <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>
294 /// <p>This functionality is not supported for directory buckets.</p>
295 /// </note>
296 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297 self.sse_customer_key_md5 = input;
298 self
299 }
300 /// <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>
301 /// <p>This functionality is not supported for directory buckets.</p>
302 /// </note>
303 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
304 &self.sse_customer_key_md5
305 }
306 /// <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.</p><note>
307 /// <p>This functionality is not supported for directory buckets.</p>
308 /// </note>
309 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
310 self.ssekms_key_id = ::std::option::Option::Some(input.into());
311 self
312 }
313 /// <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.</p><note>
314 /// <p>This functionality is not supported for directory buckets.</p>
315 /// </note>
316 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
317 self.ssekms_key_id = input;
318 self
319 }
320 /// <p>If present, indicates the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object.</p><note>
321 /// <p>This functionality is not supported for directory buckets.</p>
322 /// </note>
323 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
324 &self.ssekms_key_id
325 }
326 /// <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 UTF-8 string holding JSON with the encryption context key-value pairs.</p><note>
327 /// <p>This functionality is not supported for directory buckets.</p>
328 /// </note>
329 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
330 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
331 self
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 UTF-8 string holding JSON with the encryption context key-value pairs.</p><note>
334 /// <p>This functionality is not supported for directory buckets.</p>
335 /// </note>
336 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
337 self.ssekms_encryption_context = input;
338 self
339 }
340 /// <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 UTF-8 string holding JSON with the encryption context key-value pairs.</p><note>
341 /// <p>This functionality is not supported for directory buckets.</p>
342 /// </note>
343 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
344 &self.ssekms_encryption_context
345 }
346 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
347 /// <p>This functionality is not supported for directory buckets.</p>
348 /// </note>
349 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
350 self.bucket_key_enabled = ::std::option::Option::Some(input);
351 self
352 }
353 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
354 /// <p>This functionality is not supported for directory buckets.</p>
355 /// </note>
356 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
357 self.bucket_key_enabled = input;
358 self
359 }
360 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
361 /// <p>This functionality is not supported for directory buckets.</p>
362 /// </note>
363 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
364 &self.bucket_key_enabled
365 }
366 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
367 /// <p>This functionality is not supported for directory buckets.</p>
368 /// </note>
369 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
370 self.request_charged = ::std::option::Option::Some(input);
371 self
372 }
373 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
374 /// <p>This functionality is not supported for directory buckets.</p>
375 /// </note>
376 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
377 self.request_charged = input;
378 self
379 }
380 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
381 /// <p>This functionality is not supported for directory buckets.</p>
382 /// </note>
383 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
384 &self.request_charged
385 }
386 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
387 self._extended_request_id = Some(extended_request_id.into());
388 self
389 }
390
391 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
392 self._extended_request_id = extended_request_id;
393 self
394 }
395 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
396 self._request_id = Some(request_id.into());
397 self
398 }
399
400 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
401 self._request_id = request_id;
402 self
403 }
404 /// Consumes the builder and constructs a [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
405 pub fn build(self) -> crate::operation::copy_object::CopyObjectOutput {
406 crate::operation::copy_object::CopyObjectOutput {
407 copy_object_result: self.copy_object_result,
408 expiration: self.expiration,
409 copy_source_version_id: self.copy_source_version_id,
410 version_id: self.version_id,
411 server_side_encryption: self.server_side_encryption,
412 sse_customer_algorithm: self.sse_customer_algorithm,
413 sse_customer_key_md5: self.sse_customer_key_md5,
414 ssekms_key_id: self.ssekms_key_id,
415 ssekms_encryption_context: self.ssekms_encryption_context,
416 bucket_key_enabled: self.bucket_key_enabled,
417 request_charged: self.request_charged,
418 _extended_request_id: self._extended_request_id,
419 _request_id: self._request_id,
420 }
421 }
422}
423impl ::std::fmt::Debug for CopyObjectOutputBuilder {
424 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
425 let mut formatter = f.debug_struct("CopyObjectOutputBuilder");
426 formatter.field("copy_object_result", &self.copy_object_result);
427 formatter.field("expiration", &self.expiration);
428 formatter.field("copy_source_version_id", &self.copy_source_version_id);
429 formatter.field("version_id", &self.version_id);
430 formatter.field("server_side_encryption", &self.server_side_encryption);
431 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
432 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
433 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
434 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
435 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
436 formatter.field("request_charged", &self.request_charged);
437 formatter.field("_extended_request_id", &self._extended_request_id);
438 formatter.field("_request_id", &self._request_id);
439 formatter.finish()
440 }
441}