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")]
165 pub range_requested: bool,
166}
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct GetObjectResponse {
169 #[prost(oneof = "get_object_response::Frame", tags = "1, 2")]
170 pub frame: ::core::option::Option<get_object_response::Frame>,
171}
172pub mod get_object_response {
174 #[derive(Clone, PartialEq, ::prost::Oneof)]
175 pub enum Frame {
176 #[prost(message, tag = "1")]
177 Version(super::ObjectVersion),
178 #[prost(bytes, tag = "2")]
179 Body(::prost::alloc::vec::Vec<u8>),
180 }
181}
182#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
183pub struct HeadObjectRequest {
184 #[prost(message, optional, tag = "1")]
185 pub target: ::core::option::Option<ReadTarget>,
186 #[prost(string, tag = "2")]
187 pub object_key: ::prost::alloc::string::String,
188 #[prost(string, tag = "3")]
189 pub version_id: ::prost::alloc::string::String,
190 #[prost(string, tag = "4")]
191 pub if_match: ::prost::alloc::string::String,
192 #[prost(string, tag = "5")]
193 pub if_none_match: ::prost::alloc::string::String,
194}
195#[derive(Clone, PartialEq, ::prost::Message)]
196pub struct HeadObjectResponse {
197 #[prost(message, optional, tag = "1")]
198 pub version: ::core::option::Option<ObjectVersion>,
199}
200#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
201pub struct DeleteObjectRequest {
202 #[prost(message, optional, tag = "1")]
203 pub bucket: ::core::option::Option<BucketRef>,
204 #[prost(string, tag = "2")]
205 pub object_key: ::prost::alloc::string::String,
206 #[prost(string, tag = "3")]
207 pub version_id: ::prost::alloc::string::String,
208 #[prost(message, optional, tag = "4")]
209 pub preconditions: ::core::option::Option<Preconditions>,
210 #[prost(message, optional, tag = "5")]
211 pub mutation: ::core::option::Option<MutationIdentity>,
212}
213#[derive(Clone, PartialEq, ::prost::Message)]
214pub struct DeleteObjectResponse {
215 #[prost(bool, tag = "1")]
216 pub existed: bool,
217 #[prost(message, optional, tag = "2")]
218 pub version: ::core::option::Option<ObjectVersion>,
219}
220#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
221pub struct ListObjectsRequest {
222 #[prost(message, optional, tag = "1")]
223 pub target: ::core::option::Option<ReadTarget>,
224 #[prost(string, tag = "2")]
225 pub prefix: ::prost::alloc::string::String,
226 #[prost(string, tag = "3")]
227 pub delimiter: ::prost::alloc::string::String,
228 #[prost(enumeration = "ListingMode", tag = "4")]
229 pub mode: i32,
230 #[prost(uint32, tag = "5")]
231 pub page_size: u32,
232 #[prost(string, tag = "6")]
233 pub continuation_token: ::prost::alloc::string::String,
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct ListEntry {
237 #[prost(string, tag = "1")]
238 pub object_key: ::prost::alloc::string::String,
239 #[prost(message, optional, tag = "2")]
240 pub version: ::core::option::Option<ObjectVersion>,
241}
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct ListObjectsResponse {
244 #[prost(message, repeated, tag = "1")]
245 pub entries: ::prost::alloc::vec::Vec<ListEntry>,
246 #[prost(string, repeated, tag = "2")]
247 pub common_prefixes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
248 #[prost(string, tag = "3")]
249 pub continuation_token: ::prost::alloc::string::String,
250}
251#[derive(Clone, PartialEq, ::prost::Message)]
252pub struct CreateMultipartRequest {
253 #[prost(message, optional, tag = "1")]
254 pub bucket: ::core::option::Option<BucketRef>,
255 #[prost(string, tag = "2")]
256 pub object_key: ::prost::alloc::string::String,
257 #[prost(message, optional, tag = "3")]
258 pub metadata: ::core::option::Option<ObjectMetadata>,
259 #[prost(message, optional, tag = "4")]
260 pub preconditions: ::core::option::Option<Preconditions>,
261 #[prost(message, optional, tag = "5")]
262 pub mutation: ::core::option::Option<MutationIdentity>,
263}
264#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
265pub struct MultipartUpload {
266 #[prost(string, tag = "1")]
267 pub upload_id: ::prost::alloc::string::String,
268}
269#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
270pub struct UploadPartHeader {
271 #[prost(message, optional, tag = "1")]
272 pub bucket: ::core::option::Option<BucketRef>,
273 #[prost(string, tag = "2")]
274 pub object_key: ::prost::alloc::string::String,
275 #[prost(string, tag = "3")]
276 pub upload_id: ::prost::alloc::string::String,
277 #[prost(uint32, tag = "4")]
278 pub part_number: u32,
279 #[prost(message, optional, tag = "5")]
280 pub mutation: ::core::option::Option<MutationIdentity>,
281}
282#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
283pub struct UploadPartRequest {
284 #[prost(oneof = "upload_part_request::Frame", tags = "1, 2")]
285 pub frame: ::core::option::Option<upload_part_request::Frame>,
286}
287pub mod upload_part_request {
289 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
290 pub enum Frame {
291 #[prost(message, tag = "1")]
292 Header(super::UploadPartHeader),
293 #[prost(bytes, tag = "2")]
294 Body(::prost::alloc::vec::Vec<u8>),
295 }
296}
297#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
298pub struct UploadedPart {
299 #[prost(uint32, tag = "1")]
300 pub part_number: u32,
301 #[prost(string, tag = "2")]
302 pub etag: ::prost::alloc::string::String,
303 #[prost(uint64, tag = "3")]
304 pub size: u64,
305}
306#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
307pub struct ListPartsRequest {
308 #[prost(message, optional, tag = "1")]
309 pub bucket: ::core::option::Option<BucketRef>,
310 #[prost(string, tag = "2")]
311 pub object_key: ::prost::alloc::string::String,
312 #[prost(string, tag = "3")]
313 pub upload_id: ::prost::alloc::string::String,
314}
315#[derive(Clone, PartialEq, ::prost::Message)]
316pub struct ListPartsResponse {
317 #[prost(message, repeated, tag = "1")]
318 pub parts: ::prost::alloc::vec::Vec<UploadedPart>,
319}
320#[derive(Clone, PartialEq, ::prost::Message)]
321pub struct CompleteMultipartRequest {
322 #[prost(message, optional, tag = "1")]
323 pub bucket: ::core::option::Option<BucketRef>,
324 #[prost(string, tag = "2")]
325 pub object_key: ::prost::alloc::string::String,
326 #[prost(string, tag = "3")]
327 pub upload_id: ::prost::alloc::string::String,
328 #[prost(message, repeated, tag = "4")]
329 pub parts: ::prost::alloc::vec::Vec<UploadedPart>,
330 #[prost(message, optional, tag = "5")]
331 pub mutation: ::core::option::Option<MutationIdentity>,
332}
333#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
334pub struct AbortMultipartRequest {
335 #[prost(message, optional, tag = "1")]
336 pub bucket: ::core::option::Option<BucketRef>,
337 #[prost(string, tag = "2")]
338 pub object_key: ::prost::alloc::string::String,
339 #[prost(string, tag = "3")]
340 pub upload_id: ::prost::alloc::string::String,
341 #[prost(message, optional, tag = "4")]
342 pub mutation: ::core::option::Option<MutationIdentity>,
343}
344#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
345pub struct AbortMultipartResponse {
346 #[prost(bool, tag = "1")]
347 pub existed: bool,
348}
349#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
350pub struct Snapshot {
351 #[prost(message, optional, tag = "1")]
352 pub snapshot: ::core::option::Option<SnapshotRef>,
353 #[prost(message, optional, tag = "2")]
354 pub created_at: ::core::option::Option<::prost_types::Timestamp>,
355}
356#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
357pub struct CreateSnapshotRequest {
358 #[prost(message, optional, tag = "1")]
359 pub bucket: ::core::option::Option<BucketRef>,
360 #[prost(message, optional, tag = "2")]
361 pub mutation: ::core::option::Option<MutationIdentity>,
362}
363#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
364pub struct DestroySnapshotRequest {
365 #[prost(message, optional, tag = "1")]
366 pub snapshot: ::core::option::Option<SnapshotRef>,
367 #[prost(message, optional, tag = "2")]
368 pub mutation: ::core::option::Option<MutationIdentity>,
369}
370#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
371pub struct DestroySnapshotResponse {
372 #[prost(bool, tag = "1")]
373 pub existed: bool,
374}
375#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
376pub struct ForkSnapshotRequest {
377 #[prost(message, optional, tag = "1")]
378 pub snapshot: ::core::option::Option<SnapshotRef>,
379 #[prost(string, tag = "2")]
380 pub destination_name: ::prost::alloc::string::String,
381 #[prost(message, optional, tag = "3")]
382 pub mutation: ::core::option::Option<MutationIdentity>,
383}
384#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
385pub struct ForkBucketRequest {
386 #[prost(message, optional, tag = "1")]
387 pub source: ::core::option::Option<BucketRef>,
388 #[prost(string, tag = "2")]
389 pub destination_name: ::prost::alloc::string::String,
390 #[prost(message, optional, tag = "3")]
391 pub mutation: ::core::option::Option<MutationIdentity>,
392}
393#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
394pub struct ErrorDetail {
395 #[prost(enumeration = "ErrorCode", tag = "1")]
396 pub code: i32,
397 #[prost(string, tag = "2")]
398 pub request_id: ::prost::alloc::string::String,
399}
400#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
401#[repr(i32)]
402pub enum ListingMode {
403 Unspecified = 0,
404 Current = 1,
405 Versions = 2,
406}
407impl ListingMode {
408 pub fn as_str_name(&self) -> &'static str {
413 match self {
414 Self::Unspecified => "LISTING_MODE_UNSPECIFIED",
415 Self::Current => "LISTING_MODE_CURRENT",
416 Self::Versions => "LISTING_MODE_VERSIONS",
417 }
418 }
419 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
421 match value {
422 "LISTING_MODE_UNSPECIFIED" => Some(Self::Unspecified),
423 "LISTING_MODE_CURRENT" => Some(Self::Current),
424 "LISTING_MODE_VERSIONS" => Some(Self::Versions),
425 _ => None,
426 }
427 }
428}
429#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
430#[repr(i32)]
431pub enum ErrorCode {
432 Unspecified = 0,
433 InvalidArgument = 1,
434 NotFound = 2,
435 AlreadyExists = 3,
436 PreconditionFailed = 4,
437 IdempotencyMismatch = 5,
438 TokenExpired = 6,
439 QuotaExceeded = 7,
440 Unsupported = 8,
441 Unavailable = 9,
442}
443impl ErrorCode {
444 pub fn as_str_name(&self) -> &'static str {
449 match self {
450 Self::Unspecified => "ERROR_CODE_UNSPECIFIED",
451 Self::InvalidArgument => "ERROR_CODE_INVALID_ARGUMENT",
452 Self::NotFound => "ERROR_CODE_NOT_FOUND",
453 Self::AlreadyExists => "ERROR_CODE_ALREADY_EXISTS",
454 Self::PreconditionFailed => "ERROR_CODE_PRECONDITION_FAILED",
455 Self::IdempotencyMismatch => "ERROR_CODE_IDEMPOTENCY_MISMATCH",
456 Self::TokenExpired => "ERROR_CODE_TOKEN_EXPIRED",
457 Self::QuotaExceeded => "ERROR_CODE_QUOTA_EXCEEDED",
458 Self::Unsupported => "ERROR_CODE_UNSUPPORTED",
459 Self::Unavailable => "ERROR_CODE_UNAVAILABLE",
460 }
461 }
462 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
464 match value {
465 "ERROR_CODE_UNSPECIFIED" => Some(Self::Unspecified),
466 "ERROR_CODE_INVALID_ARGUMENT" => Some(Self::InvalidArgument),
467 "ERROR_CODE_NOT_FOUND" => Some(Self::NotFound),
468 "ERROR_CODE_ALREADY_EXISTS" => Some(Self::AlreadyExists),
469 "ERROR_CODE_PRECONDITION_FAILED" => Some(Self::PreconditionFailed),
470 "ERROR_CODE_IDEMPOTENCY_MISMATCH" => Some(Self::IdempotencyMismatch),
471 "ERROR_CODE_TOKEN_EXPIRED" => Some(Self::TokenExpired),
472 "ERROR_CODE_QUOTA_EXCEEDED" => Some(Self::QuotaExceeded),
473 "ERROR_CODE_UNSUPPORTED" => Some(Self::Unsupported),
474 "ERROR_CODE_UNAVAILABLE" => Some(Self::Unavailable),
475 _ => None,
476 }
477 }
478}
479#[cfg(feature = "grpc")]
480include!("acyclic.objects.v1.tonic.rs");
481