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