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>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses 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 or Amazon FSx.</p><note>
21 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</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 KMS key that was used for object encryption.</p>
33 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
34 /// <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>
35 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
36 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
37 pub bucket_key_enabled: ::std::option::Option<bool>,
38 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
39 /// <p>This functionality is not supported for directory buckets.</p>
40 /// </note>
41 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
42 _extended_request_id: Option<String>,
43 _request_id: Option<String>,
44}
45impl CopyObjectOutput {
46 /// <p>Container for all response elements.</p>
47 pub fn copy_object_result(&self) -> ::std::option::Option<&crate::types::CopyObjectResult> {
48 self.copy_object_result.as_ref()
49 }
50 /// <p>If the object expiration is configured, the response includes this header.</p><note>
51 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
52 /// </note>
53 pub fn expiration(&self) -> ::std::option::Option<&str> {
54 self.expiration.as_deref()
55 }
56 /// <p>Version ID of the source object that was copied.</p><note>
57 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
58 /// </note>
59 pub fn copy_source_version_id(&self) -> ::std::option::Option<&str> {
60 self.copy_source_version_id.as_deref()
61 }
62 /// <p>Version ID of the newly created copy.</p><note>
63 /// <p>This functionality is not supported for directory buckets.</p>
64 /// </note>
65 pub fn version_id(&self) -> ::std::option::Option<&str> {
66 self.version_id.as_deref()
67 }
68 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
69 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
70 /// </note>
71 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
72 self.server_side_encryption.as_ref()
73 }
74 /// <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>
75 /// <p>This functionality is not supported for directory buckets.</p>
76 /// </note>
77 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
78 self.sse_customer_algorithm.as_deref()
79 }
80 /// <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>
81 /// <p>This functionality is not supported for directory buckets.</p>
82 /// </note>
83 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
84 self.sse_customer_key_md5.as_deref()
85 }
86 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
87 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
88 self.ssekms_key_id.as_deref()
89 }
90 /// <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>
91 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
92 self.ssekms_encryption_context.as_deref()
93 }
94 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
95 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
96 self.bucket_key_enabled
97 }
98 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
99 /// <p>This functionality is not supported for directory buckets.</p>
100 /// </note>
101 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
102 self.request_charged.as_ref()
103 }
104}
105impl ::std::fmt::Debug for CopyObjectOutput {
106 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
107 let mut formatter = f.debug_struct("CopyObjectOutput");
108 formatter.field("copy_object_result", &self.copy_object_result);
109 formatter.field("expiration", &self.expiration);
110 formatter.field("copy_source_version_id", &self.copy_source_version_id);
111 formatter.field("version_id", &self.version_id);
112 formatter.field("server_side_encryption", &self.server_side_encryption);
113 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
114 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
115 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
116 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
117 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
118 formatter.field("request_charged", &self.request_charged);
119 formatter.field("_extended_request_id", &self._extended_request_id);
120 formatter.field("_request_id", &self._request_id);
121 formatter.finish()
122 }
123}
124impl crate::s3_request_id::RequestIdExt for CopyObjectOutput {
125 fn extended_request_id(&self) -> Option<&str> {
126 self._extended_request_id.as_deref()
127 }
128}
129impl ::aws_types::request_id::RequestId for CopyObjectOutput {
130 fn request_id(&self) -> Option<&str> {
131 self._request_id.as_deref()
132 }
133}
134impl CopyObjectOutput {
135 /// Creates a new builder-style object to manufacture [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
136 pub fn builder() -> crate::operation::copy_object::builders::CopyObjectOutputBuilder {
137 crate::operation::copy_object::builders::CopyObjectOutputBuilder::default()
138 }
139}
140
141/// A builder for [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
142#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
143#[non_exhaustive]
144pub struct CopyObjectOutputBuilder {
145 pub(crate) copy_object_result: ::std::option::Option<crate::types::CopyObjectResult>,
146 pub(crate) expiration: ::std::option::Option<::std::string::String>,
147 pub(crate) copy_source_version_id: ::std::option::Option<::std::string::String>,
148 pub(crate) version_id: ::std::option::Option<::std::string::String>,
149 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
150 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
151 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
152 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
153 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
154 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
155 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
156 _extended_request_id: Option<String>,
157 _request_id: Option<String>,
158}
159impl CopyObjectOutputBuilder {
160 /// <p>Container for all response elements.</p>
161 pub fn copy_object_result(mut self, input: crate::types::CopyObjectResult) -> Self {
162 self.copy_object_result = ::std::option::Option::Some(input);
163 self
164 }
165 /// <p>Container for all response elements.</p>
166 pub fn set_copy_object_result(mut self, input: ::std::option::Option<crate::types::CopyObjectResult>) -> Self {
167 self.copy_object_result = input;
168 self
169 }
170 /// <p>Container for all response elements.</p>
171 pub fn get_copy_object_result(&self) -> &::std::option::Option<crate::types::CopyObjectResult> {
172 &self.copy_object_result
173 }
174 /// <p>If the object expiration is configured, the response includes this header.</p><note>
175 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
176 /// </note>
177 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
178 self.expiration = ::std::option::Option::Some(input.into());
179 self
180 }
181 /// <p>If the object expiration is configured, the response includes this header.</p><note>
182 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
183 /// </note>
184 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185 self.expiration = input;
186 self
187 }
188 /// <p>If the object expiration is configured, the response includes this header.</p><note>
189 /// <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p>
190 /// </note>
191 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
192 &self.expiration
193 }
194 /// <p>Version ID of the source object that was copied.</p><note>
195 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
196 /// </note>
197 pub fn copy_source_version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
198 self.copy_source_version_id = ::std::option::Option::Some(input.into());
199 self
200 }
201 /// <p>Version ID of the source object that was copied.</p><note>
202 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
203 /// </note>
204 pub fn set_copy_source_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
205 self.copy_source_version_id = input;
206 self
207 }
208 /// <p>Version ID of the source object that was copied.</p><note>
209 /// <p>This functionality is not supported when the source object is in a directory bucket.</p>
210 /// </note>
211 pub fn get_copy_source_version_id(&self) -> &::std::option::Option<::std::string::String> {
212 &self.copy_source_version_id
213 }
214 /// <p>Version ID of the newly created copy.</p><note>
215 /// <p>This functionality is not supported for directory buckets.</p>
216 /// </note>
217 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.version_id = ::std::option::Option::Some(input.into());
219 self
220 }
221 /// <p>Version ID of the newly created copy.</p><note>
222 /// <p>This functionality is not supported for directory buckets.</p>
223 /// </note>
224 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
225 self.version_id = input;
226 self
227 }
228 /// <p>Version ID of the newly created copy.</p><note>
229 /// <p>This functionality is not supported for directory buckets.</p>
230 /// </note>
231 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
232 &self.version_id
233 }
234 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
235 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
236 /// </note>
237 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
238 self.server_side_encryption = ::std::option::Option::Some(input);
239 self
240 }
241 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
242 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
243 /// </note>
244 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
245 self.server_side_encryption = input;
246 self
247 }
248 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
249 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
250 /// </note>
251 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
252 &self.server_side_encryption
253 }
254 /// <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>
255 /// <p>This functionality is not supported for directory buckets.</p>
256 /// </note>
257 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
258 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
259 self
260 }
261 /// <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>
262 /// <p>This functionality is not supported for directory buckets.</p>
263 /// </note>
264 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
265 self.sse_customer_algorithm = input;
266 self
267 }
268 /// <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>
269 /// <p>This functionality is not supported for directory buckets.</p>
270 /// </note>
271 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
272 &self.sse_customer_algorithm
273 }
274 /// <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>
275 /// <p>This functionality is not supported for directory buckets.</p>
276 /// </note>
277 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
279 self
280 }
281 /// <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>
282 /// <p>This functionality is not supported for directory buckets.</p>
283 /// </note>
284 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285 self.sse_customer_key_md5 = input;
286 self
287 }
288 /// <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>
289 /// <p>This functionality is not supported for directory buckets.</p>
290 /// </note>
291 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
292 &self.sse_customer_key_md5
293 }
294 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
295 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
296 self.ssekms_key_id = ::std::option::Option::Some(input.into());
297 self
298 }
299 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
300 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
301 self.ssekms_key_id = input;
302 self
303 }
304 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
305 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
306 &self.ssekms_key_id
307 }
308 /// <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>
309 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
310 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
311 self
312 }
313 /// <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>
314 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
315 self.ssekms_encryption_context = input;
316 self
317 }
318 /// <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>
319 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
320 &self.ssekms_encryption_context
321 }
322 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
323 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
324 self.bucket_key_enabled = ::std::option::Option::Some(input);
325 self
326 }
327 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
328 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
329 self.bucket_key_enabled = input;
330 self
331 }
332 /// <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
333 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
334 &self.bucket_key_enabled
335 }
336 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
337 /// <p>This functionality is not supported for directory buckets.</p>
338 /// </note>
339 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
340 self.request_charged = ::std::option::Option::Some(input);
341 self
342 }
343 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
344 /// <p>This functionality is not supported for directory buckets.</p>
345 /// </note>
346 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
347 self.request_charged = input;
348 self
349 }
350 /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
351 /// <p>This functionality is not supported for directory buckets.</p>
352 /// </note>
353 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
354 &self.request_charged
355 }
356 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
357 self._extended_request_id = Some(extended_request_id.into());
358 self
359 }
360
361 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
362 self._extended_request_id = extended_request_id;
363 self
364 }
365 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
366 self._request_id = Some(request_id.into());
367 self
368 }
369
370 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
371 self._request_id = request_id;
372 self
373 }
374 /// Consumes the builder and constructs a [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput).
375 pub fn build(self) -> crate::operation::copy_object::CopyObjectOutput {
376 crate::operation::copy_object::CopyObjectOutput {
377 copy_object_result: self.copy_object_result,
378 expiration: self.expiration,
379 copy_source_version_id: self.copy_source_version_id,
380 version_id: self.version_id,
381 server_side_encryption: self.server_side_encryption,
382 sse_customer_algorithm: self.sse_customer_algorithm,
383 sse_customer_key_md5: self.sse_customer_key_md5,
384 ssekms_key_id: self.ssekms_key_id,
385 ssekms_encryption_context: self.ssekms_encryption_context,
386 bucket_key_enabled: self.bucket_key_enabled,
387 request_charged: self.request_charged,
388 _extended_request_id: self._extended_request_id,
389 _request_id: self._request_id,
390 }
391 }
392}
393impl ::std::fmt::Debug for CopyObjectOutputBuilder {
394 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
395 let mut formatter = f.debug_struct("CopyObjectOutputBuilder");
396 formatter.field("copy_object_result", &self.copy_object_result);
397 formatter.field("expiration", &self.expiration);
398 formatter.field("copy_source_version_id", &self.copy_source_version_id);
399 formatter.field("version_id", &self.version_id);
400 formatter.field("server_side_encryption", &self.server_side_encryption);
401 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
402 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
403 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
404 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
405 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
406 formatter.field("request_charged", &self.request_charged);
407 formatter.field("_extended_request_id", &self._extended_request_id);
408 formatter.field("_request_id", &self._request_id);
409 formatter.finish()
410 }
411}