aws_sdk_s3/operation/complete_multipart_upload/_complete_multipart_upload_input.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 CompleteMultipartUploadInput {
6 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
7 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
8 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
9 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
10 /// </note>
11 /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
12 pub bucket: ::std::option::Option<::std::string::String>,
13 /// <p>Object key for which the multipart upload was initiated.</p>
14 pub key: ::std::option::Option<::std::string::String>,
15 /// <p>The container for the multipart upload request information.</p>
16 pub multipart_upload: ::std::option::Option<crate::types::CompletedMultipartUpload>,
17 /// <p>ID for the initiated multipart upload.</p>
18 pub upload_id: ::std::option::Option<::std::string::String>,
19 /// <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, 32-bit <code>CRC32</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
20 pub checksum_crc32: ::std::option::Option<::std::string::String>,
21 /// <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, 32-bit <code>CRC32C</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
22 pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
23 /// <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>
24 pub checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
25 /// <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, 160-bit <code>SHA1</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
26 pub checksum_sha1: ::std::option::Option<::std::string::String>,
27 /// <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, 256-bit <code>SHA256</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
28 pub checksum_sha256: ::std::option::Option<::std::string::String>,
29 /// <p>This header specifies the checksum type of the object, 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 that was specified. If the checksum type doesn’t match the checksum type that was specified for the object during the <code>CreateMultipartUpload</code> request, it’ll result in a <code>BadDigest</code> error. For more information, see Checking object integrity in the Amazon S3 User Guide.</p>
30 pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
31 /// <p>The expected total object size of the multipart upload request. If there’s a mismatch between the specified object size value and the actual object size value, it results in an <code>HTTP 400 InvalidRequest</code> error.</p>
32 pub mpu_object_size: ::std::option::Option<i64>,
33 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
34 /// <p>This functionality is not supported for directory buckets.</p>
35 /// </note>
36 pub request_payer: ::std::option::Option<crate::types::RequestPayer>,
37 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
38 pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
39 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
40 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
41 /// <p>Expects the ETag value as a string.</p>
42 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
43 pub if_match: ::std::option::Option<::std::string::String>,
44 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
45 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
46 /// <p>Expects the '*' (asterisk) character.</p>
47 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
48 pub if_none_match: ::std::option::Option<::std::string::String>,
49 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
50 /// <p>This functionality is not supported for directory buckets.</p>
51 /// </note>
52 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
53 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
54 /// <p>This functionality is not supported for directory buckets.</p>
55 /// </note>
56 pub sse_customer_key: ::std::option::Option<::std::string::String>,
57 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
58 /// <p>This functionality is not supported for directory buckets.</p>
59 /// </note>
60 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
61}
62impl CompleteMultipartUploadInput {
63 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
64 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
65 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
66 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
67 /// </note>
68 /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
69 pub fn bucket(&self) -> ::std::option::Option<&str> {
70 self.bucket.as_deref()
71 }
72 /// <p>Object key for which the multipart upload was initiated.</p>
73 pub fn key(&self) -> ::std::option::Option<&str> {
74 self.key.as_deref()
75 }
76 /// <p>The container for the multipart upload request information.</p>
77 pub fn multipart_upload(&self) -> ::std::option::Option<&crate::types::CompletedMultipartUpload> {
78 self.multipart_upload.as_ref()
79 }
80 /// <p>ID for the initiated multipart upload.</p>
81 pub fn upload_id(&self) -> ::std::option::Option<&str> {
82 self.upload_id.as_deref()
83 }
84 /// <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, 32-bit <code>CRC32</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
85 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
86 self.checksum_crc32.as_deref()
87 }
88 /// <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, 32-bit <code>CRC32C</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
89 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
90 self.checksum_crc32_c.as_deref()
91 }
92 /// <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>
93 pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
94 self.checksum_crc64_nvme.as_deref()
95 }
96 /// <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, 160-bit <code>SHA1</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
97 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
98 self.checksum_sha1.as_deref()
99 }
100 /// <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, 256-bit <code>SHA256</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
101 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
102 self.checksum_sha256.as_deref()
103 }
104 /// <p>This header specifies the checksum type of the object, 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 that was specified. If the checksum type doesn’t match the checksum type that was specified for the object during the <code>CreateMultipartUpload</code> request, it’ll result in a <code>BadDigest</code> error. For more information, see Checking object integrity in the Amazon S3 User Guide.</p>
105 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
106 self.checksum_type.as_ref()
107 }
108 /// <p>The expected total object size of the multipart upload request. If there’s a mismatch between the specified object size value and the actual object size value, it results in an <code>HTTP 400 InvalidRequest</code> error.</p>
109 pub fn mpu_object_size(&self) -> ::std::option::Option<i64> {
110 self.mpu_object_size
111 }
112 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
113 /// <p>This functionality is not supported for directory buckets.</p>
114 /// </note>
115 pub fn request_payer(&self) -> ::std::option::Option<&crate::types::RequestPayer> {
116 self.request_payer.as_ref()
117 }
118 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
119 pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
120 self.expected_bucket_owner.as_deref()
121 }
122 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
123 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
124 /// <p>Expects the ETag value as a string.</p>
125 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
126 pub fn if_match(&self) -> ::std::option::Option<&str> {
127 self.if_match.as_deref()
128 }
129 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
130 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
131 /// <p>Expects the '*' (asterisk) character.</p>
132 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
133 pub fn if_none_match(&self) -> ::std::option::Option<&str> {
134 self.if_none_match.as_deref()
135 }
136 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
137 /// <p>This functionality is not supported for directory buckets.</p>
138 /// </note>
139 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
140 self.sse_customer_algorithm.as_deref()
141 }
142 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
143 /// <p>This functionality is not supported for directory buckets.</p>
144 /// </note>
145 pub fn sse_customer_key(&self) -> ::std::option::Option<&str> {
146 self.sse_customer_key.as_deref()
147 }
148 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
149 /// <p>This functionality is not supported for directory buckets.</p>
150 /// </note>
151 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
152 self.sse_customer_key_md5.as_deref()
153 }
154}
155impl ::std::fmt::Debug for CompleteMultipartUploadInput {
156 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
157 let mut formatter = f.debug_struct("CompleteMultipartUploadInput");
158 formatter.field("bucket", &self.bucket);
159 formatter.field("key", &self.key);
160 formatter.field("multipart_upload", &self.multipart_upload);
161 formatter.field("upload_id", &self.upload_id);
162 formatter.field("checksum_crc32", &self.checksum_crc32);
163 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
164 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
165 formatter.field("checksum_sha1", &self.checksum_sha1);
166 formatter.field("checksum_sha256", &self.checksum_sha256);
167 formatter.field("checksum_type", &self.checksum_type);
168 formatter.field("mpu_object_size", &self.mpu_object_size);
169 formatter.field("request_payer", &self.request_payer);
170 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
171 formatter.field("if_match", &self.if_match);
172 formatter.field("if_none_match", &self.if_none_match);
173 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
174 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
175 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
176 formatter.finish()
177 }
178}
179impl CompleteMultipartUploadInput {
180 /// Creates a new builder-style object to manufacture [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
181 pub fn builder() -> crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadInputBuilder {
182 crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadInputBuilder::default()
183 }
184}
185
186/// A builder for [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
187#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
188#[non_exhaustive]
189pub struct CompleteMultipartUploadInputBuilder {
190 pub(crate) bucket: ::std::option::Option<::std::string::String>,
191 pub(crate) key: ::std::option::Option<::std::string::String>,
192 pub(crate) multipart_upload: ::std::option::Option<crate::types::CompletedMultipartUpload>,
193 pub(crate) upload_id: ::std::option::Option<::std::string::String>,
194 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
195 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
196 pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
197 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
198 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
199 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
200 pub(crate) mpu_object_size: ::std::option::Option<i64>,
201 pub(crate) request_payer: ::std::option::Option<crate::types::RequestPayer>,
202 pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
203 pub(crate) if_match: ::std::option::Option<::std::string::String>,
204 pub(crate) if_none_match: ::std::option::Option<::std::string::String>,
205 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
206 pub(crate) sse_customer_key: ::std::option::Option<::std::string::String>,
207 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
208}
209impl CompleteMultipartUploadInputBuilder {
210 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
211 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
212 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
213 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
214 /// </note>
215 /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
216 /// This field is required.
217 pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.bucket = ::std::option::Option::Some(input.into());
219 self
220 }
221 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
222 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
223 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
224 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
225 /// </note>
226 /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
227 pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
228 self.bucket = input;
229 self
230 }
231 /// <p>Name of the bucket to which the multipart upload was initiated.</p>
232 /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
233 /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
234 /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
235 /// </note>
236 /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
237 pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
238 &self.bucket
239 }
240 /// <p>Object key for which the multipart upload was initiated.</p>
241 /// This field is required.
242 pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
243 self.key = ::std::option::Option::Some(input.into());
244 self
245 }
246 /// <p>Object key for which the multipart upload was initiated.</p>
247 pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
248 self.key = input;
249 self
250 }
251 /// <p>Object key for which the multipart upload was initiated.</p>
252 pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
253 &self.key
254 }
255 /// <p>The container for the multipart upload request information.</p>
256 pub fn multipart_upload(mut self, input: crate::types::CompletedMultipartUpload) -> Self {
257 self.multipart_upload = ::std::option::Option::Some(input);
258 self
259 }
260 /// <p>The container for the multipart upload request information.</p>
261 pub fn set_multipart_upload(mut self, input: ::std::option::Option<crate::types::CompletedMultipartUpload>) -> Self {
262 self.multipart_upload = input;
263 self
264 }
265 /// <p>The container for the multipart upload request information.</p>
266 pub fn get_multipart_upload(&self) -> &::std::option::Option<crate::types::CompletedMultipartUpload> {
267 &self.multipart_upload
268 }
269 /// <p>ID for the initiated multipart upload.</p>
270 /// This field is required.
271 pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
272 self.upload_id = ::std::option::Option::Some(input.into());
273 self
274 }
275 /// <p>ID for the initiated multipart upload.</p>
276 pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277 self.upload_id = input;
278 self
279 }
280 /// <p>ID for the initiated multipart upload.</p>
281 pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
282 &self.upload_id
283 }
284 /// <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, 32-bit <code>CRC32</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
285 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
286 self.checksum_crc32 = ::std::option::Option::Some(input.into());
287 self
288 }
289 /// <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, 32-bit <code>CRC32</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
290 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
291 self.checksum_crc32 = input;
292 self
293 }
294 /// <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, 32-bit <code>CRC32</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
295 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
296 &self.checksum_crc32
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, 32-bit <code>CRC32C</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
299 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
300 self.checksum_crc32_c = ::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, 32-bit <code>CRC32C</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
304 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
305 self.checksum_crc32_c = 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, 32-bit <code>CRC32C</code> checksum of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
309 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
310 &self.checksum_crc32_c
311 }
312 /// <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>
313 pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
314 self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
315 self
316 }
317 /// <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>
318 pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
319 self.checksum_crc64_nvme = input;
320 self
321 }
322 /// <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>
323 pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
324 &self.checksum_crc64_nvme
325 }
326 /// <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, 160-bit <code>SHA1</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
327 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
328 self.checksum_sha1 = ::std::option::Option::Some(input.into());
329 self
330 }
331 /// <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, 160-bit <code>SHA1</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
332 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
333 self.checksum_sha1 = input;
334 self
335 }
336 /// <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, 160-bit <code>SHA1</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
337 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
338 &self.checksum_sha1
339 }
340 /// <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, 256-bit <code>SHA256</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
341 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
342 self.checksum_sha256 = ::std::option::Option::Some(input.into());
343 self
344 }
345 /// <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, 256-bit <code>SHA256</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
346 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
347 self.checksum_sha256 = input;
348 self
349 }
350 /// <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, 256-bit <code>SHA256</code> digest of the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
351 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
352 &self.checksum_sha256
353 }
354 /// <p>This header specifies the checksum type of the object, 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 that was specified. If the checksum type doesn’t match the checksum type that was specified for the object during the <code>CreateMultipartUpload</code> request, it’ll result in a <code>BadDigest</code> error. For more information, see Checking object integrity in the Amazon S3 User Guide.</p>
355 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
356 self.checksum_type = ::std::option::Option::Some(input);
357 self
358 }
359 /// <p>This header specifies the checksum type of the object, 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 that was specified. If the checksum type doesn’t match the checksum type that was specified for the object during the <code>CreateMultipartUpload</code> request, it’ll result in a <code>BadDigest</code> error. For more information, see Checking object integrity in the Amazon S3 User Guide.</p>
360 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
361 self.checksum_type = input;
362 self
363 }
364 /// <p>This header specifies the checksum type of the object, 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 that was specified. If the checksum type doesn’t match the checksum type that was specified for the object during the <code>CreateMultipartUpload</code> request, it’ll result in a <code>BadDigest</code> error. For more information, see Checking object integrity in the Amazon S3 User Guide.</p>
365 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
366 &self.checksum_type
367 }
368 /// <p>The expected total object size of the multipart upload request. If there’s a mismatch between the specified object size value and the actual object size value, it results in an <code>HTTP 400 InvalidRequest</code> error.</p>
369 pub fn mpu_object_size(mut self, input: i64) -> Self {
370 self.mpu_object_size = ::std::option::Option::Some(input);
371 self
372 }
373 /// <p>The expected total object size of the multipart upload request. If there’s a mismatch between the specified object size value and the actual object size value, it results in an <code>HTTP 400 InvalidRequest</code> error.</p>
374 pub fn set_mpu_object_size(mut self, input: ::std::option::Option<i64>) -> Self {
375 self.mpu_object_size = input;
376 self
377 }
378 /// <p>The expected total object size of the multipart upload request. If there’s a mismatch between the specified object size value and the actual object size value, it results in an <code>HTTP 400 InvalidRequest</code> error.</p>
379 pub fn get_mpu_object_size(&self) -> &::std::option::Option<i64> {
380 &self.mpu_object_size
381 }
382 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
383 /// <p>This functionality is not supported for directory buckets.</p>
384 /// </note>
385 pub fn request_payer(mut self, input: crate::types::RequestPayer) -> Self {
386 self.request_payer = ::std::option::Option::Some(input);
387 self
388 }
389 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
390 /// <p>This functionality is not supported for directory buckets.</p>
391 /// </note>
392 pub fn set_request_payer(mut self, input: ::std::option::Option<crate::types::RequestPayer>) -> Self {
393 self.request_payer = input;
394 self
395 }
396 /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
397 /// <p>This functionality is not supported for directory buckets.</p>
398 /// </note>
399 pub fn get_request_payer(&self) -> &::std::option::Option<crate::types::RequestPayer> {
400 &self.request_payer
401 }
402 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
403 pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
404 self.expected_bucket_owner = ::std::option::Option::Some(input.into());
405 self
406 }
407 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
408 pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
409 self.expected_bucket_owner = input;
410 self
411 }
412 /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
413 pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
414 &self.expected_bucket_owner
415 }
416 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
417 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
418 /// <p>Expects the ETag value as a string.</p>
419 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
420 pub fn if_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
421 self.if_match = ::std::option::Option::Some(input.into());
422 self
423 }
424 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
425 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
426 /// <p>Expects the ETag value as a string.</p>
427 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
428 pub fn set_if_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
429 self.if_match = input;
430 self
431 }
432 /// <p>Uploads the object only if the ETag (entity tag) value provided during the WRITE operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p>
433 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag, re-initiate the multipart upload with <code>CreateMultipartUpload</code>, and re-upload each part.</p>
434 /// <p>Expects the ETag value as a string.</p>
435 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
436 pub fn get_if_match(&self) -> &::std::option::Option<::std::string::String> {
437 &self.if_match
438 }
439 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
440 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
441 /// <p>Expects the '*' (asterisk) character.</p>
442 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
443 pub fn if_none_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
444 self.if_none_match = ::std::option::Option::Some(input.into());
445 self
446 }
447 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
448 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
449 /// <p>Expects the '*' (asterisk) character.</p>
450 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
451 pub fn set_if_none_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
452 self.if_none_match = input;
453 self
454 }
455 /// <p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p>
456 /// <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p>
457 /// <p>Expects the '*' (asterisk) character.</p>
458 /// <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p>
459 pub fn get_if_none_match(&self) -> &::std::option::Option<::std::string::String> {
460 &self.if_none_match
461 }
462 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
463 /// <p>This functionality is not supported for directory buckets.</p>
464 /// </note>
465 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
466 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
467 self
468 }
469 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
470 /// <p>This functionality is not supported for directory buckets.</p>
471 /// </note>
472 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
473 self.sse_customer_algorithm = input;
474 self
475 }
476 /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
477 /// <p>This functionality is not supported for directory buckets.</p>
478 /// </note>
479 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
480 &self.sse_customer_algorithm
481 }
482 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
483 /// <p>This functionality is not supported for directory buckets.</p>
484 /// </note>
485 pub fn sse_customer_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
486 self.sse_customer_key = ::std::option::Option::Some(input.into());
487 self
488 }
489 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
490 /// <p>This functionality is not supported for directory buckets.</p>
491 /// </note>
492 pub fn set_sse_customer_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
493 self.sse_customer_key = input;
494 self
495 }
496 /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
497 /// <p>This functionality is not supported for directory buckets.</p>
498 /// </note>
499 pub fn get_sse_customer_key(&self) -> &::std::option::Option<::std::string::String> {
500 &self.sse_customer_key
501 }
502 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
503 /// <p>This functionality is not supported for directory buckets.</p>
504 /// </note>
505 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
506 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
507 self
508 }
509 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
510 /// <p>This functionality is not supported for directory buckets.</p>
511 /// </note>
512 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
513 self.sse_customer_key_md5 = input;
514 self
515 }
516 /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
517 /// <p>This functionality is not supported for directory buckets.</p>
518 /// </note>
519 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
520 &self.sse_customer_key_md5
521 }
522 /// Consumes the builder and constructs a [`CompleteMultipartUploadInput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadInput).
523 pub fn build(
524 self,
525 ) -> ::std::result::Result<
526 crate::operation::complete_multipart_upload::CompleteMultipartUploadInput,
527 ::aws_smithy_types::error::operation::BuildError,
528 > {
529 ::std::result::Result::Ok(crate::operation::complete_multipart_upload::CompleteMultipartUploadInput {
530 bucket: self.bucket,
531 key: self.key,
532 multipart_upload: self.multipart_upload,
533 upload_id: self.upload_id,
534 checksum_crc32: self.checksum_crc32,
535 checksum_crc32_c: self.checksum_crc32_c,
536 checksum_crc64_nvme: self.checksum_crc64_nvme,
537 checksum_sha1: self.checksum_sha1,
538 checksum_sha256: self.checksum_sha256,
539 checksum_type: self.checksum_type,
540 mpu_object_size: self.mpu_object_size,
541 request_payer: self.request_payer,
542 expected_bucket_owner: self.expected_bucket_owner,
543 if_match: self.if_match,
544 if_none_match: self.if_none_match,
545 sse_customer_algorithm: self.sse_customer_algorithm,
546 sse_customer_key: self.sse_customer_key,
547 sse_customer_key_md5: self.sse_customer_key_md5,
548 })
549 }
550}
551impl ::std::fmt::Debug for CompleteMultipartUploadInputBuilder {
552 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
553 let mut formatter = f.debug_struct("CompleteMultipartUploadInputBuilder");
554 formatter.field("bucket", &self.bucket);
555 formatter.field("key", &self.key);
556 formatter.field("multipart_upload", &self.multipart_upload);
557 formatter.field("upload_id", &self.upload_id);
558 formatter.field("checksum_crc32", &self.checksum_crc32);
559 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
560 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
561 formatter.field("checksum_sha1", &self.checksum_sha1);
562 formatter.field("checksum_sha256", &self.checksum_sha256);
563 formatter.field("checksum_type", &self.checksum_type);
564 formatter.field("mpu_object_size", &self.mpu_object_size);
565 formatter.field("request_payer", &self.request_payer);
566 formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
567 formatter.field("if_match", &self.if_match);
568 formatter.field("if_none_match", &self.if_none_match);
569 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
570 formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
571 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
572 formatter.finish()
573 }
574}