Skip to main content

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 or Amazon FSx.</p><note>
7    /// <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>
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 <code>CRC32</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">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 <code>CRC32C</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">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, 64-bit <code>CRC64NVME</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
17    pub checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
18    /// <p>The Base64 encoded, 160-bit <code>SHA1</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
19    pub checksum_sha1: ::std::option::Option<::std::string::String>,
20    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
21    pub checksum_sha256: ::std::option::Option<::std::string::String>,
22    /// <p>The Base64 encoded, 512-bit <code>SHA512</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
23    pub checksum_sha512: ::std::option::Option<::std::string::String>,
24    /// <p>The Base64 encoded, 128-bit <code>MD5</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
25    pub checksum_md5: ::std::option::Option<::std::string::String>,
26    /// <p>The Base64 encoded, 64-bit <code>XXHASH64</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
27    pub checksum_xxhash64: ::std::option::Option<::std::string::String>,
28    /// <p>The Base64 encoded, 64-bit <code>XXHASH3</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
29    pub checksum_xxhash3: ::std::option::Option<::std::string::String>,
30    /// <p>The Base64 encoded, 128-bit <code>XXHASH128</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
31    pub checksum_xxhash128: ::std::option::Option<::std::string::String>,
32    /// <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>
33    /// <p>This functionality is not supported for directory buckets.</p>
34    /// </note>
35    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
36    /// <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>
37    /// <p>This functionality is not supported for directory buckets.</p>
38    /// </note>
39    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
40    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
41    pub ssekms_key_id: ::std::option::Option<::std::string::String>,
42    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
43    pub bucket_key_enabled: ::std::option::Option<bool>,
44    /// <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>
45    /// <p>This functionality is not supported for directory buckets.</p>
46    /// </note>
47    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
48    _extended_request_id: Option<String>,
49    _request_id: Option<String>,
50}
51impl UploadPartOutput {
52    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
53    /// <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>
54    /// </note>
55    pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
56        self.server_side_encryption.as_ref()
57    }
58    /// <p>Entity tag for the uploaded object.</p>
59    pub fn e_tag(&self) -> ::std::option::Option<&str> {
60        self.e_tag.as_deref()
61    }
62    /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
63    pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
64        self.checksum_crc32.as_deref()
65    }
66    /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
67    pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
68        self.checksum_crc32_c.as_deref()
69    }
70    /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
71    pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
72        self.checksum_crc64_nvme.as_deref()
73    }
74    /// <p>The Base64 encoded, 160-bit <code>SHA1</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
75    pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
76        self.checksum_sha1.as_deref()
77    }
78    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
79    pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
80        self.checksum_sha256.as_deref()
81    }
82    /// <p>The Base64 encoded, 512-bit <code>SHA512</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
83    pub fn checksum_sha512(&self) -> ::std::option::Option<&str> {
84        self.checksum_sha512.as_deref()
85    }
86    /// <p>The Base64 encoded, 128-bit <code>MD5</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
87    pub fn checksum_md5(&self) -> ::std::option::Option<&str> {
88        self.checksum_md5.as_deref()
89    }
90    /// <p>The Base64 encoded, 64-bit <code>XXHASH64</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
91    pub fn checksum_xxhash64(&self) -> ::std::option::Option<&str> {
92        self.checksum_xxhash64.as_deref()
93    }
94    /// <p>The Base64 encoded, 64-bit <code>XXHASH3</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
95    pub fn checksum_xxhash3(&self) -> ::std::option::Option<&str> {
96        self.checksum_xxhash3.as_deref()
97    }
98    /// <p>The Base64 encoded, 128-bit <code>XXHASH128</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
99    pub fn checksum_xxhash128(&self) -> ::std::option::Option<&str> {
100        self.checksum_xxhash128.as_deref()
101    }
102    /// <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>
103    /// <p>This functionality is not supported for directory buckets.</p>
104    /// </note>
105    pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
106        self.sse_customer_algorithm.as_deref()
107    }
108    /// <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>
109    /// <p>This functionality is not supported for directory buckets.</p>
110    /// </note>
111    pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
112        self.sse_customer_key_md5.as_deref()
113    }
114    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
115    pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
116        self.ssekms_key_id.as_deref()
117    }
118    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
119    pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
120        self.bucket_key_enabled
121    }
122    /// <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>
123    /// <p>This functionality is not supported for directory buckets.</p>
124    /// </note>
125    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
126        self.request_charged.as_ref()
127    }
128}
129impl ::std::fmt::Debug for UploadPartOutput {
130    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
131        let mut formatter = f.debug_struct("UploadPartOutput");
132        formatter.field("server_side_encryption", &self.server_side_encryption);
133        formatter.field("e_tag", &self.e_tag);
134        formatter.field("checksum_crc32", &self.checksum_crc32);
135        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
136        formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
137        formatter.field("checksum_sha1", &self.checksum_sha1);
138        formatter.field("checksum_sha256", &self.checksum_sha256);
139        formatter.field("checksum_sha512", &self.checksum_sha512);
140        formatter.field("checksum_md5", &self.checksum_md5);
141        formatter.field("checksum_xxhash64", &self.checksum_xxhash64);
142        formatter.field("checksum_xxhash3", &self.checksum_xxhash3);
143        formatter.field("checksum_xxhash128", &self.checksum_xxhash128);
144        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
145        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
146        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
147        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
148        formatter.field("request_charged", &self.request_charged);
149        formatter.field("_extended_request_id", &self._extended_request_id);
150        formatter.field("_request_id", &self._request_id);
151        formatter.finish()
152    }
153}
154impl crate::s3_request_id::RequestIdExt for UploadPartOutput {
155    fn extended_request_id(&self) -> Option<&str> {
156        self._extended_request_id.as_deref()
157    }
158}
159impl ::aws_types::request_id::RequestId for UploadPartOutput {
160    fn request_id(&self) -> Option<&str> {
161        self._request_id.as_deref()
162    }
163}
164impl UploadPartOutput {
165    /// Creates a new builder-style object to manufacture [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
166    pub fn builder() -> crate::operation::upload_part::builders::UploadPartOutputBuilder {
167        crate::operation::upload_part::builders::UploadPartOutputBuilder::default()
168    }
169}
170
171/// A builder for [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
172#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
173#[non_exhaustive]
174pub struct UploadPartOutputBuilder {
175    pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
176    pub(crate) e_tag: ::std::option::Option<::std::string::String>,
177    pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
178    pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
179    pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
180    pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
181    pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
182    pub(crate) checksum_sha512: ::std::option::Option<::std::string::String>,
183    pub(crate) checksum_md5: ::std::option::Option<::std::string::String>,
184    pub(crate) checksum_xxhash64: ::std::option::Option<::std::string::String>,
185    pub(crate) checksum_xxhash3: ::std::option::Option<::std::string::String>,
186    pub(crate) checksum_xxhash128: ::std::option::Option<::std::string::String>,
187    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
188    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
189    pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
190    pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
191    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
192    _extended_request_id: Option<String>,
193    _request_id: Option<String>,
194}
195impl UploadPartOutputBuilder {
196    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
197    /// <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>
198    /// </note>
199    pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
200        self.server_side_encryption = ::std::option::Option::Some(input);
201        self
202    }
203    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
204    /// <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>
205    /// </note>
206    pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
207        self.server_side_encryption = input;
208        self
209    }
210    /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
211    /// <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>
212    /// </note>
213    pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
214        &self.server_side_encryption
215    }
216    /// <p>Entity tag for the uploaded object.</p>
217    pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218        self.e_tag = ::std::option::Option::Some(input.into());
219        self
220    }
221    /// <p>Entity tag for the uploaded object.</p>
222    pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223        self.e_tag = input;
224        self
225    }
226    /// <p>Entity tag for the uploaded object.</p>
227    pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
228        &self.e_tag
229    }
230    /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
231    pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232        self.checksum_crc32 = ::std::option::Option::Some(input.into());
233        self
234    }
235    /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
236    pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
237        self.checksum_crc32 = input;
238        self
239    }
240    /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
241    pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
242        &self.checksum_crc32
243    }
244    /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
245    pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
246        self.checksum_crc32_c = ::std::option::Option::Some(input.into());
247        self
248    }
249    /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
250    pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
251        self.checksum_crc32_c = input;
252        self
253    }
254    /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
255    pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
256        &self.checksum_crc32_c
257    }
258    /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
259    pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260        self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
261        self
262    }
263    /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
264    pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
265        self.checksum_crc64_nvme = input;
266        self
267    }
268    /// <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
269    pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
270        &self.checksum_crc64_nvme
271    }
272    /// <p>The Base64 encoded, 160-bit <code>SHA1</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
273    pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
274        self.checksum_sha1 = ::std::option::Option::Some(input.into());
275        self
276    }
277    /// <p>The Base64 encoded, 160-bit <code>SHA1</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
278    pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
279        self.checksum_sha1 = input;
280        self
281    }
282    /// <p>The Base64 encoded, 160-bit <code>SHA1</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
283    pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
284        &self.checksum_sha1
285    }
286    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
287    pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
288        self.checksum_sha256 = ::std::option::Option::Some(input.into());
289        self
290    }
291    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
292    pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
293        self.checksum_sha256 = input;
294        self
295    }
296    /// <p>The Base64 encoded, 256-bit <code>SHA256</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
297    pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
298        &self.checksum_sha256
299    }
300    /// <p>The Base64 encoded, 512-bit <code>SHA512</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
301    pub fn checksum_sha512(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
302        self.checksum_sha512 = ::std::option::Option::Some(input.into());
303        self
304    }
305    /// <p>The Base64 encoded, 512-bit <code>SHA512</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
306    pub fn set_checksum_sha512(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
307        self.checksum_sha512 = input;
308        self
309    }
310    /// <p>The Base64 encoded, 512-bit <code>SHA512</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
311    pub fn get_checksum_sha512(&self) -> &::std::option::Option<::std::string::String> {
312        &self.checksum_sha512
313    }
314    /// <p>The Base64 encoded, 128-bit <code>MD5</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
315    pub fn checksum_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
316        self.checksum_md5 = ::std::option::Option::Some(input.into());
317        self
318    }
319    /// <p>The Base64 encoded, 128-bit <code>MD5</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
320    pub fn set_checksum_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
321        self.checksum_md5 = input;
322        self
323    }
324    /// <p>The Base64 encoded, 128-bit <code>MD5</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
325    pub fn get_checksum_md5(&self) -> &::std::option::Option<::std::string::String> {
326        &self.checksum_md5
327    }
328    /// <p>The Base64 encoded, 64-bit <code>XXHASH64</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
329    pub fn checksum_xxhash64(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
330        self.checksum_xxhash64 = ::std::option::Option::Some(input.into());
331        self
332    }
333    /// <p>The Base64 encoded, 64-bit <code>XXHASH64</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
334    pub fn set_checksum_xxhash64(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
335        self.checksum_xxhash64 = input;
336        self
337    }
338    /// <p>The Base64 encoded, 64-bit <code>XXHASH64</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
339    pub fn get_checksum_xxhash64(&self) -> &::std::option::Option<::std::string::String> {
340        &self.checksum_xxhash64
341    }
342    /// <p>The Base64 encoded, 64-bit <code>XXHASH3</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
343    pub fn checksum_xxhash3(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
344        self.checksum_xxhash3 = ::std::option::Option::Some(input.into());
345        self
346    }
347    /// <p>The Base64 encoded, 64-bit <code>XXHASH3</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
348    pub fn set_checksum_xxhash3(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
349        self.checksum_xxhash3 = input;
350        self
351    }
352    /// <p>The Base64 encoded, 64-bit <code>XXHASH3</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
353    pub fn get_checksum_xxhash3(&self) -> &::std::option::Option<::std::string::String> {
354        &self.checksum_xxhash3
355    }
356    /// <p>The Base64 encoded, 128-bit <code>XXHASH128</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
357    pub fn checksum_xxhash128(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
358        self.checksum_xxhash128 = ::std::option::Option::Some(input.into());
359        self
360    }
361    /// <p>The Base64 encoded, 128-bit <code>XXHASH128</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
362    pub fn set_checksum_xxhash128(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
363        self.checksum_xxhash128 = input;
364        self
365    }
366    /// <p>The Base64 encoded, 128-bit <code>XXHASH128</code> checksum of the part. This will only be present if the checksum was provided in the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
367    pub fn get_checksum_xxhash128(&self) -> &::std::option::Option<::std::string::String> {
368        &self.checksum_xxhash128
369    }
370    /// <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>
371    /// <p>This functionality is not supported for directory buckets.</p>
372    /// </note>
373    pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
374        self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
375        self
376    }
377    /// <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>
378    /// <p>This functionality is not supported for directory buckets.</p>
379    /// </note>
380    pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
381        self.sse_customer_algorithm = input;
382        self
383    }
384    /// <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>
385    /// <p>This functionality is not supported for directory buckets.</p>
386    /// </note>
387    pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
388        &self.sse_customer_algorithm
389    }
390    /// <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>
391    /// <p>This functionality is not supported for directory buckets.</p>
392    /// </note>
393    pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
394        self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
395        self
396    }
397    /// <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>
398    /// <p>This functionality is not supported for directory buckets.</p>
399    /// </note>
400    pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
401        self.sse_customer_key_md5 = input;
402        self
403    }
404    /// <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>
405    /// <p>This functionality is not supported for directory buckets.</p>
406    /// </note>
407    pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
408        &self.sse_customer_key_md5
409    }
410    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
411    pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
412        self.ssekms_key_id = ::std::option::Option::Some(input.into());
413        self
414    }
415    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
416    pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
417        self.ssekms_key_id = input;
418        self
419    }
420    /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
421    pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
422        &self.ssekms_key_id
423    }
424    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
425    pub fn bucket_key_enabled(mut self, input: bool) -> Self {
426        self.bucket_key_enabled = ::std::option::Option::Some(input);
427        self
428    }
429    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
430    pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
431        self.bucket_key_enabled = input;
432        self
433    }
434    /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
435    pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
436        &self.bucket_key_enabled
437    }
438    /// <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>
439    /// <p>This functionality is not supported for directory buckets.</p>
440    /// </note>
441    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
442        self.request_charged = ::std::option::Option::Some(input);
443        self
444    }
445    /// <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>
446    /// <p>This functionality is not supported for directory buckets.</p>
447    /// </note>
448    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
449        self.request_charged = input;
450        self
451    }
452    /// <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>
453    /// <p>This functionality is not supported for directory buckets.</p>
454    /// </note>
455    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
456        &self.request_charged
457    }
458    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
459        self._extended_request_id = Some(extended_request_id.into());
460        self
461    }
462
463    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
464        self._extended_request_id = extended_request_id;
465        self
466    }
467    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
468        self._request_id = Some(request_id.into());
469        self
470    }
471
472    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
473        self._request_id = request_id;
474        self
475    }
476    /// Consumes the builder and constructs a [`UploadPartOutput`](crate::operation::upload_part::UploadPartOutput).
477    pub fn build(self) -> crate::operation::upload_part::UploadPartOutput {
478        crate::operation::upload_part::UploadPartOutput {
479            server_side_encryption: self.server_side_encryption,
480            e_tag: self.e_tag,
481            checksum_crc32: self.checksum_crc32,
482            checksum_crc32_c: self.checksum_crc32_c,
483            checksum_crc64_nvme: self.checksum_crc64_nvme,
484            checksum_sha1: self.checksum_sha1,
485            checksum_sha256: self.checksum_sha256,
486            checksum_sha512: self.checksum_sha512,
487            checksum_md5: self.checksum_md5,
488            checksum_xxhash64: self.checksum_xxhash64,
489            checksum_xxhash3: self.checksum_xxhash3,
490            checksum_xxhash128: self.checksum_xxhash128,
491            sse_customer_algorithm: self.sse_customer_algorithm,
492            sse_customer_key_md5: self.sse_customer_key_md5,
493            ssekms_key_id: self.ssekms_key_id,
494            bucket_key_enabled: self.bucket_key_enabled,
495            request_charged: self.request_charged,
496            _extended_request_id: self._extended_request_id,
497            _request_id: self._request_id,
498        }
499    }
500}
501impl ::std::fmt::Debug for UploadPartOutputBuilder {
502    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
503        let mut formatter = f.debug_struct("UploadPartOutputBuilder");
504        formatter.field("server_side_encryption", &self.server_side_encryption);
505        formatter.field("e_tag", &self.e_tag);
506        formatter.field("checksum_crc32", &self.checksum_crc32);
507        formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
508        formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
509        formatter.field("checksum_sha1", &self.checksum_sha1);
510        formatter.field("checksum_sha256", &self.checksum_sha256);
511        formatter.field("checksum_sha512", &self.checksum_sha512);
512        formatter.field("checksum_md5", &self.checksum_md5);
513        formatter.field("checksum_xxhash64", &self.checksum_xxhash64);
514        formatter.field("checksum_xxhash3", &self.checksum_xxhash3);
515        formatter.field("checksum_xxhash128", &self.checksum_xxhash128);
516        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
517        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
518        formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
519        formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
520        formatter.field("request_charged", &self.request_charged);
521        formatter.field("_extended_request_id", &self._extended_request_id);
522        formatter.field("_request_id", &self._request_id);
523        formatter.finish()
524    }
525}