rustack_s3_model/input/multipart.rs
1//! Auto-generated from AWS S3 Smithy model. DO NOT EDIT.
2
3use std::collections::HashMap;
4
5use crate::{
6 request::StreamingBlob,
7 types::{
8 ChecksumAlgorithm, ChecksumType, CompletedMultipartUpload, EncodingType, ObjectCannedACL,
9 ObjectLockLegalHoldStatus, ObjectLockMode, RequestPayer, ServerSideEncryption,
10 StorageClass,
11 },
12};
13
14/// S3 AbortMultipartUploadInput.
15#[derive(Debug, Clone, Default)]
16pub struct AbortMultipartUploadInput {
17 /// HTTP label (URI path).
18 pub bucket: String,
19 /// HTTP header: `x-amz-expected-bucket-owner`.
20 pub expected_bucket_owner: Option<String>,
21 /// HTTP header: `x-amz-if-match-initiated-time`.
22 pub if_match_initiated_time: Option<chrono::DateTime<chrono::Utc>>,
23 /// HTTP label (URI path).
24 pub key: String,
25 /// HTTP header: `x-amz-request-payer`.
26 pub request_payer: Option<RequestPayer>,
27 /// HTTP query: `uploadId`.
28 pub upload_id: String,
29}
30
31/// S3 CompleteMultipartUploadInput.
32#[derive(Debug, Clone, Default)]
33pub struct CompleteMultipartUploadInput {
34 /// HTTP label (URI path).
35 pub bucket: String,
36 /// HTTP header: `x-amz-checksum-crc32`.
37 pub checksum_crc32: Option<String>,
38 /// HTTP header: `x-amz-checksum-crc32c`.
39 pub checksum_crc32c: Option<String>,
40 /// HTTP header: `x-amz-checksum-crc64nvme`.
41 pub checksum_crc64nvme: Option<String>,
42 /// HTTP header: `x-amz-checksum-sha1`.
43 pub checksum_sha1: Option<String>,
44 /// HTTP header: `x-amz-checksum-sha256`.
45 pub checksum_sha256: Option<String>,
46 /// HTTP header: `x-amz-checksum-type`.
47 pub checksum_type: Option<ChecksumType>,
48 /// HTTP header: `x-amz-expected-bucket-owner`.
49 pub expected_bucket_owner: Option<String>,
50 /// HTTP header: `If-Match`.
51 pub if_match: Option<String>,
52 /// HTTP header: `If-None-Match`.
53 pub if_none_match: Option<String>,
54 /// HTTP label (URI path).
55 pub key: String,
56 /// HTTP header: `x-amz-mp-object-size`.
57 pub mpu_object_size: Option<i64>,
58 /// HTTP payload body.
59 pub multipart_upload: Option<CompletedMultipartUpload>,
60 /// HTTP header: `x-amz-request-payer`.
61 pub request_payer: Option<RequestPayer>,
62 /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
63 pub sse_customer_algorithm: Option<String>,
64 /// HTTP header: `x-amz-server-side-encryption-customer-key`.
65 pub sse_customer_key: Option<String>,
66 /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
67 pub sse_customer_key_md5: Option<String>,
68 /// HTTP query: `uploadId`.
69 pub upload_id: String,
70}
71
72/// S3 CreateMultipartUploadInput.
73#[derive(Debug, Clone, Default)]
74pub struct CreateMultipartUploadInput {
75 /// HTTP header: `x-amz-acl`.
76 pub acl: Option<ObjectCannedACL>,
77 /// HTTP label (URI path).
78 pub bucket: String,
79 /// HTTP header: `x-amz-server-side-encryption-bucket-key-enabled`.
80 pub bucket_key_enabled: Option<bool>,
81 /// HTTP header: `Cache-Control`.
82 pub cache_control: Option<String>,
83 /// HTTP header: `x-amz-checksum-algorithm`.
84 pub checksum_algorithm: Option<ChecksumAlgorithm>,
85 /// HTTP header: `x-amz-checksum-type`.
86 pub checksum_type: Option<ChecksumType>,
87 /// HTTP header: `Content-Disposition`.
88 pub content_disposition: Option<String>,
89 /// HTTP header: `Content-Encoding`.
90 pub content_encoding: Option<String>,
91 /// HTTP header: `Content-Language`.
92 pub content_language: Option<String>,
93 /// HTTP header: `Content-Type`.
94 pub content_type: Option<String>,
95 /// HTTP header: `x-amz-expected-bucket-owner`.
96 pub expected_bucket_owner: Option<String>,
97 /// HTTP header: `Expires`.
98 pub expires: Option<String>,
99 /// HTTP header: `x-amz-grant-full-control`.
100 pub grant_full_control: Option<String>,
101 /// HTTP header: `x-amz-grant-read`.
102 pub grant_read: Option<String>,
103 /// HTTP header: `x-amz-grant-read-acp`.
104 pub grant_read_acp: Option<String>,
105 /// HTTP header: `x-amz-grant-write-acp`.
106 pub grant_write_acp: Option<String>,
107 /// HTTP label (URI path).
108 pub key: String,
109 /// HTTP prefix headers: `x-amz-meta-`.
110 pub metadata: HashMap<String, String>,
111 /// HTTP header: `x-amz-object-lock-legal-hold`.
112 pub object_lock_legal_hold_status: Option<ObjectLockLegalHoldStatus>,
113 /// HTTP header: `x-amz-object-lock-mode`.
114 pub object_lock_mode: Option<ObjectLockMode>,
115 /// HTTP header: `x-amz-object-lock-retain-until-date`.
116 pub object_lock_retain_until_date: Option<chrono::DateTime<chrono::Utc>>,
117 /// HTTP header: `x-amz-request-payer`.
118 pub request_payer: Option<RequestPayer>,
119 /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
120 pub sse_customer_algorithm: Option<String>,
121 /// HTTP header: `x-amz-server-side-encryption-customer-key`.
122 pub sse_customer_key: Option<String>,
123 /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
124 pub sse_customer_key_md5: Option<String>,
125 /// HTTP header: `x-amz-server-side-encryption-context`.
126 pub ssekms_encryption_context: Option<String>,
127 /// HTTP header: `x-amz-server-side-encryption-aws-kms-key-id`.
128 pub ssekms_key_id: Option<String>,
129 /// HTTP header: `x-amz-server-side-encryption`.
130 pub server_side_encryption: Option<ServerSideEncryption>,
131 /// HTTP header: `x-amz-storage-class`.
132 pub storage_class: Option<StorageClass>,
133 /// HTTP header: `x-amz-tagging`.
134 pub tagging: Option<String>,
135 /// HTTP header: `x-amz-website-redirect-location`.
136 pub website_redirect_location: Option<String>,
137}
138
139/// S3 ListMultipartUploadsInput.
140#[derive(Debug, Clone, Default)]
141pub struct ListMultipartUploadsInput {
142 /// HTTP label (URI path).
143 pub bucket: String,
144 /// HTTP query: `delimiter`.
145 pub delimiter: Option<String>,
146 /// HTTP query: `encoding-type`.
147 pub encoding_type: Option<EncodingType>,
148 /// HTTP header: `x-amz-expected-bucket-owner`.
149 pub expected_bucket_owner: Option<String>,
150 /// HTTP query: `key-marker`.
151 pub key_marker: Option<String>,
152 /// HTTP query: `max-uploads`.
153 pub max_uploads: Option<i32>,
154 /// HTTP query: `prefix`.
155 pub prefix: Option<String>,
156 /// HTTP header: `x-amz-request-payer`.
157 pub request_payer: Option<RequestPayer>,
158 /// HTTP query: `upload-id-marker`.
159 pub upload_id_marker: Option<String>,
160}
161
162/// S3 ListPartsInput.
163#[derive(Debug, Clone, Default)]
164pub struct ListPartsInput {
165 /// HTTP label (URI path).
166 pub bucket: String,
167 /// HTTP header: `x-amz-expected-bucket-owner`.
168 pub expected_bucket_owner: Option<String>,
169 /// HTTP label (URI path).
170 pub key: String,
171 /// HTTP query: `max-parts`.
172 pub max_parts: Option<i32>,
173 /// HTTP query: `part-number-marker`.
174 pub part_number_marker: Option<String>,
175 /// HTTP header: `x-amz-request-payer`.
176 pub request_payer: Option<RequestPayer>,
177 /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
178 pub sse_customer_algorithm: Option<String>,
179 /// HTTP header: `x-amz-server-side-encryption-customer-key`.
180 pub sse_customer_key: Option<String>,
181 /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
182 pub sse_customer_key_md5: Option<String>,
183 /// HTTP query: `uploadId`.
184 pub upload_id: String,
185}
186
187/// S3 UploadPartCopyInput.
188#[derive(Debug, Clone, Default)]
189pub struct UploadPartCopyInput {
190 /// HTTP label (URI path).
191 pub bucket: String,
192 /// HTTP header: `x-amz-copy-source`.
193 pub copy_source: String,
194 /// HTTP header: `x-amz-copy-source-if-match`.
195 pub copy_source_if_match: Option<String>,
196 /// HTTP header: `x-amz-copy-source-if-modified-since`.
197 pub copy_source_if_modified_since: Option<chrono::DateTime<chrono::Utc>>,
198 /// HTTP header: `x-amz-copy-source-if-none-match`.
199 pub copy_source_if_none_match: Option<String>,
200 /// HTTP header: `x-amz-copy-source-if-unmodified-since`.
201 pub copy_source_if_unmodified_since: Option<chrono::DateTime<chrono::Utc>>,
202 /// HTTP header: `x-amz-copy-source-range`.
203 pub copy_source_range: Option<String>,
204 /// HTTP header: `x-amz-copy-source-server-side-encryption-customer-algorithm`.
205 pub copy_source_sse_customer_algorithm: Option<String>,
206 /// HTTP header: `x-amz-copy-source-server-side-encryption-customer-key`.
207 pub copy_source_sse_customer_key: Option<String>,
208 /// HTTP header: `x-amz-copy-source-server-side-encryption-customer-key-MD5`.
209 pub copy_source_sse_customer_key_md5: Option<String>,
210 /// HTTP header: `x-amz-expected-bucket-owner`.
211 pub expected_bucket_owner: Option<String>,
212 /// HTTP header: `x-amz-source-expected-bucket-owner`.
213 pub expected_source_bucket_owner: Option<String>,
214 /// HTTP label (URI path).
215 pub key: String,
216 /// HTTP query: `partNumber`.
217 pub part_number: i32,
218 /// HTTP header: `x-amz-request-payer`.
219 pub request_payer: Option<RequestPayer>,
220 /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
221 pub sse_customer_algorithm: Option<String>,
222 /// HTTP header: `x-amz-server-side-encryption-customer-key`.
223 pub sse_customer_key: Option<String>,
224 /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
225 pub sse_customer_key_md5: Option<String>,
226 /// HTTP query: `uploadId`.
227 pub upload_id: String,
228}
229
230/// S3 UploadPartInput.
231#[derive(Debug, Clone, Default)]
232pub struct UploadPartInput {
233 /// HTTP payload body.
234 pub body: Option<StreamingBlob>,
235 /// HTTP label (URI path).
236 pub bucket: String,
237 /// HTTP header: `x-amz-sdk-checksum-algorithm`.
238 pub checksum_algorithm: Option<ChecksumAlgorithm>,
239 /// HTTP header: `x-amz-checksum-crc32`.
240 pub checksum_crc32: Option<String>,
241 /// HTTP header: `x-amz-checksum-crc32c`.
242 pub checksum_crc32c: Option<String>,
243 /// HTTP header: `x-amz-checksum-crc64nvme`.
244 pub checksum_crc64nvme: Option<String>,
245 /// HTTP header: `x-amz-checksum-sha1`.
246 pub checksum_sha1: Option<String>,
247 /// HTTP header: `x-amz-checksum-sha256`.
248 pub checksum_sha256: Option<String>,
249 /// HTTP header: `Content-Length`.
250 pub content_length: Option<i64>,
251 /// HTTP header: `Content-MD5`.
252 pub content_md5: Option<String>,
253 /// HTTP header: `x-amz-expected-bucket-owner`.
254 pub expected_bucket_owner: Option<String>,
255 /// HTTP label (URI path).
256 pub key: String,
257 /// HTTP query: `partNumber`.
258 pub part_number: i32,
259 /// HTTP header: `x-amz-request-payer`.
260 pub request_payer: Option<RequestPayer>,
261 /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
262 pub sse_customer_algorithm: Option<String>,
263 /// HTTP header: `x-amz-server-side-encryption-customer-key`.
264 pub sse_customer_key: Option<String>,
265 /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
266 pub sse_customer_key_md5: Option<String>,
267 /// HTTP query: `uploadId`.
268 pub upload_id: String,
269}