1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4pub struct BucketRef {
5 #[prost(string, tag = "1")]
6 pub bucket_id: ::prost::alloc::string::String,
7 #[prost(string, tag = "2")]
8 pub name: ::prost::alloc::string::String,
9}
10#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11pub struct SnapshotRef {
12 #[prost(string, tag = "1")]
13 pub snapshot_id: ::prost::alloc::string::String,
14 #[prost(string, tag = "2")]
15 pub source_bucket_id: ::prost::alloc::string::String,
16}
17#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
18pub struct ReadTarget {
19 #[prost(oneof = "read_target::Target", tags = "1, 2")]
20 pub target: ::core::option::Option<read_target::Target>,
21}
22pub mod read_target {
24 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
25 pub enum Target {
26 #[prost(message, tag = "1")]
27 Bucket(super::BucketRef),
28 #[prost(message, tag = "2")]
29 Snapshot(super::SnapshotRef),
30 }
31}
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct ObjectMetadata {
34 #[prost(string, tag = "1")]
35 pub content_type: ::prost::alloc::string::String,
36 #[prost(map = "string, string", tag = "2")]
37 pub user: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
38 #[prost(string, tag = "3")]
39 pub content_encoding: ::prost::alloc::string::String,
40 #[prost(string, tag = "4")]
41 pub cache_control: ::prost::alloc::string::String,
42 #[prost(string, tag = "5")]
43 pub content_disposition: ::prost::alloc::string::String,
44 #[prost(string, tag = "6")]
45 pub content_language: ::prost::alloc::string::String,
46 #[prost(int64, optional, tag = "7")]
47 pub expires_unix_seconds: ::core::option::Option<i64>,
48}
49#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
50pub struct Preconditions {
51 #[prost(oneof = "preconditions::Condition", tags = "1, 2, 3")]
52 pub condition: ::core::option::Option<preconditions::Condition>,
53}
54pub mod preconditions {
56 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
57 pub enum Condition {
58 #[prost(bool, tag = "1")]
59 IfAbsent(bool),
60 #[prost(string, tag = "2")]
61 IfMatch(::prost::alloc::string::String),
62 #[prost(string, tag = "3")]
63 IfVersion(::prost::alloc::string::String),
64 }
65}
66#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
67pub struct MutationIdentity {
68 #[prost(string, tag = "1")]
69 pub idempotency_key: ::prost::alloc::string::String,
70}
71#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
72pub struct Bucket {
73 #[prost(message, optional, tag = "1")]
74 pub bucket: ::core::option::Option<BucketRef>,
75 #[prost(message, optional, tag = "2")]
76 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
77}
78#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
79pub struct CreateBucketRequest {
80 #[prost(string, tag = "1")]
81 pub name: ::prost::alloc::string::String,
82 #[prost(message, optional, tag = "2")]
83 pub mutation: ::core::option::Option<MutationIdentity>,
84}
85#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
86pub struct HeadBucketRequest {
87 #[prost(message, optional, tag = "1")]
88 pub bucket: ::core::option::Option<BucketRef>,
89}
90#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
91pub struct DeleteBucketRequest {
92 #[prost(message, optional, tag = "1")]
93 pub bucket: ::core::option::Option<BucketRef>,
94 #[prost(message, optional, tag = "2")]
95 pub mutation: ::core::option::Option<MutationIdentity>,
96}
97#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
98pub struct DeleteBucketResponse {
99 #[prost(bool, tag = "1")]
100 pub existed: bool,
101}
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct PutObjectHeader {
104 #[prost(message, optional, tag = "1")]
105 pub bucket: ::core::option::Option<BucketRef>,
106 #[prost(string, tag = "2")]
107 pub object_key: ::prost::alloc::string::String,
108 #[prost(message, optional, tag = "3")]
109 pub metadata: ::core::option::Option<ObjectMetadata>,
110 #[prost(message, optional, tag = "4")]
111 pub preconditions: ::core::option::Option<Preconditions>,
112 #[prost(message, optional, tag = "5")]
113 pub mutation: ::core::option::Option<MutationIdentity>,
114}
115#[derive(Clone, PartialEq, ::prost::Message)]
116pub struct PutObjectRequest {
117 #[prost(oneof = "put_object_request::Frame", tags = "1, 2")]
118 pub frame: ::core::option::Option<put_object_request::Frame>,
119}
120pub mod put_object_request {
122 #[derive(Clone, PartialEq, ::prost::Oneof)]
123 pub enum Frame {
124 #[prost(message, tag = "1")]
125 Header(super::PutObjectHeader),
126 #[prost(bytes, tag = "2")]
127 Body(::prost::alloc::vec::Vec<u8>),
128 }
129}
130#[derive(Clone, PartialEq, ::prost::Message)]
131pub struct ObjectVersion {
132 #[prost(string, tag = "1")]
133 pub version_id: ::prost::alloc::string::String,
134 #[prost(string, tag = "2")]
135 pub etag: ::prost::alloc::string::String,
136 #[prost(uint64, tag = "3")]
137 pub size: u64,
138 #[prost(bool, tag = "4")]
139 pub delete_marker: bool,
140 #[prost(message, optional, tag = "5")]
141 pub metadata: ::core::option::Option<ObjectMetadata>,
142 #[prost(message, optional, tag = "6")]
143 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
144}
145#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
146pub struct GetObjectRequest {
147 #[prost(message, optional, tag = "1")]
148 pub target: ::core::option::Option<ReadTarget>,
149 #[prost(string, tag = "2")]
150 pub object_key: ::prost::alloc::string::String,
151 #[prost(string, tag = "3")]
152 pub version_id: ::prost::alloc::string::String,
153 #[prost(uint64, tag = "4")]
154 pub range_start: u64,
155 #[prost(uint64, optional, tag = "5")]
156 pub range_end_inclusive: ::core::option::Option<u64>,
157 #[prost(string, tag = "6")]
158 pub if_match: ::prost::alloc::string::String,
159 #[prost(string, tag = "7")]
160 pub if_none_match: ::prost::alloc::string::String,
161 #[prost(bool, tag = "8")]
166 pub range_requested: bool,
167}
168#[derive(Clone, PartialEq, ::prost::Message)]
169pub struct GetObjectResponse {
170 #[prost(oneof = "get_object_response::Frame", tags = "1, 2")]
171 pub frame: ::core::option::Option<get_object_response::Frame>,
172}
173pub mod get_object_response {
175 #[derive(Clone, PartialEq, ::prost::Oneof)]
176 pub enum Frame {
177 #[prost(message, tag = "1")]
178 Version(super::ObjectVersion),
179 #[prost(bytes, tag = "2")]
180 Body(::prost::alloc::vec::Vec<u8>),
181 }
182}
183#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
184pub struct HeadObjectRequest {
185 #[prost(message, optional, tag = "1")]
186 pub target: ::core::option::Option<ReadTarget>,
187 #[prost(string, tag = "2")]
188 pub object_key: ::prost::alloc::string::String,
189 #[prost(string, tag = "3")]
190 pub version_id: ::prost::alloc::string::String,
191 #[prost(string, tag = "4")]
192 pub if_match: ::prost::alloc::string::String,
193 #[prost(string, tag = "5")]
194 pub if_none_match: ::prost::alloc::string::String,
195}
196#[derive(Clone, PartialEq, ::prost::Message)]
197pub struct HeadObjectResponse {
198 #[prost(message, optional, tag = "1")]
199 pub version: ::core::option::Option<ObjectVersion>,
200}
201#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
202pub struct DeleteObjectRequest {
203 #[prost(message, optional, tag = "1")]
204 pub bucket: ::core::option::Option<BucketRef>,
205 #[prost(string, tag = "2")]
206 pub object_key: ::prost::alloc::string::String,
207 #[prost(string, tag = "3")]
208 pub version_id: ::prost::alloc::string::String,
209 #[prost(message, optional, tag = "4")]
210 pub preconditions: ::core::option::Option<Preconditions>,
211 #[prost(message, optional, tag = "5")]
212 pub mutation: ::core::option::Option<MutationIdentity>,
213}
214#[derive(Clone, PartialEq, ::prost::Message)]
215pub struct DeleteObjectResponse {
216 #[prost(bool, tag = "1")]
217 pub existed: bool,
218 #[prost(message, optional, tag = "2")]
219 pub version: ::core::option::Option<ObjectVersion>,
220}
221#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
222pub struct ListObjectsRequest {
223 #[prost(message, optional, tag = "1")]
224 pub target: ::core::option::Option<ReadTarget>,
225 #[prost(string, tag = "2")]
226 pub prefix: ::prost::alloc::string::String,
227 #[prost(string, tag = "3")]
228 pub delimiter: ::prost::alloc::string::String,
229 #[prost(enumeration = "ListingMode", tag = "4")]
230 pub mode: i32,
231 #[prost(uint32, tag = "5")]
232 pub page_size: u32,
233 #[prost(string, tag = "6")]
234 pub continuation_token: ::prost::alloc::string::String,
235}
236#[derive(Clone, PartialEq, ::prost::Message)]
237pub struct ListEntry {
238 #[prost(string, tag = "1")]
239 pub object_key: ::prost::alloc::string::String,
240 #[prost(message, optional, tag = "2")]
241 pub version: ::core::option::Option<ObjectVersion>,
242}
243#[derive(Clone, PartialEq, ::prost::Message)]
244pub struct ListObjectsResponse {
245 #[prost(message, repeated, tag = "1")]
246 pub entries: ::prost::alloc::vec::Vec<ListEntry>,
247 #[prost(string, repeated, tag = "2")]
248 pub common_prefixes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
249 #[prost(string, tag = "3")]
250 pub continuation_token: ::prost::alloc::string::String,
251}
252#[derive(Clone, PartialEq, ::prost::Message)]
253pub struct CreateMultipartRequest {
254 #[prost(message, optional, tag = "1")]
255 pub bucket: ::core::option::Option<BucketRef>,
256 #[prost(string, tag = "2")]
257 pub object_key: ::prost::alloc::string::String,
258 #[prost(message, optional, tag = "3")]
259 pub metadata: ::core::option::Option<ObjectMetadata>,
260 #[prost(message, optional, tag = "4")]
261 pub preconditions: ::core::option::Option<Preconditions>,
262 #[prost(message, optional, tag = "5")]
263 pub mutation: ::core::option::Option<MutationIdentity>,
264}
265#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
266pub struct MultipartUpload {
267 #[prost(string, tag = "1")]
268 pub upload_id: ::prost::alloc::string::String,
269}
270#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
271pub struct UploadPartHeader {
272 #[prost(message, optional, tag = "1")]
273 pub bucket: ::core::option::Option<BucketRef>,
274 #[prost(string, tag = "2")]
275 pub object_key: ::prost::alloc::string::String,
276 #[prost(string, tag = "3")]
277 pub upload_id: ::prost::alloc::string::String,
278 #[prost(uint32, tag = "4")]
279 pub part_number: u32,
280 #[prost(message, optional, tag = "5")]
281 pub mutation: ::core::option::Option<MutationIdentity>,
282}
283#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
284pub struct UploadPartRequest {
285 #[prost(oneof = "upload_part_request::Frame", tags = "1, 2")]
286 pub frame: ::core::option::Option<upload_part_request::Frame>,
287}
288pub mod upload_part_request {
290 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
291 pub enum Frame {
292 #[prost(message, tag = "1")]
293 Header(super::UploadPartHeader),
294 #[prost(bytes, tag = "2")]
295 Body(::prost::alloc::vec::Vec<u8>),
296 }
297}
298#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
299pub struct UploadedPart {
300 #[prost(uint32, tag = "1")]
301 pub part_number: u32,
302 #[prost(string, tag = "2")]
303 pub etag: ::prost::alloc::string::String,
304 #[prost(uint64, tag = "3")]
305 pub size: u64,
306}
307#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
308pub struct ListPartsRequest {
309 #[prost(message, optional, tag = "1")]
310 pub bucket: ::core::option::Option<BucketRef>,
311 #[prost(string, tag = "2")]
312 pub object_key: ::prost::alloc::string::String,
313 #[prost(string, tag = "3")]
314 pub upload_id: ::prost::alloc::string::String,
315}
316#[derive(Clone, PartialEq, ::prost::Message)]
317pub struct ListPartsResponse {
318 #[prost(message, repeated, tag = "1")]
319 pub parts: ::prost::alloc::vec::Vec<UploadedPart>,
320}
321#[derive(Clone, PartialEq, ::prost::Message)]
322pub struct CompleteMultipartRequest {
323 #[prost(message, optional, tag = "1")]
324 pub bucket: ::core::option::Option<BucketRef>,
325 #[prost(string, tag = "2")]
326 pub object_key: ::prost::alloc::string::String,
327 #[prost(string, tag = "3")]
328 pub upload_id: ::prost::alloc::string::String,
329 #[prost(message, repeated, tag = "4")]
330 pub parts: ::prost::alloc::vec::Vec<UploadedPart>,
331 #[prost(message, optional, tag = "5")]
332 pub mutation: ::core::option::Option<MutationIdentity>,
333}
334#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
335pub struct AbortMultipartRequest {
336 #[prost(message, optional, tag = "1")]
337 pub bucket: ::core::option::Option<BucketRef>,
338 #[prost(string, tag = "2")]
339 pub object_key: ::prost::alloc::string::String,
340 #[prost(string, tag = "3")]
341 pub upload_id: ::prost::alloc::string::String,
342 #[prost(message, optional, tag = "4")]
343 pub mutation: ::core::option::Option<MutationIdentity>,
344}
345#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
346pub struct AbortMultipartResponse {
347 #[prost(bool, tag = "1")]
348 pub existed: bool,
349}
350#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
351pub struct Snapshot {
352 #[prost(message, optional, tag = "1")]
353 pub snapshot: ::core::option::Option<SnapshotRef>,
354 #[prost(message, optional, tag = "2")]
355 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
356}
357#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
358pub struct CreateSnapshotRequest {
359 #[prost(message, optional, tag = "1")]
360 pub bucket: ::core::option::Option<BucketRef>,
361 #[prost(message, optional, tag = "2")]
362 pub mutation: ::core::option::Option<MutationIdentity>,
363}
364#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
365pub struct DestroySnapshotRequest {
366 #[prost(message, optional, tag = "1")]
367 pub snapshot: ::core::option::Option<SnapshotRef>,
368 #[prost(message, optional, tag = "2")]
369 pub mutation: ::core::option::Option<MutationIdentity>,
370}
371#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
372pub struct DestroySnapshotResponse {
373 #[prost(bool, tag = "1")]
374 pub existed: bool,
375}
376#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
377pub struct ForkSnapshotRequest {
378 #[prost(message, optional, tag = "1")]
379 pub snapshot: ::core::option::Option<SnapshotRef>,
380 #[prost(string, tag = "2")]
381 pub destination_name: ::prost::alloc::string::String,
382 #[prost(message, optional, tag = "3")]
383 pub mutation: ::core::option::Option<MutationIdentity>,
384}
385#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
386pub struct ForkBucketRequest {
387 #[prost(message, optional, tag = "1")]
388 pub source: ::core::option::Option<BucketRef>,
389 #[prost(string, tag = "2")]
390 pub destination_name: ::prost::alloc::string::String,
391 #[prost(message, optional, tag = "3")]
392 pub mutation: ::core::option::Option<MutationIdentity>,
393}
394#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
395pub struct ErrorDetail {
396 #[prost(enumeration = "ErrorCode", tag = "1")]
397 pub code: i32,
398 #[prost(string, tag = "2")]
399 pub request_id: ::prost::alloc::string::String,
400}
401#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
402#[repr(i32)]
403pub enum ListingMode {
404 Unspecified = 0,
405 Current = 1,
406 Versions = 2,
407}
408impl ListingMode {
409 pub fn as_str_name(&self) -> &'static str {
414 match self {
415 Self::Unspecified => "LISTING_MODE_UNSPECIFIED",
416 Self::Current => "LISTING_MODE_CURRENT",
417 Self::Versions => "LISTING_MODE_VERSIONS",
418 }
419 }
420 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
422 match value {
423 "LISTING_MODE_UNSPECIFIED" => Some(Self::Unspecified),
424 "LISTING_MODE_CURRENT" => Some(Self::Current),
425 "LISTING_MODE_VERSIONS" => Some(Self::Versions),
426 _ => None,
427 }
428 }
429}
430#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
431#[repr(i32)]
432pub enum ErrorCode {
433 Unspecified = 0,
434 InvalidArgument = 1,
435 NotFound = 2,
436 AlreadyExists = 3,
437 PreconditionFailed = 4,
438 IdempotencyMismatch = 5,
439 TokenExpired = 6,
440 QuotaExceeded = 7,
441 Unsupported = 8,
442 Unavailable = 9,
443}
444impl ErrorCode {
445 pub fn as_str_name(&self) -> &'static str {
450 match self {
451 Self::Unspecified => "ERROR_CODE_UNSPECIFIED",
452 Self::InvalidArgument => "ERROR_CODE_INVALID_ARGUMENT",
453 Self::NotFound => "ERROR_CODE_NOT_FOUND",
454 Self::AlreadyExists => "ERROR_CODE_ALREADY_EXISTS",
455 Self::PreconditionFailed => "ERROR_CODE_PRECONDITION_FAILED",
456 Self::IdempotencyMismatch => "ERROR_CODE_IDEMPOTENCY_MISMATCH",
457 Self::TokenExpired => "ERROR_CODE_TOKEN_EXPIRED",
458 Self::QuotaExceeded => "ERROR_CODE_QUOTA_EXCEEDED",
459 Self::Unsupported => "ERROR_CODE_UNSUPPORTED",
460 Self::Unavailable => "ERROR_CODE_UNAVAILABLE",
461 }
462 }
463 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
465 match value {
466 "ERROR_CODE_UNSPECIFIED" => Some(Self::Unspecified),
467 "ERROR_CODE_INVALID_ARGUMENT" => Some(Self::InvalidArgument),
468 "ERROR_CODE_NOT_FOUND" => Some(Self::NotFound),
469 "ERROR_CODE_ALREADY_EXISTS" => Some(Self::AlreadyExists),
470 "ERROR_CODE_PRECONDITION_FAILED" => Some(Self::PreconditionFailed),
471 "ERROR_CODE_IDEMPOTENCY_MISMATCH" => Some(Self::IdempotencyMismatch),
472 "ERROR_CODE_TOKEN_EXPIRED" => Some(Self::TokenExpired),
473 "ERROR_CODE_QUOTA_EXCEEDED" => Some(Self::QuotaExceeded),
474 "ERROR_CODE_UNSUPPORTED" => Some(Self::Unsupported),
475 "ERROR_CODE_UNAVAILABLE" => Some(Self::Unavailable),
476 _ => None,
477 }
478 }
479}
480#[cfg(feature = "grpc")]
481include!("acyclic.objects.v1.tonic.rs");
482