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>
7    pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
8    /// <p>Entity tag for the uploaded object.</p>
9    pub e_tag: ::std::option::Option<::std::string::String>,
10    /// <p>The base64-encoded, 32-bit CRC-32 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>
11    pub checksum_crc32: ::std::option::Option<::std::string::String>,
12    /// <p>The base64-encoded, 32-bit CRC-32C 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_c: ::std::option::Option<::std::string::String>,
14    /// <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>
15    pub checksum_sha1: ::std::option::Option<::std::string::String>,
16    /// <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>
17    pub checksum_sha256: ::std::option::Option<::std::string::String>,
18    /// <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>
19    /// <p>This functionality is not supported for directory buckets.</p>
20    /// </note>
21    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
22    /// <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>
23    /// <p>This functionality is not supported for directory buckets.</p>
24    /// </note>
25    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
26    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
27    pub ssekms_key_id: ::std::option::Option<::std::string::String>,
28    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
29    pub bucket_key_enabled: ::std::option::Option<bool>,
30    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
31    /// <p>This functionality is not supported for directory buckets.</p>
32    /// </note>
33    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
34    _extended_request_id: Option<String>,
35    _request_id: Option<String>,
36}
37impl UploadPartOutput {
38    /// <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>
39    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
40        self.server_side_encryption.as_ref()
41    }
42    /// <p>Entity tag for the uploaded object.</p>
43    pub fn e_tag(&self) -> ::std::option::Option<&str> {
44        self.e_tag.as_deref()
45    }
46    /// <p>The base64-encoded, 32-bit CRC-32 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>
47    pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
48        self.checksum_crc32.as_deref()
49    }
50    /// <p>The base64-encoded, 32-bit CRC-32C 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>
51    pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
52        self.checksum_crc32_c.as_deref()
53    }
54    /// <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>
55    pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
56        self.checksum_sha1.as_deref()
57    }
58    /// <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>
59    pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
60        self.checksum_sha256.as_deref()
61    }
62    /// <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>
63    /// <p>This functionality is not supported for directory buckets.</p>
64    /// </note>
65    pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
66        self.sse_customer_algorithm.as_deref()
67    }
68    /// <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>
69    /// <p>This functionality is not supported for directory buckets.</p>
70    /// </note>
71    pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
72        self.sse_customer_key_md5.as_deref()
73    }
74    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
75    pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
76        self.ssekms_key_id.as_deref()
77    }
78    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
79    pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
80        self.bucket_key_enabled
81    }
82    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
83    /// <p>This functionality is not supported for directory buckets.</p>
84    /// </note>
85    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
86        self.request_charged.as_ref()
87    }
88}
89impl ::std::fmt::Debug for UploadPartOutput {
90    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
91        let mut formatter = f.debug_struct("UploadPartOutput");
92        formatter.field("server_side_encryption", &self.server_side_encryption);
93        formatter.field("e_tag", &self.e_tag);
94        formatter.field("checksum_crc32", &self.checksum_crc32);
95        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
96        formatter.field("checksum_sha1", &self.checksum_sha1);
97        formatter.field("checksum_sha256", &self.checksum_sha256);
98        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
99        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
100        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
101        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
102        formatter.field("request_charged", &self.request_charged);
103        formatter.field("_extended_request_id", &self._extended_request_id);
104        formatter.field("_request_id", &self._request_id);
105        formatter.finish()
106    }
107}
108impl crate::s3_request_id::RequestIdExt for UploadPartOutput {
109    fn extended_request_id(&self) -> Option<&str> {
110        self._extended_request_id.as_deref()
111    }
112}
113impl ::aws_types::request_id::RequestId for UploadPartOutput {
114    fn request_id(&self) -> Option<&str> {
115        self._request_id.as_deref()
116    }
117}
118impl UploadPartOutput {
119    /// Creates a new builder-style object to manufacture [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
120    pub fn builder() -> crate::operation::upload_part::builders::UploadPartOutputBuilder {
121        crate::operation::upload_part::builders::UploadPartOutputBuilder::default()
122    }
123}
124
125/// A builder for [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
126#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
127#[non_exhaustive]
128pub struct UploadPartOutputBuilder {
129    pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
130    pub(crate) e_tag: ::std::option::Option<::std::string::String>,
131    pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
132    pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
133    pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
134    pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
135    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
136    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
137    pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
138    pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
139    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
140    _extended_request_id: Option<String>,
141    _request_id: Option<String>,
142}
143impl UploadPartOutputBuilder {
144    /// <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>
145    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
146        self.server_side_encryption = ::std::option::Option::Some(input);
147        self
148    }
149    /// <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>
150    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
151        self.server_side_encryption = input;
152        self
153    }
154    /// <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>
155    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
156        &self.server_side_encryption
157    }
158    /// <p>Entity tag for the uploaded object.</p>
159    pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160        self.e_tag = ::std::option::Option::Some(input.into());
161        self
162    }
163    /// <p>Entity tag for the uploaded object.</p>
164    pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165        self.e_tag = input;
166        self
167    }
168    /// <p>Entity tag for the uploaded object.</p>
169    pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
170        &self.e_tag
171    }
172    /// <p>The base64-encoded, 32-bit CRC-32 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>
173    pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.checksum_crc32 = ::std::option::Option::Some(input.into());
175        self
176    }
177    /// <p>The base64-encoded, 32-bit CRC-32 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>
178    pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.checksum_crc32 = input;
180        self
181    }
182    /// <p>The base64-encoded, 32-bit CRC-32 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>
183    pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
184        &self.checksum_crc32
185    }
186    /// <p>The base64-encoded, 32-bit CRC-32C 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>
187    pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188        self.checksum_crc32_c = ::std::option::Option::Some(input.into());
189        self
190    }
191    /// <p>The base64-encoded, 32-bit CRC-32C 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>
192    pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
193        self.checksum_crc32_c = input;
194        self
195    }
196    /// <p>The base64-encoded, 32-bit CRC-32C 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>
197    pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
198        &self.checksum_crc32_c
199    }
200    /// <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>
201    pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
202        self.checksum_sha1 = ::std::option::Option::Some(input.into());
203        self
204    }
205    /// <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>
206    pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
207        self.checksum_sha1 = input;
208        self
209    }
210    /// <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>
211    pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
212        &self.checksum_sha1
213    }
214    /// <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>
215    pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
216        self.checksum_sha256 = ::std::option::Option::Some(input.into());
217        self
218    }
219    /// <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>
220    pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
221        self.checksum_sha256 = input;
222        self
223    }
224    /// <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>
225    pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
226        &self.checksum_sha256
227    }
228    /// <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>
229    /// <p>This functionality is not supported for directory buckets.</p>
230    /// </note>
231    pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232        self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
233        self
234    }
235    /// <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>
236    /// <p>This functionality is not supported for directory buckets.</p>
237    /// </note>
238    pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
239        self.sse_customer_algorithm = input;
240        self
241    }
242    /// <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>
243    /// <p>This functionality is not supported for directory buckets.</p>
244    /// </note>
245    pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
246        &self.sse_customer_algorithm
247    }
248    /// <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>
249    /// <p>This functionality is not supported for directory buckets.</p>
250    /// </note>
251    pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252        self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
253        self
254    }
255    /// <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>
256    /// <p>This functionality is not supported for directory buckets.</p>
257    /// </note>
258    pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
259        self.sse_customer_key_md5 = input;
260        self
261    }
262    /// <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>
263    /// <p>This functionality is not supported for directory buckets.</p>
264    /// </note>
265    pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
266        &self.sse_customer_key_md5
267    }
268    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
269    pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270        self.ssekms_key_id = ::std::option::Option::Some(input.into());
271        self
272    }
273    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
274    pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275        self.ssekms_key_id = input;
276        self
277    }
278    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
279    pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
280        &self.ssekms_key_id
281    }
282    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
283    pub fn bucket_key_enabled(mut self, input: bool) -> Self {
284        self.bucket_key_enabled = ::std::option::Option::Some(input);
285        self
286    }
287    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
288    pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
289        self.bucket_key_enabled = input;
290        self
291    }
292    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
293    pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
294        &self.bucket_key_enabled
295    }
296    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
297    /// <p>This functionality is not supported for directory buckets.</p>
298    /// </note>
299    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
300        self.request_charged = ::std::option::Option::Some(input);
301        self
302    }
303    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
304    /// <p>This functionality is not supported for directory buckets.</p>
305    /// </note>
306    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
307        self.request_charged = input;
308        self
309    }
310    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
311    /// <p>This functionality is not supported for directory buckets.</p>
312    /// </note>
313    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
314        &self.request_charged
315    }
316    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
317        self._extended_request_id = Some(extended_request_id.into());
318        self
319    }
320
321    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
322        self._extended_request_id = extended_request_id;
323        self
324    }
325    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
326        self._request_id = Some(request_id.into());
327        self
328    }
329
330    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
331        self._request_id = request_id;
332        self
333    }
334    /// Consumes the builder and constructs a [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
335    pub fn build(self) -> crate::operation::upload_part::UploadPartOutput {
336        crate::operation::upload_part::UploadPartOutput {
337            server_side_encryption: self.server_side_encryption,
338            e_tag: self.e_tag,
339            checksum_crc32: self.checksum_crc32,
340            checksum_crc32_c: self.checksum_crc32_c,
341            checksum_sha1: self.checksum_sha1,
342            checksum_sha256: self.checksum_sha256,
343            sse_customer_algorithm: self.sse_customer_algorithm,
344            sse_customer_key_md5: self.sse_customer_key_md5,
345            ssekms_key_id: self.ssekms_key_id,
346            bucket_key_enabled: self.bucket_key_enabled,
347            request_charged: self.request_charged,
348            _extended_request_id: self._extended_request_id,
349            _request_id: self._request_id,
350        }
351    }
352}
353impl ::std::fmt::Debug for UploadPartOutputBuilder {
354    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
355        let mut formatter = f.debug_struct("UploadPartOutputBuilder");
356        formatter.field("server_side_encryption", &self.server_side_encryption);
357        formatter.field("e_tag", &self.e_tag);
358        formatter.field("checksum_crc32", &self.checksum_crc32);
359        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
360        formatter.field("checksum_sha1", &self.checksum_sha1);
361        formatter.field("checksum_sha256", &self.checksum_sha256);
362        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
363        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
364        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
365        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
366        formatter.field("request_charged", &self.request_charged);
367        formatter.field("_extended_request_id", &self._extended_request_id);
368        formatter.field("_request_id", &self._request_id);
369        formatter.finish()
370    }
371}