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}