aws_sdk_s3/operation/copy_object/
_copy_object_output.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct CopyObjectOutput {
6 pub copy_object_result: ::std::option::Option<crate::types::CopyObjectResult>,
8 pub expiration: ::std::option::Option<::std::string::String>,
12 pub copy_source_version_id: ::std::option::Option<::std::string::String>,
16 pub version_id: ::std::option::Option<::std::string::String>,
20 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
22 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
26 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
30 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
32 pub ssekms_encryption_context: ::std::option::Option<::std::string::String>,
34 pub bucket_key_enabled: ::std::option::Option<bool>,
36 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
40 _extended_request_id: Option<String>,
41 _request_id: Option<String>,
42}
43impl CopyObjectOutput {
44 pub fn copy_object_result(&self) -> ::std::option::Option<&crate::types::CopyObjectResult> {
46 self.copy_object_result.as_ref()
47 }
48 pub fn expiration(&self) -> ::std::option::Option<&str> {
52 self.expiration.as_deref()
53 }
54 pub fn copy_source_version_id(&self) -> ::std::option::Option<&str> {
58 self.copy_source_version_id.as_deref()
59 }
60 pub fn version_id(&self) -> ::std::option::Option<&str> {
64 self.version_id.as_deref()
65 }
66 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
68 self.server_side_encryption.as_ref()
69 }
70 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
74 self.sse_customer_algorithm.as_deref()
75 }
76 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
80 self.sse_customer_key_md5.as_deref()
81 }
82 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
84 self.ssekms_key_id.as_deref()
85 }
86 pub fn ssekms_encryption_context(&self) -> ::std::option::Option<&str> {
88 self.ssekms_encryption_context.as_deref()
89 }
90 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
92 self.bucket_key_enabled
93 }
94 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
98 self.request_charged.as_ref()
99 }
100}
101impl ::std::fmt::Debug for CopyObjectOutput {
102 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
103 let mut formatter = f.debug_struct("CopyObjectOutput");
104 formatter.field("copy_object_result", &self.copy_object_result);
105 formatter.field("expiration", &self.expiration);
106 formatter.field("copy_source_version_id", &self.copy_source_version_id);
107 formatter.field("version_id", &self.version_id);
108 formatter.field("server_side_encryption", &self.server_side_encryption);
109 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
110 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
111 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
112 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
113 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
114 formatter.field("request_charged", &self.request_charged);
115 formatter.field("_extended_request_id", &self._extended_request_id);
116 formatter.field("_request_id", &self._request_id);
117 formatter.finish()
118 }
119}
120impl crate::s3_request_id::RequestIdExt for CopyObjectOutput {
121 fn extended_request_id(&self) -> Option<&str> {
122 self._extended_request_id.as_deref()
123 }
124}
125impl ::aws_types::request_id::RequestId for CopyObjectOutput {
126 fn request_id(&self) -> Option<&str> {
127 self._request_id.as_deref()
128 }
129}
130impl CopyObjectOutput {
131 pub fn builder() -> crate::operation::copy_object::builders::CopyObjectOutputBuilder {
133 crate::operation::copy_object::builders::CopyObjectOutputBuilder::default()
134 }
135}
136
137#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
139#[non_exhaustive]
140pub struct CopyObjectOutputBuilder {
141 pub(crate) copy_object_result: ::std::option::Option<crate::types::CopyObjectResult>,
142 pub(crate) expiration: ::std::option::Option<::std::string::String>,
143 pub(crate) copy_source_version_id: ::std::option::Option<::std::string::String>,
144 pub(crate) version_id: ::std::option::Option<::std::string::String>,
145 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
146 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
147 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
148 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
149 pub(crate) ssekms_encryption_context: ::std::option::Option<::std::string::String>,
150 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
151 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
152 _extended_request_id: Option<String>,
153 _request_id: Option<String>,
154}
155impl CopyObjectOutputBuilder {
156 pub fn copy_object_result(mut self, input: crate::types::CopyObjectResult) -> Self {
158 self.copy_object_result = ::std::option::Option::Some(input);
159 self
160 }
161 pub fn set_copy_object_result(mut self, input: ::std::option::Option<crate::types::CopyObjectResult>) -> Self {
163 self.copy_object_result = input;
164 self
165 }
166 pub fn get_copy_object_result(&self) -> &::std::option::Option<crate::types::CopyObjectResult> {
168 &self.copy_object_result
169 }
170 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174 self.expiration = ::std::option::Option::Some(input.into());
175 self
176 }
177 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
181 self.expiration = input;
182 self
183 }
184 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
188 &self.expiration
189 }
190 pub fn copy_source_version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
194 self.copy_source_version_id = ::std::option::Option::Some(input.into());
195 self
196 }
197 pub fn set_copy_source_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
201 self.copy_source_version_id = input;
202 self
203 }
204 pub fn get_copy_source_version_id(&self) -> &::std::option::Option<::std::string::String> {
208 &self.copy_source_version_id
209 }
210 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214 self.version_id = ::std::option::Option::Some(input.into());
215 self
216 }
217 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221 self.version_id = input;
222 self
223 }
224 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
228 &self.version_id
229 }
230 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
232 self.server_side_encryption = ::std::option::Option::Some(input);
233 self
234 }
235 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
237 self.server_side_encryption = input;
238 self
239 }
240 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
242 &self.server_side_encryption
243 }
244 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
248 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
249 self
250 }
251 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255 self.sse_customer_algorithm = input;
256 self
257 }
258 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
262 &self.sse_customer_algorithm
263 }
264 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
268 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
269 self
270 }
271 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275 self.sse_customer_key_md5 = input;
276 self
277 }
278 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
282 &self.sse_customer_key_md5
283 }
284 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
286 self.ssekms_key_id = ::std::option::Option::Some(input.into());
287 self
288 }
289 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
291 self.ssekms_key_id = input;
292 self
293 }
294 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
296 &self.ssekms_key_id
297 }
298 pub fn ssekms_encryption_context(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
300 self.ssekms_encryption_context = ::std::option::Option::Some(input.into());
301 self
302 }
303 pub fn set_ssekms_encryption_context(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
305 self.ssekms_encryption_context = input;
306 self
307 }
308 pub fn get_ssekms_encryption_context(&self) -> &::std::option::Option<::std::string::String> {
310 &self.ssekms_encryption_context
311 }
312 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
314 self.bucket_key_enabled = ::std::option::Option::Some(input);
315 self
316 }
317 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
319 self.bucket_key_enabled = input;
320 self
321 }
322 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
324 &self.bucket_key_enabled
325 }
326 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
330 self.request_charged = ::std::option::Option::Some(input);
331 self
332 }
333 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
337 self.request_charged = input;
338 self
339 }
340 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
344 &self.request_charged
345 }
346 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
347 self._extended_request_id = Some(extended_request_id.into());
348 self
349 }
350
351 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
352 self._extended_request_id = extended_request_id;
353 self
354 }
355 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
356 self._request_id = Some(request_id.into());
357 self
358 }
359
360 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
361 self._request_id = request_id;
362 self
363 }
364 pub fn build(self) -> crate::operation::copy_object::CopyObjectOutput {
366 crate::operation::copy_object::CopyObjectOutput {
367 copy_object_result: self.copy_object_result,
368 expiration: self.expiration,
369 copy_source_version_id: self.copy_source_version_id,
370 version_id: self.version_id,
371 server_side_encryption: self.server_side_encryption,
372 sse_customer_algorithm: self.sse_customer_algorithm,
373 sse_customer_key_md5: self.sse_customer_key_md5,
374 ssekms_key_id: self.ssekms_key_id,
375 ssekms_encryption_context: self.ssekms_encryption_context,
376 bucket_key_enabled: self.bucket_key_enabled,
377 request_charged: self.request_charged,
378 _extended_request_id: self._extended_request_id,
379 _request_id: self._request_id,
380 }
381 }
382}
383impl ::std::fmt::Debug for CopyObjectOutputBuilder {
384 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
385 let mut formatter = f.debug_struct("CopyObjectOutputBuilder");
386 formatter.field("copy_object_result", &self.copy_object_result);
387 formatter.field("expiration", &self.expiration);
388 formatter.field("copy_source_version_id", &self.copy_source_version_id);
389 formatter.field("version_id", &self.version_id);
390 formatter.field("server_side_encryption", &self.server_side_encryption);
391 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
392 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
393 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
394 formatter.field("ssekms_encryption_context", &"*** Sensitive Data Redacted ***");
395 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
396 formatter.field("request_charged", &self.request_charged);
397 formatter.field("_extended_request_id", &self._extended_request_id);
398 formatter.field("_request_id", &self._request_id);
399 formatter.finish()
400 }
401}