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