1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Http {
4 #[prost(message, repeated, tag = "1")]
5 pub rules: ::prost::alloc::vec::Vec<HttpRule>,
6 #[prost(bool, tag = "2")]
7 pub fully_decode_reserved_expansion: bool,
8}
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct HttpRule {
11 #[prost(string, tag = "1")]
12 pub selector: ::prost::alloc::string::String,
13 #[prost(string, tag = "7")]
14 pub body: ::prost::alloc::string::String,
15 #[prost(string, tag = "12")]
16 pub response_body: ::prost::alloc::string::String,
17 #[prost(message, repeated, tag = "11")]
18 pub additional_bindings: ::prost::alloc::vec::Vec<HttpRule>,
19 #[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")]
20 pub pattern: ::core::option::Option<http_rule::Pattern>,
21}
22pub mod http_rule {
24 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
25 pub enum Pattern {
26 #[prost(string, tag = "2")]
27 Get(::prost::alloc::string::String),
28 #[prost(string, tag = "3")]
29 Put(::prost::alloc::string::String),
30 #[prost(string, tag = "4")]
31 Post(::prost::alloc::string::String),
32 #[prost(string, tag = "5")]
33 Delete(::prost::alloc::string::String),
34 #[prost(string, tag = "6")]
35 Patch(::prost::alloc::string::String),
36 #[prost(message, tag = "8")]
37 Custom(super::CustomHttpPattern),
38 }
39}
40#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
41pub struct CustomHttpPattern {
42 #[prost(string, tag = "1")]
43 pub kind: ::prost::alloc::string::String,
44 #[prost(string, tag = "2")]
45 pub path: ::prost::alloc::string::String,
46}
47#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
48#[repr(i32)]
49pub enum LaunchStage {
50 Unspecified = 0,
51 Unimplemented = 6,
52 Prelaunch = 7,
53 EarlyAccess = 1,
54 Alpha = 2,
55 Beta = 3,
56 Ga = 4,
57 Deprecated = 5,
58}
59impl LaunchStage {
60 pub fn as_str_name(&self) -> &'static str {
65 match self {
66 Self::Unspecified => "LAUNCH_STAGE_UNSPECIFIED",
67 Self::Unimplemented => "UNIMPLEMENTED",
68 Self::Prelaunch => "PRELAUNCH",
69 Self::EarlyAccess => "EARLY_ACCESS",
70 Self::Alpha => "ALPHA",
71 Self::Beta => "BETA",
72 Self::Ga => "GA",
73 Self::Deprecated => "DEPRECATED",
74 }
75 }
76 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
78 match value {
79 "LAUNCH_STAGE_UNSPECIFIED" => Some(Self::Unspecified),
80 "UNIMPLEMENTED" => Some(Self::Unimplemented),
81 "PRELAUNCH" => Some(Self::Prelaunch),
82 "EARLY_ACCESS" => Some(Self::EarlyAccess),
83 "ALPHA" => Some(Self::Alpha),
84 "BETA" => Some(Self::Beta),
85 "GA" => Some(Self::Ga),
86 "DEPRECATED" => Some(Self::Deprecated),
87 _ => None,
88 }
89 }
90}
91#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
92pub struct CommonLanguageSettings {
93 #[deprecated]
94 #[prost(string, tag = "1")]
95 pub reference_docs_uri: ::prost::alloc::string::String,
96 #[prost(enumeration = "ClientLibraryDestination", repeated, tag = "2")]
97 pub destinations: ::prost::alloc::vec::Vec<i32>,
98 #[prost(message, optional, tag = "3")]
99 pub selective_gapic_generation: ::core::option::Option<SelectiveGapicGeneration>,
100}
101#[derive(Clone, PartialEq, ::prost::Message)]
102pub struct ClientLibrarySettings {
103 #[prost(string, tag = "1")]
104 pub version: ::prost::alloc::string::String,
105 #[prost(enumeration = "LaunchStage", tag = "2")]
106 pub launch_stage: i32,
107 #[prost(bool, tag = "3")]
108 pub rest_numeric_enums: bool,
109 #[prost(message, optional, tag = "21")]
110 pub java_settings: ::core::option::Option<JavaSettings>,
111 #[prost(message, optional, tag = "22")]
112 pub cpp_settings: ::core::option::Option<CppSettings>,
113 #[prost(message, optional, tag = "23")]
114 pub php_settings: ::core::option::Option<PhpSettings>,
115 #[prost(message, optional, tag = "24")]
116 pub python_settings: ::core::option::Option<PythonSettings>,
117 #[prost(message, optional, tag = "25")]
118 pub node_settings: ::core::option::Option<NodeSettings>,
119 #[prost(message, optional, tag = "26")]
120 pub dotnet_settings: ::core::option::Option<DotnetSettings>,
121 #[prost(message, optional, tag = "27")]
122 pub ruby_settings: ::core::option::Option<RubySettings>,
123 #[prost(message, optional, tag = "28")]
124 pub go_settings: ::core::option::Option<GoSettings>,
125}
126#[derive(Clone, PartialEq, ::prost::Message)]
127pub struct Publishing {
128 #[prost(message, repeated, tag = "2")]
129 pub method_settings: ::prost::alloc::vec::Vec<MethodSettings>,
130 #[prost(string, tag = "101")]
131 pub new_issue_uri: ::prost::alloc::string::String,
132 #[prost(string, tag = "102")]
133 pub documentation_uri: ::prost::alloc::string::String,
134 #[prost(string, tag = "103")]
135 pub api_short_name: ::prost::alloc::string::String,
136 #[prost(string, tag = "104")]
137 pub github_label: ::prost::alloc::string::String,
138 #[prost(string, repeated, tag = "105")]
139 pub codeowner_github_teams: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
140 #[prost(string, tag = "106")]
141 pub doc_tag_prefix: ::prost::alloc::string::String,
142 #[prost(enumeration = "ClientLibraryOrganization", tag = "107")]
143 pub organization: i32,
144 #[prost(message, repeated, tag = "109")]
145 pub library_settings: ::prost::alloc::vec::Vec<ClientLibrarySettings>,
146 #[prost(string, tag = "110")]
147 pub proto_reference_documentation_uri: ::prost::alloc::string::String,
148 #[prost(string, tag = "111")]
149 pub rest_reference_documentation_uri: ::prost::alloc::string::String,
150}
151#[derive(Clone, PartialEq, ::prost::Message)]
152pub struct JavaSettings {
153 #[prost(string, tag = "1")]
154 pub library_package: ::prost::alloc::string::String,
155 #[prost(map = "string, string", tag = "2")]
156 pub service_class_names: ::std::collections::HashMap<
157 ::prost::alloc::string::String,
158 ::prost::alloc::string::String,
159 >,
160 #[prost(message, optional, tag = "3")]
161 pub common: ::core::option::Option<CommonLanguageSettings>,
162}
163#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
164pub struct CppSettings {
165 #[prost(message, optional, tag = "1")]
166 pub common: ::core::option::Option<CommonLanguageSettings>,
167}
168#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
169pub struct PhpSettings {
170 #[prost(message, optional, tag = "1")]
171 pub common: ::core::option::Option<CommonLanguageSettings>,
172}
173#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
174pub struct PythonSettings {
175 #[prost(message, optional, tag = "1")]
176 pub common: ::core::option::Option<CommonLanguageSettings>,
177 #[prost(message, optional, tag = "2")]
178 pub experimental_features: ::core::option::Option<
179 python_settings::ExperimentalFeatures,
180 >,
181}
182pub mod python_settings {
184 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
185 pub struct ExperimentalFeatures {
186 #[prost(bool, tag = "1")]
187 pub rest_async_io_enabled: bool,
188 #[prost(bool, tag = "2")]
189 pub protobuf_pythonic_types_enabled: bool,
190 #[prost(bool, tag = "3")]
191 pub unversioned_package_disabled: bool,
192 }
193}
194#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
195pub struct NodeSettings {
196 #[prost(message, optional, tag = "1")]
197 pub common: ::core::option::Option<CommonLanguageSettings>,
198}
199#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct DotnetSettings {
201 #[prost(message, optional, tag = "1")]
202 pub common: ::core::option::Option<CommonLanguageSettings>,
203 #[prost(map = "string, string", tag = "2")]
204 pub renamed_services: ::std::collections::HashMap<
205 ::prost::alloc::string::String,
206 ::prost::alloc::string::String,
207 >,
208 #[prost(map = "string, string", tag = "3")]
209 pub renamed_resources: ::std::collections::HashMap<
210 ::prost::alloc::string::String,
211 ::prost::alloc::string::String,
212 >,
213 #[prost(string, repeated, tag = "4")]
214 pub ignored_resources: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
215 #[prost(string, repeated, tag = "5")]
216 pub forced_namespace_aliases: ::prost::alloc::vec::Vec<
217 ::prost::alloc::string::String,
218 >,
219 #[prost(string, repeated, tag = "6")]
220 pub handwritten_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
221}
222#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
223pub struct RubySettings {
224 #[prost(message, optional, tag = "1")]
225 pub common: ::core::option::Option<CommonLanguageSettings>,
226}
227#[derive(Clone, PartialEq, ::prost::Message)]
228pub struct GoSettings {
229 #[prost(message, optional, tag = "1")]
230 pub common: ::core::option::Option<CommonLanguageSettings>,
231 #[prost(map = "string, string", tag = "2")]
232 pub renamed_services: ::std::collections::HashMap<
233 ::prost::alloc::string::String,
234 ::prost::alloc::string::String,
235 >,
236}
237#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct MethodSettings {
239 #[prost(string, tag = "1")]
240 pub selector: ::prost::alloc::string::String,
241 #[prost(message, optional, tag = "2")]
242 pub long_running: ::core::option::Option<method_settings::LongRunning>,
243 #[prost(string, repeated, tag = "3")]
244 pub auto_populated_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
245}
246pub mod method_settings {
248 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
249 pub struct LongRunning {
250 #[prost(message, optional, tag = "1")]
251 pub initial_poll_delay: ::core::option::Option<::prost_types::Duration>,
252 #[prost(float, tag = "2")]
253 pub poll_delay_multiplier: f32,
254 #[prost(message, optional, tag = "3")]
255 pub max_poll_delay: ::core::option::Option<::prost_types::Duration>,
256 #[prost(message, optional, tag = "4")]
257 pub total_poll_timeout: ::core::option::Option<::prost_types::Duration>,
258 }
259}
260#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
261pub struct SelectiveGapicGeneration {
262 #[prost(string, repeated, tag = "1")]
263 pub methods: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
264 #[prost(bool, tag = "2")]
265 pub generate_omitted_as_internal: bool,
266}
267#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
268#[repr(i32)]
269pub enum ClientLibraryOrganization {
270 Unspecified = 0,
271 Cloud = 1,
272 Ads = 2,
273 Photos = 3,
274 StreetView = 4,
275 Shopping = 5,
276 Geo = 6,
277 GenerativeAi = 7,
278}
279impl ClientLibraryOrganization {
280 pub fn as_str_name(&self) -> &'static str {
285 match self {
286 Self::Unspecified => "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED",
287 Self::Cloud => "CLOUD",
288 Self::Ads => "ADS",
289 Self::Photos => "PHOTOS",
290 Self::StreetView => "STREET_VIEW",
291 Self::Shopping => "SHOPPING",
292 Self::Geo => "GEO",
293 Self::GenerativeAi => "GENERATIVE_AI",
294 }
295 }
296 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
298 match value {
299 "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" => Some(Self::Unspecified),
300 "CLOUD" => Some(Self::Cloud),
301 "ADS" => Some(Self::Ads),
302 "PHOTOS" => Some(Self::Photos),
303 "STREET_VIEW" => Some(Self::StreetView),
304 "SHOPPING" => Some(Self::Shopping),
305 "GEO" => Some(Self::Geo),
306 "GENERATIVE_AI" => Some(Self::GenerativeAi),
307 _ => None,
308 }
309 }
310}
311#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
312#[repr(i32)]
313pub enum ClientLibraryDestination {
314 Unspecified = 0,
315 Github = 10,
316 PackageManager = 20,
317}
318impl ClientLibraryDestination {
319 pub fn as_str_name(&self) -> &'static str {
324 match self {
325 Self::Unspecified => "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED",
326 Self::Github => "GITHUB",
327 Self::PackageManager => "PACKAGE_MANAGER",
328 }
329 }
330 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
332 match value {
333 "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED" => Some(Self::Unspecified),
334 "GITHUB" => Some(Self::Github),
335 "PACKAGE_MANAGER" => Some(Self::PackageManager),
336 _ => None,
337 }
338 }
339}
340#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
341#[repr(i32)]
342pub enum FieldBehavior {
343 Unspecified = 0,
344 Optional = 1,
345 Required = 2,
346 OutputOnly = 3,
347 InputOnly = 4,
348 Immutable = 5,
349 UnorderedList = 6,
350 NonEmptyDefault = 7,
351 Identifier = 8,
352}
353impl FieldBehavior {
354 pub fn as_str_name(&self) -> &'static str {
359 match self {
360 Self::Unspecified => "FIELD_BEHAVIOR_UNSPECIFIED",
361 Self::Optional => "OPTIONAL",
362 Self::Required => "REQUIRED",
363 Self::OutputOnly => "OUTPUT_ONLY",
364 Self::InputOnly => "INPUT_ONLY",
365 Self::Immutable => "IMMUTABLE",
366 Self::UnorderedList => "UNORDERED_LIST",
367 Self::NonEmptyDefault => "NON_EMPTY_DEFAULT",
368 Self::Identifier => "IDENTIFIER",
369 }
370 }
371 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
373 match value {
374 "FIELD_BEHAVIOR_UNSPECIFIED" => Some(Self::Unspecified),
375 "OPTIONAL" => Some(Self::Optional),
376 "REQUIRED" => Some(Self::Required),
377 "OUTPUT_ONLY" => Some(Self::OutputOnly),
378 "INPUT_ONLY" => Some(Self::InputOnly),
379 "IMMUTABLE" => Some(Self::Immutable),
380 "UNORDERED_LIST" => Some(Self::UnorderedList),
381 "NON_EMPTY_DEFAULT" => Some(Self::NonEmptyDefault),
382 "IDENTIFIER" => Some(Self::Identifier),
383 _ => None,
384 }
385 }
386}
387#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
388pub struct ResourceDescriptor {
389 #[prost(string, tag = "1")]
390 pub r#type: ::prost::alloc::string::String,
391 #[prost(string, repeated, tag = "2")]
392 pub pattern: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
393 #[prost(string, tag = "3")]
394 pub name_field: ::prost::alloc::string::String,
395 #[prost(enumeration = "resource_descriptor::History", tag = "4")]
396 pub history: i32,
397 #[prost(string, tag = "5")]
398 pub plural: ::prost::alloc::string::String,
399 #[prost(string, tag = "6")]
400 pub singular: ::prost::alloc::string::String,
401 #[prost(enumeration = "resource_descriptor::Style", repeated, tag = "10")]
402 pub style: ::prost::alloc::vec::Vec<i32>,
403}
404pub mod resource_descriptor {
406 #[derive(
407 Clone,
408 Copy,
409 Debug,
410 PartialEq,
411 Eq,
412 Hash,
413 PartialOrd,
414 Ord,
415 ::prost::Enumeration
416 )]
417 #[repr(i32)]
418 pub enum History {
419 Unspecified = 0,
420 OriginallySinglePattern = 1,
421 FutureMultiPattern = 2,
422 }
423 impl History {
424 pub fn as_str_name(&self) -> &'static str {
429 match self {
430 Self::Unspecified => "HISTORY_UNSPECIFIED",
431 Self::OriginallySinglePattern => "ORIGINALLY_SINGLE_PATTERN",
432 Self::FutureMultiPattern => "FUTURE_MULTI_PATTERN",
433 }
434 }
435 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
437 match value {
438 "HISTORY_UNSPECIFIED" => Some(Self::Unspecified),
439 "ORIGINALLY_SINGLE_PATTERN" => Some(Self::OriginallySinglePattern),
440 "FUTURE_MULTI_PATTERN" => Some(Self::FutureMultiPattern),
441 _ => None,
442 }
443 }
444 }
445 #[derive(
446 Clone,
447 Copy,
448 Debug,
449 PartialEq,
450 Eq,
451 Hash,
452 PartialOrd,
453 Ord,
454 ::prost::Enumeration
455 )]
456 #[repr(i32)]
457 pub enum Style {
458 Unspecified = 0,
459 DeclarativeFriendly = 1,
460 }
461 impl Style {
462 pub fn as_str_name(&self) -> &'static str {
467 match self {
468 Self::Unspecified => "STYLE_UNSPECIFIED",
469 Self::DeclarativeFriendly => "DECLARATIVE_FRIENDLY",
470 }
471 }
472 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
474 match value {
475 "STYLE_UNSPECIFIED" => Some(Self::Unspecified),
476 "DECLARATIVE_FRIENDLY" => Some(Self::DeclarativeFriendly),
477 _ => None,
478 }
479 }
480 }
481}
482#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
483pub struct ResourceReference {
484 #[prost(string, tag = "1")]
485 pub r#type: ::prost::alloc::string::String,
486 #[prost(string, tag = "2")]
487 pub child_type: ::prost::alloc::string::String,
488}
489#[derive(Clone, PartialEq, ::prost::Message)]
490pub struct RoutingRule {
491 #[prost(message, repeated, tag = "2")]
492 pub routing_parameters: ::prost::alloc::vec::Vec<RoutingParameter>,
493}
494#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
495pub struct RoutingParameter {
496 #[prost(string, tag = "1")]
497 pub field: ::prost::alloc::string::String,
498 #[prost(string, tag = "2")]
499 pub path_template: ::prost::alloc::string::String,
500}