Skip to main content

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}