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