1#[derive(serde::Deserialize, serde::Serialize)]
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct User {
7 #[prost(string, tag = "1")]
9 pub id: ::prost::alloc::string::String,
10 #[prost(string, tag = "3")]
12 pub display_name: ::prost::alloc::string::String,
13 #[prost(bool, tag = "4")]
15 pub active: bool,
16 #[prost(string, tag = "5")]
18 pub email: ::prost::alloc::string::String,
19 #[prost(message, optional, tag = "6")]
21 pub attributes: ::core::option::Option<UserAttributes>,
22 #[prost(string, tag = "7")]
24 pub first_name: ::prost::alloc::string::String,
25 #[prost(string, tag = "8")]
26 pub last_name: ::prost::alloc::string::String,
27}
28#[derive(serde::Deserialize, serde::Serialize)]
29#[allow(clippy::derive_partial_eq_without_eq)]
30#[derive(Clone, PartialEq, ::prost::Message)]
31pub struct Permission {
32 #[prost(enumeration = "PermissionLevel", tag = "6")]
33 pub permission_level: i32,
34 #[prost(oneof = "permission::ResourceId", tags = "1, 2, 3, 4")]
35 pub resource_id: ::core::option::Option<permission::ResourceId>,
36}
37pub mod permission {
39 #[derive(serde::Deserialize, serde::Serialize)]
40 #[allow(clippy::derive_partial_eq_without_eq)]
41 #[derive(Clone, PartialEq, ::prost::Oneof)]
42 pub enum ResourceId {
43 #[prost(string, tag = "1")]
44 ProjectId(::prost::alloc::string::String),
45 #[prost(string, tag = "2")]
46 CollectionId(::prost::alloc::string::String),
47 #[prost(string, tag = "3")]
48 DatasetId(::prost::alloc::string::String),
49 #[prost(string, tag = "4")]
50 ObjectId(::prost::alloc::string::String),
51 }
52}
53#[derive(serde::Deserialize, serde::Serialize)]
54#[allow(clippy::derive_partial_eq_without_eq)]
55#[derive(Clone, PartialEq, ::prost::Message)]
56pub struct Token {
57 #[prost(string, tag = "1")]
58 pub id: ::prost::alloc::string::String,
59 #[prost(string, tag = "2")]
60 pub name: ::prost::alloc::string::String,
61 #[prost(message, optional, tag = "3")]
62 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
63 #[prost(message, optional, tag = "4")]
64 pub expires_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
65 #[prost(message, optional, tag = "5")]
67 pub permission: ::core::option::Option<Permission>,
68}
69#[derive(serde::Deserialize, serde::Serialize)]
70#[allow(clippy::derive_partial_eq_without_eq)]
71#[derive(Clone, PartialEq, ::prost::Message)]
72pub struct Pubkey {
73 #[prost(int32, tag = "1")]
74 pub id: i32,
75 #[prost(string, tag = "2")]
76 pub key: ::prost::alloc::string::String,
77 #[prost(string, tag = "3")]
78 pub location: ::prost::alloc::string::String,
79}
80#[derive(serde::Deserialize, serde::Serialize)]
81#[allow(clippy::derive_partial_eq_without_eq)]
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct CustomAttribute {
84 #[prost(string, tag = "1")]
85 pub attribute_name: ::prost::alloc::string::String,
86 #[prost(string, tag = "2")]
87 pub attribute_value: ::prost::alloc::string::String,
88}
89#[derive(serde::Deserialize, serde::Serialize)]
90#[allow(clippy::derive_partial_eq_without_eq)]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct DataProxyAttribute {
93 #[prost(string, tag = "1")]
94 pub attribute_name: ::prost::alloc::string::String,
95 #[prost(string, tag = "2")]
96 pub attribute_value: ::prost::alloc::string::String,
97 #[prost(string, tag = "3")]
98 pub signature: ::prost::alloc::string::String,
99 #[prost(string, tag = "4")]
100 pub proxy_id: ::prost::alloc::string::String,
101}
102#[derive(serde::Deserialize, serde::Serialize)]
103#[allow(clippy::derive_partial_eq_without_eq)]
104#[derive(Clone, PartialEq, ::prost::Message)]
105pub struct OidcMapping {
106 #[prost(string, tag = "1")]
107 pub external_id: ::prost::alloc::string::String,
108 #[prost(string, tag = "2")]
109 pub oidc_url: ::prost::alloc::string::String,
110}
111#[derive(serde::Deserialize, serde::Serialize)]
112#[allow(clippy::derive_partial_eq_without_eq)]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct UserAttributes {
115 #[prost(bool, tag = "1")]
116 pub global_admin: bool,
117 #[prost(bool, tag = "2")]
118 pub service_account: bool,
119 #[prost(message, repeated, tag = "3")]
120 pub tokens: ::prost::alloc::vec::Vec<Token>,
121 #[prost(string, repeated, tag = "4")]
122 pub trusted_endpoints: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
123 #[prost(message, repeated, tag = "5")]
124 pub custom_attributes: ::prost::alloc::vec::Vec<CustomAttribute>,
125 #[prost(message, repeated, tag = "6")]
126 pub personal_permissions: ::prost::alloc::vec::Vec<Permission>,
127 #[prost(message, repeated, tag = "7")]
128 pub external_ids: ::prost::alloc::vec::Vec<OidcMapping>,
129 #[prost(string, tag = "8")]
130 pub pubkey: ::prost::alloc::string::String,
131 #[prost(message, repeated, tag = "9")]
132 pub data_proxy_attributes: ::prost::alloc::vec::Vec<DataProxyAttribute>,
133}
134#[derive(serde::Deserialize, serde::Serialize)]
136#[allow(clippy::derive_partial_eq_without_eq)]
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct KeyValue {
139 #[prost(string, tag = "1")]
140 pub key: ::prost::alloc::string::String,
141 #[prost(string, tag = "2")]
142 pub value: ::prost::alloc::string::String,
143 #[prost(enumeration = "KeyValueVariant", tag = "3")]
144 pub variant: i32,
145}
146#[derive(serde::Deserialize, serde::Serialize)]
147#[allow(clippy::derive_partial_eq_without_eq)]
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct Relation {
150 #[prost(oneof = "relation::Relation", tags = "1, 2")]
151 pub relation: ::core::option::Option<relation::Relation>,
152}
153pub mod relation {
155 #[derive(serde::Deserialize, serde::Serialize)]
156 #[allow(clippy::derive_partial_eq_without_eq)]
157 #[derive(Clone, PartialEq, ::prost::Oneof)]
158 pub enum Relation {
159 #[prost(message, tag = "1")]
160 External(super::ExternalRelation),
161 #[prost(message, tag = "2")]
162 Internal(super::InternalRelation),
163 }
164}
165#[derive(serde::Deserialize, serde::Serialize)]
166#[allow(clippy::derive_partial_eq_without_eq)]
167#[derive(Clone, PartialEq, ::prost::Message)]
168pub struct ExternalRelation {
169 #[prost(string, tag = "1")]
170 pub identifier: ::prost::alloc::string::String,
171 #[prost(enumeration = "ExternalRelationVariant", tag = "2")]
172 pub defined_variant: i32,
173 #[prost(string, optional, tag = "3")]
175 pub custom_variant: ::core::option::Option<::prost::alloc::string::String>,
176}
177#[derive(serde::Deserialize, serde::Serialize)]
178#[allow(clippy::derive_partial_eq_without_eq)]
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct InternalRelation {
181 #[prost(string, tag = "1")]
182 pub resource_id: ::prost::alloc::string::String,
183 #[prost(enumeration = "ResourceVariant", tag = "2")]
184 pub resource_variant: i32,
185 #[prost(enumeration = "InternalRelationVariant", tag = "3")]
186 pub defined_variant: i32,
187 #[prost(string, optional, tag = "4")]
189 pub custom_variant: ::core::option::Option<::prost::alloc::string::String>,
190 #[prost(enumeration = "RelationDirection", tag = "5")]
191 pub direction: i32,
192}
193#[derive(serde::Deserialize, serde::Serialize)]
194#[allow(clippy::derive_partial_eq_without_eq)]
195#[derive(Clone, PartialEq, ::prost::Message)]
196pub struct PageRequest {
197 #[prost(string, tag = "1")]
199 pub start_after: ::prost::alloc::string::String,
200 #[prost(int64, tag = "2")]
202 pub page_size: i64,
203}
204#[derive(serde::Deserialize, serde::Serialize)]
206#[allow(clippy::derive_partial_eq_without_eq)]
207#[derive(Clone, PartialEq, ::prost::Message)]
208pub struct Stats {
209 #[prost(int64, tag = "1")]
210 pub count: i64,
211 #[prost(int64, tag = "2")]
212 pub size: i64,
213 #[prost(message, optional, tag = "3")]
214 pub last_updated: ::core::option::Option<::prost_wkt_types::Timestamp>,
215}
216#[derive(serde::Deserialize, serde::Serialize)]
217#[allow(clippy::derive_partial_eq_without_eq)]
218#[derive(Clone, PartialEq, ::prost::Message)]
219pub struct Hash {
220 #[prost(enumeration = "Hashalgorithm", tag = "1")]
221 pub alg: i32,
222 #[prost(string, tag = "2")]
223 pub hash: ::prost::alloc::string::String,
224}
225#[derive(serde::Deserialize, serde::Serialize)]
226#[allow(clippy::derive_partial_eq_without_eq)]
227#[derive(Clone, PartialEq, ::prost::Message)]
228pub struct EndpointHostConfig {
229 #[prost(string, tag = "1")]
230 pub url: ::prost::alloc::string::String,
231 #[prost(bool, tag = "2")]
232 pub is_primary: bool,
233 #[prost(bool, tag = "3")]
234 pub ssl: bool,
235 #[prost(bool, tag = "4")]
236 pub public: bool,
237 #[prost(enumeration = "EndpointHostVariant", tag = "5")]
238 pub host_variant: i32,
239}
240#[derive(serde::Deserialize, serde::Serialize)]
241#[allow(clippy::derive_partial_eq_without_eq)]
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct Endpoint {
244 #[prost(string, tag = "1")]
245 pub id: ::prost::alloc::string::String,
246 #[prost(enumeration = "EndpointVariant", tag = "2")]
247 pub ep_variant: i32,
248 #[prost(string, tag = "3")]
249 pub name: ::prost::alloc::string::String,
250 #[prost(bool, tag = "4")]
251 pub is_public: bool,
252 #[prost(enumeration = "ComponentStatus", tag = "5")]
253 pub status: i32,
254 #[prost(message, repeated, tag = "6")]
255 pub host_configs: ::prost::alloc::vec::Vec<EndpointHostConfig>,
256}
257#[derive(serde::Deserialize, serde::Serialize)]
258#[allow(clippy::derive_partial_eq_without_eq)]
259#[derive(Clone, PartialEq, ::prost::Message)]
260pub struct DataEndpoint {
261 #[prost(string, tag = "1")]
262 pub id: ::prost::alloc::string::String,
263 #[prost(enumeration = "ReplicationStatus", optional, tag = "4")]
264 pub status: ::core::option::Option<i32>,
265 #[prost(oneof = "data_endpoint::Variant", tags = "2, 3")]
269 pub variant: ::core::option::Option<data_endpoint::Variant>,
270}
271pub mod data_endpoint {
273 #[derive(serde::Deserialize, serde::Serialize)]
277 #[allow(clippy::derive_partial_eq_without_eq)]
278 #[derive(Clone, PartialEq, ::prost::Oneof)]
279 pub enum Variant {
280 #[prost(message, tag = "2")]
281 FullSync(super::FullSync),
282 #[prost(bool, tag = "3")]
283 PartialSync(bool),
284 }
285}
286#[derive(serde::Deserialize, serde::Serialize)]
287#[allow(clippy::derive_partial_eq_without_eq)]
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct FullSync {}
290#[derive(serde::Deserialize, serde::Serialize)]
291#[allow(clippy::derive_partial_eq_without_eq)]
292#[derive(Clone, PartialEq, ::prost::Message)]
293pub struct Copy {
294 #[prost(string, tag = "1")]
295 pub resource: ::prost::alloc::string::String,
296 #[prost(string, tag = "2")]
297 pub target_endpoint: ::prost::alloc::string::String,
298 #[prost(bool, tag = "3")]
299 pub push: bool,
300}
301#[derive(serde::Deserialize, serde::Serialize)]
302#[allow(clippy::derive_partial_eq_without_eq)]
303#[derive(Clone, PartialEq, ::prost::Message)]
304pub struct Context {
305 #[prost(oneof = "context::Context", tags = "1, 2")]
306 pub context: ::core::option::Option<context::Context>,
307}
308pub mod context {
310 #[derive(serde::Deserialize, serde::Serialize)]
311 #[allow(clippy::derive_partial_eq_without_eq)]
312 #[derive(Clone, PartialEq, ::prost::Oneof)]
313 pub enum Context {
314 #[prost(bool, tag = "1")]
315 S3Credentials(bool),
316 #[prost(message, tag = "2")]
317 Copy(super::Copy),
318 }
319}
320#[derive(serde::Deserialize, serde::Serialize)]
321#[allow(clippy::derive_partial_eq_without_eq)]
322#[derive(Clone, PartialEq, ::prost::Message)]
323pub struct License {
324 #[prost(string, tag = "1")]
326 pub tag: ::prost::alloc::string::String,
327 #[prost(string, tag = "2")]
329 pub name: ::prost::alloc::string::String,
330 #[prost(string, tag = "3")]
331 pub text: ::prost::alloc::string::String,
332 #[prost(string, tag = "4")]
336 pub url: ::prost::alloc::string::String,
337}
338#[derive(serde::Deserialize, serde::Serialize)]
339#[allow(clippy::derive_partial_eq_without_eq)]
340#[derive(Clone, PartialEq, ::prost::Message)]
341pub struct Author {
342 #[prost(string, tag = "1")]
343 pub first_name: ::prost::alloc::string::String,
344 #[prost(string, tag = "2")]
345 pub last_name: ::prost::alloc::string::String,
346 #[prost(string, optional, tag = "3")]
347 pub email: ::core::option::Option<::prost::alloc::string::String>,
348 #[prost(string, optional, tag = "4")]
349 pub orcid: ::core::option::Option<::prost::alloc::string::String>,
350 #[prost(string, optional, tag = "5")]
351 pub id: ::core::option::Option<::prost::alloc::string::String>,
352}
353#[derive(serde::Deserialize, serde::Serialize)]
354#[allow(clippy::derive_partial_eq_without_eq)]
355#[derive(Clone, PartialEq, ::prost::Message)]
356pub struct RuleBinding {
357 #[prost(string, tag = "1")]
358 pub rule_id: ::prost::alloc::string::String,
359 #[prost(string, tag = "2")]
360 pub origin: ::prost::alloc::string::String,
361}
362#[derive(serde::Deserialize, serde::Serialize)]
363#[allow(clippy::derive_partial_eq_without_eq)]
364#[derive(Clone, PartialEq, ::prost::Message)]
365pub struct GenericResource {
366 #[prost(oneof = "generic_resource::Resource", tags = "1, 2, 3, 4")]
367 pub resource: ::core::option::Option<generic_resource::Resource>,
368}
369pub mod generic_resource {
371 #[derive(serde::Deserialize, serde::Serialize)]
372 #[allow(clippy::derive_partial_eq_without_eq)]
373 #[derive(Clone, PartialEq, ::prost::Oneof)]
374 pub enum Resource {
375 #[prost(message, tag = "1")]
376 Project(super::Project),
377 #[prost(message, tag = "2")]
378 Collection(super::Collection),
379 #[prost(message, tag = "3")]
380 Dataset(super::Dataset),
381 #[prost(message, tag = "4")]
382 Object(super::Object),
383 }
384}
385#[derive(serde::Deserialize, serde::Serialize)]
386#[allow(clippy::derive_partial_eq_without_eq)]
387#[derive(Clone, PartialEq, ::prost::Message)]
388pub struct Project {
389 #[prost(string, tag = "1")]
390 pub id: ::prost::alloc::string::String,
391 #[prost(string, tag = "2")]
393 pub name: ::prost::alloc::string::String,
394 #[prost(string, tag = "15")]
396 pub title: ::prost::alloc::string::String,
397 #[prost(string, tag = "3")]
399 pub description: ::prost::alloc::string::String,
400 #[prost(message, repeated, tag = "4")]
402 pub key_values: ::prost::alloc::vec::Vec<KeyValue>,
403 #[prost(message, repeated, tag = "5")]
405 pub relations: ::prost::alloc::vec::Vec<Relation>,
406 #[prost(message, optional, tag = "6")]
407 pub stats: ::core::option::Option<Stats>,
408 #[prost(enumeration = "DataClass", tag = "7")]
409 pub data_class: i32,
410 #[prost(message, optional, tag = "8")]
411 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
412 #[prost(string, tag = "9")]
413 pub created_by: ::prost::alloc::string::String,
414 #[prost(message, repeated, tag = "16")]
415 pub authors: ::prost::alloc::vec::Vec<Author>,
416 #[prost(enumeration = "Status", tag = "10")]
417 pub status: i32,
418 #[prost(bool, tag = "11")]
419 pub dynamic: bool,
420 #[prost(message, repeated, tag = "12")]
421 pub endpoints: ::prost::alloc::vec::Vec<DataEndpoint>,
422 #[prost(string, tag = "13")]
423 pub metadata_license_tag: ::prost::alloc::string::String,
424 #[prost(string, tag = "14")]
425 pub default_data_license_tag: ::prost::alloc::string::String,
426 #[prost(message, repeated, tag = "17")]
427 pub rule_bindings: ::prost::alloc::vec::Vec<RuleBinding>,
428}
429#[derive(serde::Deserialize, serde::Serialize)]
430#[allow(clippy::derive_partial_eq_without_eq)]
431#[derive(Clone, PartialEq, ::prost::Message)]
432pub struct Collection {
433 #[prost(string, tag = "1")]
435 pub id: ::prost::alloc::string::String,
436 #[prost(string, tag = "2")]
438 pub name: ::prost::alloc::string::String,
439 #[prost(string, tag = "15")]
440 pub title: ::prost::alloc::string::String,
441 #[prost(string, tag = "3")]
443 pub description: ::prost::alloc::string::String,
444 #[prost(message, repeated, tag = "4")]
446 pub key_values: ::prost::alloc::vec::Vec<KeyValue>,
447 #[prost(message, repeated, tag = "5")]
449 pub relations: ::prost::alloc::vec::Vec<Relation>,
450 #[prost(message, optional, tag = "6")]
451 pub stats: ::core::option::Option<Stats>,
452 #[prost(enumeration = "DataClass", tag = "7")]
453 pub data_class: i32,
454 #[prost(message, optional, tag = "8")]
455 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
456 #[prost(string, tag = "9")]
457 pub created_by: ::prost::alloc::string::String,
458 #[prost(message, repeated, tag = "16")]
459 pub authors: ::prost::alloc::vec::Vec<Author>,
460 #[prost(enumeration = "Status", tag = "10")]
461 pub status: i32,
462 #[prost(bool, tag = "11")]
463 pub dynamic: bool,
464 #[prost(message, repeated, tag = "12")]
465 pub endpoints: ::prost::alloc::vec::Vec<DataEndpoint>,
466 #[prost(string, tag = "13")]
467 pub metadata_license_tag: ::prost::alloc::string::String,
468 #[prost(string, tag = "14")]
469 pub default_data_license_tag: ::prost::alloc::string::String,
470 #[prost(message, repeated, tag = "17")]
471 pub rule_bindings: ::prost::alloc::vec::Vec<RuleBinding>,
472}
473#[derive(serde::Deserialize, serde::Serialize)]
474#[allow(clippy::derive_partial_eq_without_eq)]
475#[derive(Clone, PartialEq, ::prost::Message)]
476pub struct Dataset {
477 #[prost(string, tag = "1")]
478 pub id: ::prost::alloc::string::String,
479 #[prost(string, tag = "2")]
480 pub name: ::prost::alloc::string::String,
481 #[prost(string, tag = "15")]
483 pub title: ::prost::alloc::string::String,
484 #[prost(string, tag = "3")]
485 pub description: ::prost::alloc::string::String,
486 #[prost(message, repeated, tag = "4")]
488 pub key_values: ::prost::alloc::vec::Vec<KeyValue>,
489 #[prost(message, repeated, tag = "5")]
491 pub relations: ::prost::alloc::vec::Vec<Relation>,
492 #[prost(message, optional, tag = "6")]
493 pub stats: ::core::option::Option<Stats>,
494 #[prost(enumeration = "DataClass", tag = "7")]
495 pub data_class: i32,
496 #[prost(message, optional, tag = "8")]
497 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
498 #[prost(string, tag = "9")]
499 pub created_by: ::prost::alloc::string::String,
500 #[prost(message, repeated, tag = "16")]
501 pub authors: ::prost::alloc::vec::Vec<Author>,
502 #[prost(enumeration = "Status", tag = "10")]
503 pub status: i32,
504 #[prost(bool, tag = "11")]
505 pub dynamic: bool,
506 #[prost(message, repeated, tag = "12")]
507 pub endpoints: ::prost::alloc::vec::Vec<DataEndpoint>,
508 #[prost(string, tag = "13")]
509 pub metadata_license_tag: ::prost::alloc::string::String,
510 #[prost(string, tag = "14")]
511 pub default_data_license_tag: ::prost::alloc::string::String,
512 #[prost(message, repeated, tag = "17")]
513 pub rule_bindings: ::prost::alloc::vec::Vec<RuleBinding>,
514}
515#[derive(serde::Deserialize, serde::Serialize)]
516#[allow(clippy::derive_partial_eq_without_eq)]
517#[derive(Clone, PartialEq, ::prost::Message)]
518pub struct Object {
519 #[prost(string, tag = "1")]
520 pub id: ::prost::alloc::string::String,
521 #[prost(string, tag = "2")]
522 pub name: ::prost::alloc::string::String,
523 #[prost(string, tag = "16")]
525 pub title: ::prost::alloc::string::String,
526 #[prost(string, tag = "3")]
527 pub description: ::prost::alloc::string::String,
528 #[prost(message, repeated, tag = "4")]
530 pub key_values: ::prost::alloc::vec::Vec<KeyValue>,
531 #[prost(message, repeated, tag = "5")]
533 pub relations: ::prost::alloc::vec::Vec<Relation>,
534 #[prost(int64, tag = "6")]
536 pub content_len: i64,
537 #[prost(enumeration = "DataClass", tag = "7")]
538 pub data_class: i32,
539 #[prost(message, optional, tag = "8")]
540 pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
541 #[prost(string, tag = "9")]
542 pub created_by: ::prost::alloc::string::String,
543 #[prost(message, repeated, tag = "17")]
544 pub authors: ::prost::alloc::vec::Vec<Author>,
545 #[prost(enumeration = "Status", tag = "10")]
546 pub status: i32,
547 #[prost(bool, tag = "11")]
548 pub dynamic: bool,
549 #[prost(message, repeated, tag = "12")]
550 pub endpoints: ::prost::alloc::vec::Vec<DataEndpoint>,
551 #[prost(message, repeated, tag = "13")]
553 pub hashes: ::prost::alloc::vec::Vec<Hash>,
554 #[prost(string, tag = "14")]
555 pub metadata_license_tag: ::prost::alloc::string::String,
556 #[prost(string, tag = "15")]
557 pub data_license_tag: ::prost::alloc::string::String,
558 #[prost(message, repeated, tag = "18")]
559 pub rule_bindings: ::prost::alloc::vec::Vec<RuleBinding>,
560}
561#[derive(serde::Deserialize, serde::Serialize)]
564#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
565#[repr(i32)]
566pub enum AnnouncementType {
567 Unspecified = 0,
568 Orga = 1,
569 Release = 2,
570 Update = 3,
571 Maintenance = 4,
572 Blog = 5,
573}
574impl AnnouncementType {
575 pub fn as_str_name(&self) -> &'static str {
580 match self {
581 AnnouncementType::Unspecified => "ANNOUNCEMENT_TYPE_UNSPECIFIED",
582 AnnouncementType::Orga => "ANNOUNCEMENT_TYPE_ORGA",
583 AnnouncementType::Release => "ANNOUNCEMENT_TYPE_RELEASE",
584 AnnouncementType::Update => "ANNOUNCEMENT_TYPE_UPDATE",
585 AnnouncementType::Maintenance => "ANNOUNCEMENT_TYPE_MAINTENANCE",
586 AnnouncementType::Blog => "ANNOUNCEMENT_TYPE_BLOG",
587 }
588 }
589 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
591 match value {
592 "ANNOUNCEMENT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
593 "ANNOUNCEMENT_TYPE_ORGA" => Some(Self::Orga),
594 "ANNOUNCEMENT_TYPE_RELEASE" => Some(Self::Release),
595 "ANNOUNCEMENT_TYPE_UPDATE" => Some(Self::Update),
596 "ANNOUNCEMENT_TYPE_MAINTENANCE" => Some(Self::Maintenance),
597 "ANNOUNCEMENT_TYPE_BLOG" => Some(Self::Blog),
598 _ => None,
599 }
600 }
601}
602#[derive(serde::Deserialize, serde::Serialize)]
604#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
605#[repr(i32)]
606pub enum DataClass {
607 Unspecified = 0,
608 Public = 1,
609 Private = 2,
610 Workspace = 4,
611 Confidential = 5,
612}
613impl DataClass {
614 pub fn as_str_name(&self) -> &'static str {
619 match self {
620 DataClass::Unspecified => "DATA_CLASS_UNSPECIFIED",
621 DataClass::Public => "DATA_CLASS_PUBLIC",
622 DataClass::Private => "DATA_CLASS_PRIVATE",
623 DataClass::Workspace => "DATA_CLASS_WORKSPACE",
624 DataClass::Confidential => "DATA_CLASS_CONFIDENTIAL",
625 }
626 }
627 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
629 match value {
630 "DATA_CLASS_UNSPECIFIED" => Some(Self::Unspecified),
631 "DATA_CLASS_PUBLIC" => Some(Self::Public),
632 "DATA_CLASS_PRIVATE" => Some(Self::Private),
633 "DATA_CLASS_WORKSPACE" => Some(Self::Workspace),
634 "DATA_CLASS_CONFIDENTIAL" => Some(Self::Confidential),
635 _ => None,
636 }
637 }
638}
639#[derive(serde::Deserialize, serde::Serialize)]
641#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
642#[repr(i32)]
643pub enum EndpointVariant {
644 Unspecified = 0,
645 Persistent = 1,
646 Volatile = 2,
647}
648impl EndpointVariant {
649 pub fn as_str_name(&self) -> &'static str {
654 match self {
655 EndpointVariant::Unspecified => "ENDPOINT_VARIANT_UNSPECIFIED",
656 EndpointVariant::Persistent => "ENDPOINT_VARIANT_PERSISTENT",
657 EndpointVariant::Volatile => "ENDPOINT_VARIANT_VOLATILE",
658 }
659 }
660 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
662 match value {
663 "ENDPOINT_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
664 "ENDPOINT_VARIANT_PERSISTENT" => Some(Self::Persistent),
665 "ENDPOINT_VARIANT_VOLATILE" => Some(Self::Volatile),
666 _ => None,
667 }
668 }
669}
670#[derive(serde::Deserialize, serde::Serialize)]
672#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
673#[repr(i32)]
674pub enum EndpointHostVariant {
675 Unspecified = 0,
676 Grpc = 1,
677 S3 = 2,
678}
679impl EndpointHostVariant {
680 pub fn as_str_name(&self) -> &'static str {
685 match self {
686 EndpointHostVariant::Unspecified => "ENDPOINT_HOST_VARIANT_UNSPECIFIED",
687 EndpointHostVariant::Grpc => "ENDPOINT_HOST_VARIANT_GRPC",
688 EndpointHostVariant::S3 => "ENDPOINT_HOST_VARIANT_S3",
689 }
690 }
691 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
693 match value {
694 "ENDPOINT_HOST_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
695 "ENDPOINT_HOST_VARIANT_GRPC" => Some(Self::Grpc),
696 "ENDPOINT_HOST_VARIANT_S3" => Some(Self::S3),
697 _ => None,
698 }
699 }
700}
701#[derive(serde::Deserialize, serde::Serialize)]
703#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
704#[repr(i32)]
705pub enum PermissionLevel {
706 Unspecified = 0,
707 None = 2,
708 Read = 3,
709 Append = 4,
710 Write = 5,
711 Admin = 6,
712}
713impl PermissionLevel {
714 pub fn as_str_name(&self) -> &'static str {
719 match self {
720 PermissionLevel::Unspecified => "PERMISSION_LEVEL_UNSPECIFIED",
721 PermissionLevel::None => "PERMISSION_LEVEL_NONE",
722 PermissionLevel::Read => "PERMISSION_LEVEL_READ",
723 PermissionLevel::Append => "PERMISSION_LEVEL_APPEND",
724 PermissionLevel::Write => "PERMISSION_LEVEL_WRITE",
725 PermissionLevel::Admin => "PERMISSION_LEVEL_ADMIN",
726 }
727 }
728 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
730 match value {
731 "PERMISSION_LEVEL_UNSPECIFIED" => Some(Self::Unspecified),
732 "PERMISSION_LEVEL_NONE" => Some(Self::None),
733 "PERMISSION_LEVEL_READ" => Some(Self::Read),
734 "PERMISSION_LEVEL_APPEND" => Some(Self::Append),
735 "PERMISSION_LEVEL_WRITE" => Some(Self::Write),
736 "PERMISSION_LEVEL_ADMIN" => Some(Self::Admin),
737 _ => None,
738 }
739 }
740}
741#[derive(serde::Deserialize, serde::Serialize)]
743#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
744#[repr(i32)]
745pub enum KeyValueVariant {
746 Unspecified = 0,
747 Label = 1,
748 StaticLabel = 2,
750 Hook = 3,
751 HookStatus = 4,
752}
753impl KeyValueVariant {
754 pub fn as_str_name(&self) -> &'static str {
759 match self {
760 KeyValueVariant::Unspecified => "KEY_VALUE_VARIANT_UNSPECIFIED",
761 KeyValueVariant::Label => "KEY_VALUE_VARIANT_LABEL",
762 KeyValueVariant::StaticLabel => "KEY_VALUE_VARIANT_STATIC_LABEL",
763 KeyValueVariant::Hook => "KEY_VALUE_VARIANT_HOOK",
764 KeyValueVariant::HookStatus => "KEY_VALUE_VARIANT_HOOK_STATUS",
765 }
766 }
767 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
769 match value {
770 "KEY_VALUE_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
771 "KEY_VALUE_VARIANT_LABEL" => Some(Self::Label),
772 "KEY_VALUE_VARIANT_STATIC_LABEL" => Some(Self::StaticLabel),
773 "KEY_VALUE_VARIANT_HOOK" => Some(Self::Hook),
774 "KEY_VALUE_VARIANT_HOOK_STATUS" => Some(Self::HookStatus),
775 _ => None,
776 }
777 }
778}
779#[derive(serde::Deserialize, serde::Serialize)]
781#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
782#[repr(i32)]
783pub enum ExternalRelationVariant {
784 Unspecified = 0,
785 Url = 1,
786 Identifier = 2,
787 Custom = 3,
788}
789impl ExternalRelationVariant {
790 pub fn as_str_name(&self) -> &'static str {
795 match self {
796 ExternalRelationVariant::Unspecified => {
797 "EXTERNAL_RELATION_VARIANT_UNSPECIFIED"
798 }
799 ExternalRelationVariant::Url => "EXTERNAL_RELATION_VARIANT_URL",
800 ExternalRelationVariant::Identifier => "EXTERNAL_RELATION_VARIANT_IDENTIFIER",
801 ExternalRelationVariant::Custom => "EXTERNAL_RELATION_VARIANT_CUSTOM",
802 }
803 }
804 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
806 match value {
807 "EXTERNAL_RELATION_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
808 "EXTERNAL_RELATION_VARIANT_URL" => Some(Self::Url),
809 "EXTERNAL_RELATION_VARIANT_IDENTIFIER" => Some(Self::Identifier),
810 "EXTERNAL_RELATION_VARIANT_CUSTOM" => Some(Self::Custom),
811 _ => None,
812 }
813 }
814}
815#[derive(serde::Deserialize, serde::Serialize)]
817#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
818#[repr(i32)]
819pub enum InternalRelationVariant {
820 Unspecified = 0,
821 BelongsTo = 1,
822 Origin = 2,
823 Version = 3,
824 Metadata = 4,
825 Policy = 5,
826 Deleted = 6,
827 Custom = 7,
828}
829impl InternalRelationVariant {
830 pub fn as_str_name(&self) -> &'static str {
835 match self {
836 InternalRelationVariant::Unspecified => {
837 "INTERNAL_RELATION_VARIANT_UNSPECIFIED"
838 }
839 InternalRelationVariant::BelongsTo => "INTERNAL_RELATION_VARIANT_BELONGS_TO",
840 InternalRelationVariant::Origin => "INTERNAL_RELATION_VARIANT_ORIGIN",
841 InternalRelationVariant::Version => "INTERNAL_RELATION_VARIANT_VERSION",
842 InternalRelationVariant::Metadata => "INTERNAL_RELATION_VARIANT_METADATA",
843 InternalRelationVariant::Policy => "INTERNAL_RELATION_VARIANT_POLICY",
844 InternalRelationVariant::Deleted => "INTERNAL_RELATION_VARIANT_DELETED",
845 InternalRelationVariant::Custom => "INTERNAL_RELATION_VARIANT_CUSTOM",
846 }
847 }
848 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
850 match value {
851 "INTERNAL_RELATION_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
852 "INTERNAL_RELATION_VARIANT_BELONGS_TO" => Some(Self::BelongsTo),
853 "INTERNAL_RELATION_VARIANT_ORIGIN" => Some(Self::Origin),
854 "INTERNAL_RELATION_VARIANT_VERSION" => Some(Self::Version),
855 "INTERNAL_RELATION_VARIANT_METADATA" => Some(Self::Metadata),
856 "INTERNAL_RELATION_VARIANT_POLICY" => Some(Self::Policy),
857 "INTERNAL_RELATION_VARIANT_DELETED" => Some(Self::Deleted),
858 "INTERNAL_RELATION_VARIANT_CUSTOM" => Some(Self::Custom),
859 _ => None,
860 }
861 }
862}
863#[derive(serde::Deserialize, serde::Serialize)]
865#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
866#[repr(i32)]
867pub enum RelationDirection {
868 Unspecified = 0,
869 Inbound = 1,
870 Outbound = 2,
871}
872impl RelationDirection {
873 pub fn as_str_name(&self) -> &'static str {
878 match self {
879 RelationDirection::Unspecified => "RELATION_DIRECTION_UNSPECIFIED",
880 RelationDirection::Inbound => "RELATION_DIRECTION_INBOUND",
881 RelationDirection::Outbound => "RELATION_DIRECTION_OUTBOUND",
882 }
883 }
884 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
886 match value {
887 "RELATION_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
888 "RELATION_DIRECTION_INBOUND" => Some(Self::Inbound),
889 "RELATION_DIRECTION_OUTBOUND" => Some(Self::Outbound),
890 _ => None,
891 }
892 }
893}
894#[derive(serde::Deserialize, serde::Serialize)]
897#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
898#[repr(i32)]
899pub enum ResourceAction {
900 Unspecified = 0,
901 Create = 1,
902 Append = 2,
903 Update = 3,
904 Read = 4,
905 Delete = 5,
906}
907impl ResourceAction {
908 pub fn as_str_name(&self) -> &'static str {
913 match self {
914 ResourceAction::Unspecified => "RESOURCE_ACTION_UNSPECIFIED",
915 ResourceAction::Create => "RESOURCE_ACTION_CREATE",
916 ResourceAction::Append => "RESOURCE_ACTION_APPEND",
917 ResourceAction::Update => "RESOURCE_ACTION_UPDATE",
918 ResourceAction::Read => "RESOURCE_ACTION_READ",
919 ResourceAction::Delete => "RESOURCE_ACTION_DELETE",
920 }
921 }
922 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
924 match value {
925 "RESOURCE_ACTION_UNSPECIFIED" => Some(Self::Unspecified),
926 "RESOURCE_ACTION_CREATE" => Some(Self::Create),
927 "RESOURCE_ACTION_APPEND" => Some(Self::Append),
928 "RESOURCE_ACTION_UPDATE" => Some(Self::Update),
929 "RESOURCE_ACTION_READ" => Some(Self::Read),
930 "RESOURCE_ACTION_DELETE" => Some(Self::Delete),
931 _ => None,
932 }
933 }
934}
935#[derive(serde::Deserialize, serde::Serialize)]
937#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
938#[repr(i32)]
939pub enum Status {
940 Unspecified = 0,
942 Initializing = 1,
944 Validating = 2,
946 Available = 3,
948 Unavailable = 4,
950 Error = 5,
952 Deleted = 6,
954}
955impl Status {
956 pub fn as_str_name(&self) -> &'static str {
961 match self {
962 Status::Unspecified => "STATUS_UNSPECIFIED",
963 Status::Initializing => "STATUS_INITIALIZING",
964 Status::Validating => "STATUS_VALIDATING",
965 Status::Available => "STATUS_AVAILABLE",
966 Status::Unavailable => "STATUS_UNAVAILABLE",
967 Status::Error => "STATUS_ERROR",
968 Status::Deleted => "STATUS_DELETED",
969 }
970 }
971 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
973 match value {
974 "STATUS_UNSPECIFIED" => Some(Self::Unspecified),
975 "STATUS_INITIALIZING" => Some(Self::Initializing),
976 "STATUS_VALIDATING" => Some(Self::Validating),
977 "STATUS_AVAILABLE" => Some(Self::Available),
978 "STATUS_UNAVAILABLE" => Some(Self::Unavailable),
979 "STATUS_ERROR" => Some(Self::Error),
980 "STATUS_DELETED" => Some(Self::Deleted),
981 _ => None,
982 }
983 }
984}
985#[derive(serde::Deserialize, serde::Serialize)]
987#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
988#[repr(i32)]
989pub enum ComponentStatus {
990 Unspecified = 0,
991 Initializing = 1,
992 Available = 2,
993 Degraded = 3,
994 Unavailable = 4,
995 Maintenance = 5,
996}
997impl ComponentStatus {
998 pub fn as_str_name(&self) -> &'static str {
1003 match self {
1004 ComponentStatus::Unspecified => "COMPONENT_STATUS_UNSPECIFIED",
1005 ComponentStatus::Initializing => "COMPONENT_STATUS_INITIALIZING",
1006 ComponentStatus::Available => "COMPONENT_STATUS_AVAILABLE",
1007 ComponentStatus::Degraded => "COMPONENT_STATUS_DEGRADED",
1008 ComponentStatus::Unavailable => "COMPONENT_STATUS_UNAVAILABLE",
1009 ComponentStatus::Maintenance => "COMPONENT_STATUS_MAINTENANCE",
1010 }
1011 }
1012 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1014 match value {
1015 "COMPONENT_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1016 "COMPONENT_STATUS_INITIALIZING" => Some(Self::Initializing),
1017 "COMPONENT_STATUS_AVAILABLE" => Some(Self::Available),
1018 "COMPONENT_STATUS_DEGRADED" => Some(Self::Degraded),
1019 "COMPONENT_STATUS_UNAVAILABLE" => Some(Self::Unavailable),
1020 "COMPONENT_STATUS_MAINTENANCE" => Some(Self::Maintenance),
1021 _ => None,
1022 }
1023 }
1024}
1025#[derive(serde::Deserialize, serde::Serialize)]
1026#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1027#[repr(i32)]
1028pub enum Hashalgorithm {
1029 Unspecified = 0,
1030 Md5 = 1,
1031 Sha256 = 2,
1032}
1033impl Hashalgorithm {
1034 pub fn as_str_name(&self) -> &'static str {
1039 match self {
1040 Hashalgorithm::Unspecified => "HASHALGORITHM_UNSPECIFIED",
1041 Hashalgorithm::Md5 => "HASHALGORITHM_MD5",
1042 Hashalgorithm::Sha256 => "HASHALGORITHM_SHA256",
1043 }
1044 }
1045 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1047 match value {
1048 "HASHALGORITHM_UNSPECIFIED" => Some(Self::Unspecified),
1049 "HASHALGORITHM_MD5" => Some(Self::Md5),
1050 "HASHALGORITHM_SHA256" => Some(Self::Sha256),
1051 _ => None,
1052 }
1053 }
1054}
1055#[derive(serde::Deserialize, serde::Serialize)]
1056#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1057#[repr(i32)]
1058pub enum ResourceVariant {
1059 Unspecified = 0,
1060 Project = 1,
1061 Collection = 2,
1062 Dataset = 3,
1063 Object = 4,
1064}
1065impl ResourceVariant {
1066 pub fn as_str_name(&self) -> &'static str {
1071 match self {
1072 ResourceVariant::Unspecified => "RESOURCE_VARIANT_UNSPECIFIED",
1073 ResourceVariant::Project => "RESOURCE_VARIANT_PROJECT",
1074 ResourceVariant::Collection => "RESOURCE_VARIANT_COLLECTION",
1075 ResourceVariant::Dataset => "RESOURCE_VARIANT_DATASET",
1076 ResourceVariant::Object => "RESOURCE_VARIANT_OBJECT",
1077 }
1078 }
1079 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1081 match value {
1082 "RESOURCE_VARIANT_UNSPECIFIED" => Some(Self::Unspecified),
1083 "RESOURCE_VARIANT_PROJECT" => Some(Self::Project),
1084 "RESOURCE_VARIANT_COLLECTION" => Some(Self::Collection),
1085 "RESOURCE_VARIANT_DATASET" => Some(Self::Dataset),
1086 "RESOURCE_VARIANT_OBJECT" => Some(Self::Object),
1087 _ => None,
1088 }
1089 }
1090}
1091#[derive(serde::Deserialize, serde::Serialize)]
1092#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1093#[repr(i32)]
1094pub enum ReplicationStatus {
1095 Unspecified = 0,
1096 Waiting = 1,
1097 Running = 2,
1098 Finished = 3,
1099 Error = 4,
1100}
1101impl ReplicationStatus {
1102 pub fn as_str_name(&self) -> &'static str {
1107 match self {
1108 ReplicationStatus::Unspecified => "REPLICATION_STATUS_UNSPECIFIED",
1109 ReplicationStatus::Waiting => "REPLICATION_STATUS_WAITING",
1110 ReplicationStatus::Running => "REPLICATION_STATUS_RUNNING",
1111 ReplicationStatus::Finished => "REPLICATION_STATUS_FINISHED",
1112 ReplicationStatus::Error => "REPLICATION_STATUS_ERROR",
1113 }
1114 }
1115 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1117 match value {
1118 "REPLICATION_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
1119 "REPLICATION_STATUS_WAITING" => Some(Self::Waiting),
1120 "REPLICATION_STATUS_RUNNING" => Some(Self::Running),
1121 "REPLICATION_STATUS_FINISHED" => Some(Self::Finished),
1122 "REPLICATION_STATUS_ERROR" => Some(Self::Error),
1123 _ => None,
1124 }
1125 }
1126}