#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Http {
#[prost(message, repeated, tag = "1")]
pub rules: ::prost::alloc::vec::Vec<HttpRule>,
#[prost(bool, tag = "2")]
pub fully_decode_reserved_expansion: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpRule {
#[prost(string, tag = "1")]
pub selector: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub body: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub response_body: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "11")]
pub additional_bindings: ::prost::alloc::vec::Vec<HttpRule>,
#[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")]
pub pattern: ::core::option::Option<http_rule::Pattern>,
}
pub mod http_rule {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Pattern {
#[prost(string, tag = "2")]
Get(::prost::alloc::string::String),
#[prost(string, tag = "3")]
Put(::prost::alloc::string::String),
#[prost(string, tag = "4")]
Post(::prost::alloc::string::String),
#[prost(string, tag = "5")]
Delete(::prost::alloc::string::String),
#[prost(string, tag = "6")]
Patch(::prost::alloc::string::String),
#[prost(message, tag = "8")]
Custom(super::CustomHttpPattern),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomHttpPattern {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub path: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LaunchStage {
Unspecified = 0,
Unimplemented = 6,
Prelaunch = 7,
EarlyAccess = 1,
Alpha = 2,
Beta = 3,
Ga = 4,
Deprecated = 5,
}
impl LaunchStage {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LAUNCH_STAGE_UNSPECIFIED",
Self::Unimplemented => "UNIMPLEMENTED",
Self::Prelaunch => "PRELAUNCH",
Self::EarlyAccess => "EARLY_ACCESS",
Self::Alpha => "ALPHA",
Self::Beta => "BETA",
Self::Ga => "GA",
Self::Deprecated => "DEPRECATED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LAUNCH_STAGE_UNSPECIFIED" => Some(Self::Unspecified),
"UNIMPLEMENTED" => Some(Self::Unimplemented),
"PRELAUNCH" => Some(Self::Prelaunch),
"EARLY_ACCESS" => Some(Self::EarlyAccess),
"ALPHA" => Some(Self::Alpha),
"BETA" => Some(Self::Beta),
"GA" => Some(Self::Ga),
"DEPRECATED" => Some(Self::Deprecated),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonLanguageSettings {
#[deprecated]
#[prost(string, tag = "1")]
pub reference_docs_uri: ::prost::alloc::string::String,
#[prost(enumeration = "ClientLibraryDestination", repeated, tag = "2")]
pub destinations: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "3")]
pub selective_gapic_generation: ::core::option::Option<SelectiveGapicGeneration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientLibrarySettings {
#[prost(string, tag = "1")]
pub version: ::prost::alloc::string::String,
#[prost(enumeration = "LaunchStage", tag = "2")]
pub launch_stage: i32,
#[prost(bool, tag = "3")]
pub rest_numeric_enums: bool,
#[prost(message, optional, tag = "21")]
pub java_settings: ::core::option::Option<JavaSettings>,
#[prost(message, optional, tag = "22")]
pub cpp_settings: ::core::option::Option<CppSettings>,
#[prost(message, optional, tag = "23")]
pub php_settings: ::core::option::Option<PhpSettings>,
#[prost(message, optional, tag = "24")]
pub python_settings: ::core::option::Option<PythonSettings>,
#[prost(message, optional, tag = "25")]
pub node_settings: ::core::option::Option<NodeSettings>,
#[prost(message, optional, tag = "26")]
pub dotnet_settings: ::core::option::Option<DotnetSettings>,
#[prost(message, optional, tag = "27")]
pub ruby_settings: ::core::option::Option<RubySettings>,
#[prost(message, optional, tag = "28")]
pub go_settings: ::core::option::Option<GoSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Publishing {
#[prost(message, repeated, tag = "2")]
pub method_settings: ::prost::alloc::vec::Vec<MethodSettings>,
#[prost(string, tag = "101")]
pub new_issue_uri: ::prost::alloc::string::String,
#[prost(string, tag = "102")]
pub documentation_uri: ::prost::alloc::string::String,
#[prost(string, tag = "103")]
pub api_short_name: ::prost::alloc::string::String,
#[prost(string, tag = "104")]
pub github_label: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "105")]
pub codeowner_github_teams: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "106")]
pub doc_tag_prefix: ::prost::alloc::string::String,
#[prost(enumeration = "ClientLibraryOrganization", tag = "107")]
pub organization: i32,
#[prost(message, repeated, tag = "109")]
pub library_settings: ::prost::alloc::vec::Vec<ClientLibrarySettings>,
#[prost(string, tag = "110")]
pub proto_reference_documentation_uri: ::prost::alloc::string::String,
#[prost(string, tag = "111")]
pub rest_reference_documentation_uri: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JavaSettings {
#[prost(string, tag = "1")]
pub library_package: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub service_class_names: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "3")]
pub common: ::core::option::Option<CommonLanguageSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CppSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PhpSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PythonSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
#[prost(message, optional, tag = "2")]
pub experimental_features: ::core::option::Option<
python_settings::ExperimentalFeatures,
>,
}
pub mod python_settings {
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExperimentalFeatures {
#[prost(bool, tag = "1")]
pub rest_async_io_enabled: bool,
#[prost(bool, tag = "2")]
pub protobuf_pythonic_types_enabled: bool,
#[prost(bool, tag = "3")]
pub unversioned_package_disabled: bool,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DotnetSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
#[prost(map = "string, string", tag = "2")]
pub renamed_services: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(map = "string, string", tag = "3")]
pub renamed_resources: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, repeated, tag = "4")]
pub ignored_resources: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub forced_namespace_aliases: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
#[prost(string, repeated, tag = "6")]
pub handwritten_signatures: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RubySettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GoSettings {
#[prost(message, optional, tag = "1")]
pub common: ::core::option::Option<CommonLanguageSettings>,
#[prost(map = "string, string", tag = "2")]
pub renamed_services: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MethodSettings {
#[prost(string, tag = "1")]
pub selector: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub long_running: ::core::option::Option<method_settings::LongRunning>,
#[prost(string, repeated, tag = "3")]
pub auto_populated_fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
pub mod method_settings {
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LongRunning {
#[prost(message, optional, tag = "1")]
pub initial_poll_delay: ::core::option::Option<super::super::protobuf::Duration>,
#[prost(float, tag = "2")]
pub poll_delay_multiplier: f32,
#[prost(message, optional, tag = "3")]
pub max_poll_delay: ::core::option::Option<super::super::protobuf::Duration>,
#[prost(message, optional, tag = "4")]
pub total_poll_timeout: ::core::option::Option<super::super::protobuf::Duration>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectiveGapicGeneration {
#[prost(string, repeated, tag = "1")]
pub methods: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "2")]
pub generate_omitted_as_internal: bool,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClientLibraryOrganization {
Unspecified = 0,
Cloud = 1,
Ads = 2,
Photos = 3,
StreetView = 4,
Shopping = 5,
Geo = 6,
GenerativeAi = 7,
}
impl ClientLibraryOrganization {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED",
Self::Cloud => "CLOUD",
Self::Ads => "ADS",
Self::Photos => "PHOTOS",
Self::StreetView => "STREET_VIEW",
Self::Shopping => "SHOPPING",
Self::Geo => "GEO",
Self::GenerativeAi => "GENERATIVE_AI",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED" => Some(Self::Unspecified),
"CLOUD" => Some(Self::Cloud),
"ADS" => Some(Self::Ads),
"PHOTOS" => Some(Self::Photos),
"STREET_VIEW" => Some(Self::StreetView),
"SHOPPING" => Some(Self::Shopping),
"GEO" => Some(Self::Geo),
"GENERATIVE_AI" => Some(Self::GenerativeAi),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClientLibraryDestination {
Unspecified = 0,
Github = 10,
PackageManager = 20,
}
impl ClientLibraryDestination {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED",
Self::Github => "GITHUB",
Self::PackageManager => "PACKAGE_MANAGER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED" => Some(Self::Unspecified),
"GITHUB" => Some(Self::Github),
"PACKAGE_MANAGER" => Some(Self::PackageManager),
_ => None,
}
}
}