Skip to main content

rustack_s3_model/output/
object.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        ArchiveStatus, ChecksumType, CopyObjectResult, DeletedObject, Error,
9        ObjectLockLegalHoldStatus, ObjectLockMode, ReplicationStatus, RequestCharged,
10        ServerSideEncryption, StorageClass,
11    },
12};
13
14/// S3 CopyObjectOutput.
15#[derive(Debug, Clone, Default)]
16pub struct CopyObjectOutput {
17    /// HTTP header: `x-amz-server-side-encryption-bucket-key-enabled`.
18    pub bucket_key_enabled: Option<bool>,
19    /// HTTP payload body.
20    pub copy_object_result: Option<CopyObjectResult>,
21    /// HTTP header: `x-amz-copy-source-version-id`.
22    pub copy_source_version_id: Option<String>,
23    /// HTTP header: `x-amz-expiration`.
24    pub expiration: Option<String>,
25    /// HTTP header: `x-amz-request-charged`.
26    pub request_charged: Option<RequestCharged>,
27    /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
28    pub sse_customer_algorithm: Option<String>,
29    /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
30    pub sse_customer_key_md5: Option<String>,
31    /// HTTP header: `x-amz-server-side-encryption-context`.
32    pub ssekms_encryption_context: Option<String>,
33    /// HTTP header: `x-amz-server-side-encryption-aws-kms-key-id`.
34    pub ssekms_key_id: Option<String>,
35    /// HTTP header: `x-amz-server-side-encryption`.
36    pub server_side_encryption: Option<ServerSideEncryption>,
37    /// HTTP header: `x-amz-version-id`.
38    pub version_id: Option<String>,
39}
40
41/// S3 DeleteObjectOutput.
42#[derive(Debug, Clone, Default)]
43pub struct DeleteObjectOutput {
44    /// HTTP header: `x-amz-delete-marker`.
45    pub delete_marker: Option<bool>,
46    /// HTTP header: `x-amz-request-charged`.
47    pub request_charged: Option<RequestCharged>,
48    /// HTTP header: `x-amz-version-id`.
49    pub version_id: Option<String>,
50}
51
52/// S3 DeleteObjectsOutput.
53#[derive(Debug, Clone, Default)]
54pub struct DeleteObjectsOutput {
55    pub deleted: Vec<DeletedObject>,
56    pub errors: Vec<Error>,
57    /// HTTP header: `x-amz-request-charged`.
58    pub request_charged: Option<RequestCharged>,
59}
60
61/// S3 GetObjectOutput.
62#[derive(Debug, Clone, Default)]
63pub struct GetObjectOutput {
64    /// HTTP header: `accept-ranges`.
65    pub accept_ranges: Option<String>,
66    /// HTTP payload body.
67    pub body: Option<StreamingBlob>,
68    /// HTTP header: `x-amz-server-side-encryption-bucket-key-enabled`.
69    pub bucket_key_enabled: Option<bool>,
70    /// HTTP header: `Cache-Control`.
71    pub cache_control: Option<String>,
72    /// HTTP header: `x-amz-checksum-crc32`.
73    pub checksum_crc32: Option<String>,
74    /// HTTP header: `x-amz-checksum-crc32c`.
75    pub checksum_crc32c: Option<String>,
76    /// HTTP header: `x-amz-checksum-crc64nvme`.
77    pub checksum_crc64nvme: Option<String>,
78    /// HTTP header: `x-amz-checksum-sha1`.
79    pub checksum_sha1: Option<String>,
80    /// HTTP header: `x-amz-checksum-sha256`.
81    pub checksum_sha256: Option<String>,
82    /// HTTP header: `x-amz-checksum-type`.
83    pub checksum_type: Option<ChecksumType>,
84    /// HTTP header: `Content-Disposition`.
85    pub content_disposition: Option<String>,
86    /// HTTP header: `Content-Encoding`.
87    pub content_encoding: Option<String>,
88    /// HTTP header: `Content-Language`.
89    pub content_language: Option<String>,
90    /// HTTP header: `Content-Length`.
91    pub content_length: Option<i64>,
92    /// HTTP header: `Content-Range`.
93    pub content_range: Option<String>,
94    /// HTTP header: `Content-Type`.
95    pub content_type: Option<String>,
96    /// HTTP header: `x-amz-delete-marker`.
97    pub delete_marker: Option<bool>,
98    /// HTTP header: `ETag`.
99    pub e_tag: Option<String>,
100    /// HTTP header: `x-amz-expiration`.
101    pub expiration: Option<String>,
102    /// HTTP header: `Expires`.
103    pub expires: Option<String>,
104    /// HTTP header: `Last-Modified`.
105    pub last_modified: Option<chrono::DateTime<chrono::Utc>>,
106    /// HTTP prefix headers: `x-amz-meta-`.
107    pub metadata: HashMap<String, String>,
108    /// HTTP header: `x-amz-missing-meta`.
109    pub missing_meta: Option<i32>,
110    /// HTTP header: `x-amz-object-lock-legal-hold`.
111    pub object_lock_legal_hold_status: Option<ObjectLockLegalHoldStatus>,
112    /// HTTP header: `x-amz-object-lock-mode`.
113    pub object_lock_mode: Option<ObjectLockMode>,
114    /// HTTP header: `x-amz-object-lock-retain-until-date`.
115    pub object_lock_retain_until_date: Option<chrono::DateTime<chrono::Utc>>,
116    /// HTTP header: `x-amz-mp-parts-count`.
117    pub parts_count: Option<i32>,
118    /// HTTP header: `x-amz-replication-status`.
119    pub replication_status: Option<ReplicationStatus>,
120    /// HTTP header: `x-amz-request-charged`.
121    pub request_charged: Option<RequestCharged>,
122    /// HTTP header: `x-amz-restore`.
123    pub restore: Option<String>,
124    /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
125    pub sse_customer_algorithm: Option<String>,
126    /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
127    pub sse_customer_key_md5: Option<String>,
128    /// HTTP header: `x-amz-server-side-encryption-aws-kms-key-id`.
129    pub ssekms_key_id: Option<String>,
130    /// HTTP header: `x-amz-server-side-encryption`.
131    pub server_side_encryption: Option<ServerSideEncryption>,
132    /// HTTP header: `x-amz-storage-class`.
133    pub storage_class: Option<StorageClass>,
134    /// HTTP header: `x-amz-tagging-count`.
135    pub tag_count: Option<i32>,
136    /// HTTP header: `x-amz-version-id`.
137    pub version_id: Option<String>,
138    /// HTTP header: `x-amz-website-redirect-location`.
139    pub website_redirect_location: Option<String>,
140}
141
142/// S3 HeadObjectOutput.
143#[derive(Debug, Clone, Default)]
144pub struct HeadObjectOutput {
145    /// HTTP header: `accept-ranges`.
146    pub accept_ranges: Option<String>,
147    /// HTTP header: `x-amz-archive-status`.
148    pub archive_status: Option<ArchiveStatus>,
149    /// HTTP header: `x-amz-server-side-encryption-bucket-key-enabled`.
150    pub bucket_key_enabled: Option<bool>,
151    /// HTTP header: `Cache-Control`.
152    pub cache_control: Option<String>,
153    /// HTTP header: `x-amz-checksum-crc32`.
154    pub checksum_crc32: Option<String>,
155    /// HTTP header: `x-amz-checksum-crc32c`.
156    pub checksum_crc32c: Option<String>,
157    /// HTTP header: `x-amz-checksum-crc64nvme`.
158    pub checksum_crc64nvme: Option<String>,
159    /// HTTP header: `x-amz-checksum-sha1`.
160    pub checksum_sha1: Option<String>,
161    /// HTTP header: `x-amz-checksum-sha256`.
162    pub checksum_sha256: Option<String>,
163    /// HTTP header: `x-amz-checksum-type`.
164    pub checksum_type: Option<ChecksumType>,
165    /// HTTP header: `Content-Disposition`.
166    pub content_disposition: Option<String>,
167    /// HTTP header: `Content-Encoding`.
168    pub content_encoding: Option<String>,
169    /// HTTP header: `Content-Language`.
170    pub content_language: Option<String>,
171    /// HTTP header: `Content-Length`.
172    pub content_length: Option<i64>,
173    /// HTTP header: `Content-Range`.
174    pub content_range: Option<String>,
175    /// HTTP header: `Content-Type`.
176    pub content_type: Option<String>,
177    /// HTTP header: `x-amz-delete-marker`.
178    pub delete_marker: Option<bool>,
179    /// HTTP header: `ETag`.
180    pub e_tag: Option<String>,
181    /// HTTP header: `x-amz-expiration`.
182    pub expiration: Option<String>,
183    /// HTTP header: `Expires`.
184    pub expires: Option<String>,
185    /// HTTP header: `Last-Modified`.
186    pub last_modified: Option<chrono::DateTime<chrono::Utc>>,
187    /// HTTP prefix headers: `x-amz-meta-`.
188    pub metadata: HashMap<String, String>,
189    /// HTTP header: `x-amz-missing-meta`.
190    pub missing_meta: Option<i32>,
191    /// HTTP header: `x-amz-object-lock-legal-hold`.
192    pub object_lock_legal_hold_status: Option<ObjectLockLegalHoldStatus>,
193    /// HTTP header: `x-amz-object-lock-mode`.
194    pub object_lock_mode: Option<ObjectLockMode>,
195    /// HTTP header: `x-amz-object-lock-retain-until-date`.
196    pub object_lock_retain_until_date: Option<chrono::DateTime<chrono::Utc>>,
197    /// HTTP header: `x-amz-mp-parts-count`.
198    pub parts_count: Option<i32>,
199    /// HTTP header: `x-amz-replication-status`.
200    pub replication_status: Option<ReplicationStatus>,
201    /// HTTP header: `x-amz-request-charged`.
202    pub request_charged: Option<RequestCharged>,
203    /// HTTP header: `x-amz-restore`.
204    pub restore: Option<String>,
205    /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
206    pub sse_customer_algorithm: Option<String>,
207    /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
208    pub sse_customer_key_md5: Option<String>,
209    /// HTTP header: `x-amz-server-side-encryption-aws-kms-key-id`.
210    pub ssekms_key_id: Option<String>,
211    /// HTTP header: `x-amz-server-side-encryption`.
212    pub server_side_encryption: Option<ServerSideEncryption>,
213    /// HTTP header: `x-amz-storage-class`.
214    pub storage_class: Option<StorageClass>,
215    /// HTTP header: `x-amz-tagging-count`.
216    pub tag_count: Option<i32>,
217    /// HTTP header: `x-amz-version-id`.
218    pub version_id: Option<String>,
219    /// HTTP header: `x-amz-website-redirect-location`.
220    pub website_redirect_location: Option<String>,
221}
222
223/// S3 PutObjectOutput.
224#[derive(Debug, Clone, Default)]
225pub struct PutObjectOutput {
226    /// HTTP header: `x-amz-server-side-encryption-bucket-key-enabled`.
227    pub bucket_key_enabled: Option<bool>,
228    /// HTTP header: `x-amz-checksum-crc32`.
229    pub checksum_crc32: Option<String>,
230    /// HTTP header: `x-amz-checksum-crc32c`.
231    pub checksum_crc32c: Option<String>,
232    /// HTTP header: `x-amz-checksum-crc64nvme`.
233    pub checksum_crc64nvme: Option<String>,
234    /// HTTP header: `x-amz-checksum-sha1`.
235    pub checksum_sha1: Option<String>,
236    /// HTTP header: `x-amz-checksum-sha256`.
237    pub checksum_sha256: Option<String>,
238    /// HTTP header: `x-amz-checksum-type`.
239    pub checksum_type: Option<ChecksumType>,
240    /// HTTP header: `ETag`.
241    pub e_tag: Option<String>,
242    /// HTTP header: `x-amz-expiration`.
243    pub expiration: Option<String>,
244    /// HTTP header: `x-amz-request-charged`.
245    pub request_charged: Option<RequestCharged>,
246    /// HTTP header: `x-amz-server-side-encryption-customer-algorithm`.
247    pub sse_customer_algorithm: Option<String>,
248    /// HTTP header: `x-amz-server-side-encryption-customer-key-MD5`.
249    pub sse_customer_key_md5: Option<String>,
250    /// HTTP header: `x-amz-server-side-encryption-context`.
251    pub ssekms_encryption_context: Option<String>,
252    /// HTTP header: `x-amz-server-side-encryption-aws-kms-key-id`.
253    pub ssekms_key_id: Option<String>,
254    /// HTTP header: `x-amz-server-side-encryption`.
255    pub server_side_encryption: Option<ServerSideEncryption>,
256    /// HTTP header: `x-amz-object-size`.
257    pub size: Option<i64>,
258    /// HTTP header: `x-amz-version-id`.
259    pub version_id: Option<String>,
260}