aws_sdk_s3/operation/upload_part/
_upload_part_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 UploadPartOutput {
6    /// <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><note>
7    /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
8    /// </note>
9    pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
10    /// <p>Entity tag for the uploaded object.</p>
11    pub e_tag: ::std::option::Option<::std::string::String>,
12    /// <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
13    pub checksum_crc32: ::std::option::Option<::std::string::String>,
14    /// <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
15    pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
16    /// <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
17    pub checksum_sha1: ::std::option::Option<::std::string::String>,
18    /// <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
19    pub checksum_sha256: ::std::option::Option<::std::string::String>,
20    /// <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>
21    /// <p>This functionality is not supported for directory buckets.</p>
22    /// </note>
23    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
24    /// <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>
25    /// <p>This functionality is not supported for directory buckets.</p>
26    /// </note>
27    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
28    /// <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>
29    /// <p>This functionality is not supported for directory buckets.</p>
30    /// </note>
31    pub ssekms_key_id: ::std::option::Option<::std::string::String>,
32    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
33    /// <p>This functionality is not supported for directory buckets.</p>
34    /// </note>
35    pub bucket_key_enabled: ::std::option::Option<bool>,
36    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
37    /// <p>This functionality is not supported for directory buckets.</p>
38    /// </note>
39    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
40    _extended_request_id: Option<String>,
41    _request_id: Option<String>,
42}
43impl UploadPartOutput {
44    /// <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><note>
45    /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
46    /// </note>
47    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
48        self.server_side_encryption.as_ref()
49    }
50    /// <p>Entity tag for the uploaded object.</p>
51    pub fn e_tag(&self) -> ::std::option::Option<&str> {
52        self.e_tag.as_deref()
53    }
54    /// <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
55    pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
56        self.checksum_crc32.as_deref()
57    }
58    /// <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
59    pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
60        self.checksum_crc32_c.as_deref()
61    }
62    /// <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
63    pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
64        self.checksum_sha1.as_deref()
65    }
66    /// <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
67    pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
68        self.checksum_sha256.as_deref()
69    }
70    /// <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>
71    /// <p>This functionality is not supported for directory buckets.</p>
72    /// </note>
73    pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
74        self.sse_customer_algorithm.as_deref()
75    }
76    /// <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>
77    /// <p>This functionality is not supported for directory buckets.</p>
78    /// </note>
79    pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
80        self.sse_customer_key_md5.as_deref()
81    }
82    /// <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>
83    /// <p>This functionality is not supported for directory buckets.</p>
84    /// </note>
85    pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
86        self.ssekms_key_id.as_deref()
87    }
88    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
89    /// <p>This functionality is not supported for directory buckets.</p>
90    /// </note>
91    pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
92        self.bucket_key_enabled
93    }
94    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
95    /// <p>This functionality is not supported for directory buckets.</p>
96    /// </note>
97    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
98        self.request_charged.as_ref()
99    }
100}
101impl ::std::fmt::Debug for UploadPartOutput {
102    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
103        let mut formatter = f.debug_struct("UploadPartOutput");
104        formatter.field("server_side_encryption", &self.server_side_encryption);
105        formatter.field("e_tag", &self.e_tag);
106        formatter.field("checksum_crc32", &self.checksum_crc32);
107        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
108        formatter.field("checksum_sha1", &self.checksum_sha1);
109        formatter.field("checksum_sha256", &self.checksum_sha256);
110        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
111        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
112        formatter.field("ssekms_key_id", &"*** 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 UploadPartOutput {
121    fn extended_request_id(&self) -> Option<&str> {
122        self._extended_request_id.as_deref()
123    }
124}
125impl ::aws_types::request_id::RequestId for UploadPartOutput {
126    fn request_id(&self) -> Option<&str> {
127        self._request_id.as_deref()
128    }
129}
130impl UploadPartOutput {
131    /// Creates a new builder-style object to manufacture [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
132    pub fn builder() -> crate::operation::upload_part::builders::UploadPartOutputBuilder {
133        crate::operation::upload_part::builders::UploadPartOutputBuilder::default()
134    }
135}
136
137/// A builder for [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
138#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
139#[non_exhaustive]
140pub struct UploadPartOutputBuilder {
141    pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
142    pub(crate) e_tag: ::std::option::Option<::std::string::String>,
143    pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
144    pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
145    pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
146    pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
147    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
148    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
149    pub(crate) ssekms_key_id: ::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 UploadPartOutputBuilder {
156    /// <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><note>
157    /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
158    /// </note>
159    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
160        self.server_side_encryption = ::std::option::Option::Some(input);
161        self
162    }
163    /// <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><note>
164    /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
165    /// </note>
166    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
167        self.server_side_encryption = input;
168        self
169    }
170    /// <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><note>
171    /// <p>For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) is supported.</p>
172    /// </note>
173    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
174        &self.server_side_encryption
175    }
176    /// <p>Entity tag for the uploaded object.</p>
177    pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
178        self.e_tag = ::std::option::Option::Some(input.into());
179        self
180    }
181    /// <p>Entity tag for the uploaded object.</p>
182    pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
183        self.e_tag = input;
184        self
185    }
186    /// <p>Entity tag for the uploaded object.</p>
187    pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
188        &self.e_tag
189    }
190    /// <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
191    pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
192        self.checksum_crc32 = ::std::option::Option::Some(input.into());
193        self
194    }
195    /// <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
196    pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197        self.checksum_crc32 = input;
198        self
199    }
200    /// <p>The base64-encoded, 32-bit CRC32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
201    pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
202        &self.checksum_crc32
203    }
204    /// <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
205    pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206        self.checksum_crc32_c = ::std::option::Option::Some(input.into());
207        self
208    }
209    /// <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
210    pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
211        self.checksum_crc32_c = input;
212        self
213    }
214    /// <p>The base64-encoded, 32-bit CRC32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
215    pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
216        &self.checksum_crc32_c
217    }
218    /// <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
219    pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
220        self.checksum_sha1 = ::std::option::Option::Some(input.into());
221        self
222    }
223    /// <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
224    pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
225        self.checksum_sha1 = input;
226        self
227    }
228    /// <p>The base64-encoded, 160-bit SHA-1 digest of the object. This will only be present if it was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
229    pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
230        &self.checksum_sha1
231    }
232    /// <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
233    pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
234        self.checksum_sha256 = ::std::option::Option::Some(input.into());
235        self
236    }
237    /// <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
238    pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
239        self.checksum_sha256 = input;
240        self
241    }
242    /// <p>The base64-encoded, 256-bit SHA-256 digest of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
243    pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
244        &self.checksum_sha256
245    }
246    /// <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>
247    /// <p>This functionality is not supported for directory buckets.</p>
248    /// </note>
249    pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
250        self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
251        self
252    }
253    /// <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>
254    /// <p>This functionality is not supported for directory buckets.</p>
255    /// </note>
256    pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257        self.sse_customer_algorithm = input;
258        self
259    }
260    /// <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>
261    /// <p>This functionality is not supported for directory buckets.</p>
262    /// </note>
263    pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
264        &self.sse_customer_algorithm
265    }
266    /// <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>
267    /// <p>This functionality is not supported for directory buckets.</p>
268    /// </note>
269    pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270        self.sse_customer_key_md5 = ::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 provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
274    /// <p>This functionality is not supported for directory buckets.</p>
275    /// </note>
276    pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277        self.sse_customer_key_md5 = 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 provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>
281    /// <p>This functionality is not supported for directory buckets.</p>
282    /// </note>
283    pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
284        &self.sse_customer_key_md5
285    }
286    /// <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>
287    /// <p>This functionality is not supported for directory buckets.</p>
288    /// </note>
289    pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
290        self.ssekms_key_id = ::std::option::Option::Some(input.into());
291        self
292    }
293    /// <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>
294    /// <p>This functionality is not supported for directory buckets.</p>
295    /// </note>
296    pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
297        self.ssekms_key_id = input;
298        self
299    }
300    /// <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>
301    /// <p>This functionality is not supported for directory buckets.</p>
302    /// </note>
303    pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
304        &self.ssekms_key_id
305    }
306    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
307    /// <p>This functionality is not supported for directory buckets.</p>
308    /// </note>
309    pub fn bucket_key_enabled(mut self, input: bool) -> Self {
310        self.bucket_key_enabled = ::std::option::Option::Some(input);
311        self
312    }
313    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
314    /// <p>This functionality is not supported for directory buckets.</p>
315    /// </note>
316    pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
317        self.bucket_key_enabled = input;
318        self
319    }
320    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p><note>
321    /// <p>This functionality is not supported for directory buckets.</p>
322    /// </note>
323    pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
324        &self.bucket_key_enabled
325    }
326    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
327    /// <p>This functionality is not supported for directory buckets.</p>
328    /// </note>
329    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
330        self.request_charged = ::std::option::Option::Some(input);
331        self
332    }
333    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
334    /// <p>This functionality is not supported for directory buckets.</p>
335    /// </note>
336    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
337        self.request_charged = input;
338        self
339    }
340    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
341    /// <p>This functionality is not supported for directory buckets.</p>
342    /// </note>
343    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    /// Consumes the builder and constructs a [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
365    pub fn build(self) -> crate::operation::upload_part::UploadPartOutput {
366        crate::operation::upload_part::UploadPartOutput {
367            server_side_encryption: self.server_side_encryption,
368            e_tag: self.e_tag,
369            checksum_crc32: self.checksum_crc32,
370            checksum_crc32_c: self.checksum_crc32_c,
371            checksum_sha1: self.checksum_sha1,
372            checksum_sha256: self.checksum_sha256,
373            sse_customer_algorithm: self.sse_customer_algorithm,
374            sse_customer_key_md5: self.sse_customer_key_md5,
375            ssekms_key_id: self.ssekms_key_id,
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 UploadPartOutputBuilder {
384    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
385        let mut formatter = f.debug_struct("UploadPartOutputBuilder");
386        formatter.field("server_side_encryption", &self.server_side_encryption);
387        formatter.field("e_tag", &self.e_tag);
388        formatter.field("checksum_crc32", &self.checksum_crc32);
389        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
390        formatter.field("checksum_sha1", &self.checksum_sha1);
391        formatter.field("checksum_sha256", &self.checksum_sha256);
392        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
393        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
394        formatter.field("ssekms_key_id", &"*** 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}