aws_sdk_s3/operation/complete_multipart_upload/_complete_multipart_upload_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 CompleteMultipartUploadOutput {
6 /// <p>The URI that identifies the newly created object.</p>
7 pub location: ::std::option::Option<::std::string::String>,
8 /// <p>The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.</p><note>
9 /// <p>Access points are not supported by directory buckets.</p>
10 /// </note>
11 pub bucket: ::std::option::Option<::std::string::String>,
12 /// <p>The object key of the newly created object.</p>
13 pub key: ::std::option::Option<::std::string::String>,
14 /// <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>
15 /// <p>This functionality is not supported for directory buckets.</p>
16 /// </note>
17 pub expiration: ::std::option::Option<::std::string::String>,
18 /// <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
19 pub e_tag: ::std::option::Option<::std::string::String>,
20 /// <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
21 pub checksum_crc32: ::std::option::Option<::std::string::String>,
22 /// <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
23 pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
24 /// <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>
25 pub checksum_sha1: ::std::option::Option<::std::string::String>,
26 /// <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>
27 pub checksum_sha256: ::std::option::Option<::std::string::String>,
28 /// <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
29 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
30 /// <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>
31 /// <p>This functionality is not supported for directory buckets.</p>
32 /// </note>
33 pub version_id: ::std::option::Option<::std::string::String>,
34 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
35 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
36 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
37 pub bucket_key_enabled: ::std::option::Option<bool>,
38 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
39 /// <p>This functionality is not supported for directory buckets.</p>
40 /// </note>
41 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
42 _extended_request_id: Option<String>,
43 _request_id: Option<String>,
44}
45impl CompleteMultipartUploadOutput {
46 /// <p>The URI that identifies the newly created object.</p>
47 pub fn location(&self) -> ::std::option::Option<&str> {
48 self.location.as_deref()
49 }
50 /// <p>The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.</p><note>
51 /// <p>Access points are not supported by directory buckets.</p>
52 /// </note>
53 pub fn bucket(&self) -> ::std::option::Option<&str> {
54 self.bucket.as_deref()
55 }
56 /// <p>The object key of the newly created object.</p>
57 pub fn key(&self) -> ::std::option::Option<&str> {
58 self.key.as_deref()
59 }
60 /// <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>
61 /// <p>This functionality is not supported for directory buckets.</p>
62 /// </note>
63 pub fn expiration(&self) -> ::std::option::Option<&str> {
64 self.expiration.as_deref()
65 }
66 /// <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
67 pub fn e_tag(&self) -> ::std::option::Option<&str> {
68 self.e_tag.as_deref()
69 }
70 /// <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
71 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
72 self.checksum_crc32.as_deref()
73 }
74 /// <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
75 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
76 self.checksum_crc32_c.as_deref()
77 }
78 /// <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>
79 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
80 self.checksum_sha1.as_deref()
81 }
82 /// <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>
83 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
84 self.checksum_sha256.as_deref()
85 }
86 /// <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
87 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
88 self.server_side_encryption.as_ref()
89 }
90 /// <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>
91 /// <p>This functionality is not supported for directory buckets.</p>
92 /// </note>
93 pub fn version_id(&self) -> ::std::option::Option<&str> {
94 self.version_id.as_deref()
95 }
96 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
97 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
98 self.ssekms_key_id.as_deref()
99 }
100 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
101 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
102 self.bucket_key_enabled
103 }
104 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
105 /// <p>This functionality is not supported for directory buckets.</p>
106 /// </note>
107 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
108 self.request_charged.as_ref()
109 }
110}
111impl ::std::fmt::Debug for CompleteMultipartUploadOutput {
112 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
113 let mut formatter = f.debug_struct("CompleteMultipartUploadOutput");
114 formatter.field("location", &self.location);
115 formatter.field("bucket", &self.bucket);
116 formatter.field("key", &self.key);
117 formatter.field("expiration", &self.expiration);
118 formatter.field("e_tag", &self.e_tag);
119 formatter.field("checksum_crc32", &self.checksum_crc32);
120 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
121 formatter.field("checksum_sha1", &self.checksum_sha1);
122 formatter.field("checksum_sha256", &self.checksum_sha256);
123 formatter.field("server_side_encryption", &self.server_side_encryption);
124 formatter.field("version_id", &self.version_id);
125 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
126 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
127 formatter.field("request_charged", &self.request_charged);
128 formatter.field("_extended_request_id", &self._extended_request_id);
129 formatter.field("_request_id", &self._request_id);
130 formatter.finish()
131 }
132}
133impl crate::s3_request_id::RequestIdExt for CompleteMultipartUploadOutput {
134 fn extended_request_id(&self) -> Option<&str> {
135 self._extended_request_id.as_deref()
136 }
137}
138impl ::aws_types::request_id::RequestId for CompleteMultipartUploadOutput {
139 fn request_id(&self) -> Option<&str> {
140 self._request_id.as_deref()
141 }
142}
143impl CompleteMultipartUploadOutput {
144 /// Creates a new builder-style object to manufacture [`CompleteMultipartUploadOutput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput).
145 pub fn builder() -> crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadOutputBuilder {
146 crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadOutputBuilder::default()
147 }
148}
149
150/// A builder for [`CompleteMultipartUploadOutput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput).
151#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
152#[non_exhaustive]
153pub struct CompleteMultipartUploadOutputBuilder {
154 pub(crate) location: ::std::option::Option<::std::string::String>,
155 pub(crate) bucket: ::std::option::Option<::std::string::String>,
156 pub(crate) key: ::std::option::Option<::std::string::String>,
157 pub(crate) expiration: ::std::option::Option<::std::string::String>,
158 pub(crate) e_tag: ::std::option::Option<::std::string::String>,
159 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
160 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
161 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
162 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
163 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
164 pub(crate) version_id: ::std::option::Option<::std::string::String>,
165 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
166 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
167 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
168 _extended_request_id: Option<String>,
169 _request_id: Option<String>,
170}
171impl CompleteMultipartUploadOutputBuilder {
172 /// <p>The URI that identifies the newly created object.</p>
173 pub fn location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174 self.location = ::std::option::Option::Some(input.into());
175 self
176 }
177 /// <p>The URI that identifies the newly created object.</p>
178 pub fn set_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179 self.location = input;
180 self
181 }
182 /// <p>The URI that identifies the newly created object.</p>
183 pub fn get_location(&self) -> &::std::option::Option<::std::string::String> {
184 &self.location
185 }
186 /// <p>The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.</p><note>
187 /// <p>Access points are not supported by directory buckets.</p>
188 /// </note>
189 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190 self.bucket = ::std::option::Option::Some(input.into());
191 self
192 }
193 /// <p>The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.</p><note>
194 /// <p>Access points are not supported by directory buckets.</p>
195 /// </note>
196 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197 self.bucket = input;
198 self
199 }
200 /// <p>The name of the bucket that contains the newly created object. Does not return the access point ARN or access point alias if used.</p><note>
201 /// <p>Access points are not supported by directory buckets.</p>
202 /// </note>
203 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
204 &self.bucket
205 }
206 /// <p>The object key of the newly created object.</p>
207 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
208 self.key = ::std::option::Option::Some(input.into());
209 self
210 }
211 /// <p>The object key of the newly created object.</p>
212 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
213 self.key = input;
214 self
215 }
216 /// <p>The object key of the newly created object.</p>
217 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
218 &self.key
219 }
220 /// <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>
221 /// <p>This functionality is not supported for directory buckets.</p>
222 /// </note>
223 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224 self.expiration = ::std::option::Option::Some(input.into());
225 self
226 }
227 /// <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>
228 /// <p>This functionality is not supported for directory buckets.</p>
229 /// </note>
230 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
231 self.expiration = input;
232 self
233 }
234 /// <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>
235 /// <p>This functionality is not supported for directory buckets.</p>
236 /// </note>
237 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
238 &self.expiration
239 }
240 /// <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
241 pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
242 self.e_tag = ::std::option::Option::Some(input.into());
243 self
244 }
245 /// <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, 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>
246 pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
247 self.e_tag = input;
248 self
249 }
250 /// <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, 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>
251 pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
252 &self.e_tag
253 }
254 /// <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
255 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
256 self.checksum_crc32 = ::std::option::Option::Some(input.into());
257 self
258 }
259 /// <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
260 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
261 self.checksum_crc32 = input;
262 self
263 }
264 /// <p>The base64-encoded, 32-bit CRC-32 checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
265 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
266 &self.checksum_crc32
267 }
268 /// <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
269 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
270 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
271 self
272 }
273 /// <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
274 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
275 self.checksum_crc32_c = input;
276 self
277 }
278 /// <p>The base64-encoded, 32-bit CRC-32C checksum of the object. This will only be present if it was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
279 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
280 &self.checksum_crc32_c
281 }
282 /// <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>
283 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
284 self.checksum_sha1 = ::std::option::Option::Some(input.into());
285 self
286 }
287 /// <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>
288 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
289 self.checksum_sha1 = input;
290 self
291 }
292 /// <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>
293 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
294 &self.checksum_sha1
295 }
296 /// <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>
297 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
298 self.checksum_sha256 = ::std::option::Option::Some(input.into());
299 self
300 }
301 /// <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>
302 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
303 self.checksum_sha256 = input;
304 self
305 }
306 /// <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>
307 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
308 &self.checksum_sha256
309 }
310 /// <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
311 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
312 self.server_side_encryption = ::std::option::Option::Some(input);
313 self
314 }
315 /// <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
316 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
317 self.server_side_encryption = input;
318 self
319 }
320 /// <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
321 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
322 &self.server_side_encryption
323 }
324 /// <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>
325 /// <p>This functionality is not supported for directory buckets.</p>
326 /// </note>
327 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
328 self.version_id = ::std::option::Option::Some(input.into());
329 self
330 }
331 /// <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>
332 /// <p>This functionality is not supported for directory buckets.</p>
333 /// </note>
334 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
335 self.version_id = input;
336 self
337 }
338 /// <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>
339 /// <p>This functionality is not supported for directory buckets.</p>
340 /// </note>
341 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
342 &self.version_id
343 }
344 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
345 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
346 self.ssekms_key_id = ::std::option::Option::Some(input.into());
347 self
348 }
349 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
350 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
351 self.ssekms_key_id = input;
352 self
353 }
354 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
355 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
356 &self.ssekms_key_id
357 }
358 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
359 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
360 self.bucket_key_enabled = ::std::option::Option::Some(input);
361 self
362 }
363 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
364 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
365 self.bucket_key_enabled = input;
366 self
367 }
368 /// <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
369 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
370 &self.bucket_key_enabled
371 }
372 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
373 /// <p>This functionality is not supported for directory buckets.</p>
374 /// </note>
375 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
376 self.request_charged = ::std::option::Option::Some(input);
377 self
378 }
379 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
380 /// <p>This functionality is not supported for directory buckets.</p>
381 /// </note>
382 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
383 self.request_charged = input;
384 self
385 }
386 /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
387 /// <p>This functionality is not supported for directory buckets.</p>
388 /// </note>
389 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
390 &self.request_charged
391 }
392 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
393 self._extended_request_id = Some(extended_request_id.into());
394 self
395 }
396
397 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
398 self._extended_request_id = extended_request_id;
399 self
400 }
401 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
402 self._request_id = Some(request_id.into());
403 self
404 }
405
406 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
407 self._request_id = request_id;
408 self
409 }
410 /// Consumes the builder and constructs a [`CompleteMultipartUploadOutput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput).
411 pub fn build(self) -> crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput {
412 crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput {
413 location: self.location,
414 bucket: self.bucket,
415 key: self.key,
416 expiration: self.expiration,
417 e_tag: self.e_tag,
418 checksum_crc32: self.checksum_crc32,
419 checksum_crc32_c: self.checksum_crc32_c,
420 checksum_sha1: self.checksum_sha1,
421 checksum_sha256: self.checksum_sha256,
422 server_side_encryption: self.server_side_encryption,
423 version_id: self.version_id,
424 ssekms_key_id: self.ssekms_key_id,
425 bucket_key_enabled: self.bucket_key_enabled,
426 request_charged: self.request_charged,
427 _extended_request_id: self._extended_request_id,
428 _request_id: self._request_id,
429 }
430 }
431}
432impl ::std::fmt::Debug for CompleteMultipartUploadOutputBuilder {
433 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
434 let mut formatter = f.debug_struct("CompleteMultipartUploadOutputBuilder");
435 formatter.field("location", &self.location);
436 formatter.field("bucket", &self.bucket);
437 formatter.field("key", &self.key);
438 formatter.field("expiration", &self.expiration);
439 formatter.field("e_tag", &self.e_tag);
440 formatter.field("checksum_crc32", &self.checksum_crc32);
441 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
442 formatter.field("checksum_sha1", &self.checksum_sha1);
443 formatter.field("checksum_sha256", &self.checksum_sha256);
444 formatter.field("server_side_encryption", &self.server_side_encryption);
445 formatter.field("version_id", &self.version_id);
446 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
447 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
448 formatter.field("request_charged", &self.request_charged);
449 formatter.field("_extended_request_id", &self._extended_request_id);
450 formatter.field("_request_id", &self._request_id);
451 formatter.finish()
452 }
453}