diff options
Diffstat (limited to 'src/rpc/envoy.service.status.v2.rs')
| -rw-r--r-- | src/rpc/envoy.service.status.v2.rs | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/rpc/envoy.service.status.v2.rs b/src/rpc/envoy.service.status.v2.rs new file mode 100644 index 00000000..cac4d796 --- /dev/null +++ b/src/rpc/envoy.service.status.v2.rs @@ -0,0 +1,97 @@ +// @generated +// This file is @generated by prost-build. +/// Request for client status of clients identified by a list of NodeMatchers. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientStatusRequest { + /// Management server can use these match criteria to identify clients. + /// The match follows OR semantics. + #[prost(message, repeated, tag="1")] + pub node_matchers: ::prost::alloc::vec::Vec<super::super::super::r#type::matcher::NodeMatcher>, +} +/// Detailed config (per xDS) with status. +/// \[#next-free-field: 6\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PerXdsConfig { + #[prost(enumeration="ConfigStatus", tag="1")] + pub status: i32, + #[prost(oneof="per_xds_config::PerXdsConfig", tags="2, 3, 4, 5")] + pub per_xds_config: ::core::option::Option<per_xds_config::PerXdsConfig>, +} +/// Nested message and enum types in `PerXdsConfig`. +pub mod per_xds_config { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum PerXdsConfig { + #[prost(message, tag="2")] + ListenerConfig(super::super::super::super::admin::v2alpha::ListenersConfigDump), + #[prost(message, tag="3")] + ClusterConfig(super::super::super::super::admin::v2alpha::ClustersConfigDump), + #[prost(message, tag="4")] + RouteConfig(super::super::super::super::admin::v2alpha::RoutesConfigDump), + #[prost(message, tag="5")] + ScopedRouteConfig(super::super::super::super::admin::v2alpha::ScopedRoutesConfigDump), + } +} +/// All xds configs for a particular client. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientConfig { + /// Node for a particular client. + #[prost(message, optional, tag="1")] + pub node: ::core::option::Option<super::super::super::api::v2::core::Node>, + #[prost(message, repeated, tag="2")] + pub xds_config: ::prost::alloc::vec::Vec<PerXdsConfig>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientStatusResponse { + /// Client configs for the clients specified in the ClientStatusRequest. + #[prost(message, repeated, tag="1")] + pub config: ::prost::alloc::vec::Vec<ClientConfig>, +} +/// Status of a config. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ConfigStatus { + /// Status info is not available/unknown. + Unknown = 0, + /// Management server has sent the config to client and received ACK. + Synced = 1, + /// Config is not sent. + NotSent = 2, + /// Management server has sent the config to client but hasn’t received + /// ACK/NACK. + Stale = 3, + /// Management server has sent the config to client but received NACK. + Error = 4, +} +impl ConfigStatus { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ConfigStatus::Unknown => "UNKNOWN", + ConfigStatus::Synced => "SYNCED", + ConfigStatus::NotSent => "NOT_SENT", + ConfigStatus::Stale => "STALE", + ConfigStatus::Error => "ERROR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option<Self> { + match value { + "UNKNOWN" => Some(Self::Unknown), + "SYNCED" => Some(Self::Synced), + "NOT_SENT" => Some(Self::NotSent), + "STALE" => Some(Self::Stale), + "ERROR" => Some(Self::Error), + _ => None, + } + } +} +include!("envoy.service.status.v2.tonic.rs"); +// @@protoc_insertion_point(module)
\ No newline at end of file |
