diff options
Diffstat (limited to 'src/rpc/envoy.service.health.v3.rs')
| -rw-r--r-- | src/rpc/envoy.service.health.v3.rs | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/rpc/envoy.service.health.v3.rs b/src/rpc/envoy.service.health.v3.rs new file mode 100644 index 00000000..7a1234a0 --- /dev/null +++ b/src/rpc/envoy.service.health.v3.rs @@ -0,0 +1,156 @@ +// @generated +// This file is @generated by prost-build. +/// Defines supported protocols etc, so the management server can assign proper +/// endpoints to healthcheck. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Capability { + #[prost(enumeration="capability::Protocol", repeated, tag="1")] + pub health_check_protocols: ::prost::alloc::vec::Vec<i32>, +} +/// Nested message and enum types in `Capability`. +pub mod capability { + /// Different Envoy instances may have different capabilities (e.g. Redis) + /// and/or have ports enabled for different protocols. + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum Protocol { + Http = 0, + Tcp = 1, + Redis = 2, + } + impl Protocol { + /// 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 { + Protocol::Http => "HTTP", + Protocol::Tcp => "TCP", + Protocol::Redis => "REDIS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option<Self> { + match value { + "HTTP" => Some(Self::Http), + "TCP" => Some(Self::Tcp), + "REDIS" => Some(Self::Redis), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HealthCheckRequest { + #[prost(message, optional, tag="1")] + pub node: ::core::option::Option<super::super::super::config::core::v3::Node>, + #[prost(message, optional, tag="2")] + pub capability: ::core::option::Option<Capability>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EndpointHealth { + #[prost(message, optional, tag="1")] + pub endpoint: ::core::option::Option<super::super::super::config::endpoint::v3::Endpoint>, + #[prost(enumeration="super::super::super::config::core::v3::HealthStatus", tag="2")] + pub health_status: i32, +} +/// Group endpoint health by locality under each cluster. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LocalityEndpointsHealth { + #[prost(message, optional, tag="1")] + pub locality: ::core::option::Option<super::super::super::config::core::v3::Locality>, + #[prost(message, repeated, tag="2")] + pub endpoints_health: ::prost::alloc::vec::Vec<EndpointHealth>, +} +/// The health status of endpoints in a cluster. The cluster name and locality +/// should match the corresponding fields in ClusterHealthCheck message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClusterEndpointsHealth { + #[prost(string, tag="1")] + pub cluster_name: ::prost::alloc::string::String, + #[prost(message, repeated, tag="2")] + pub locality_endpoints_health: ::prost::alloc::vec::Vec<LocalityEndpointsHealth>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EndpointHealthResponse { + /// Deprecated - Flat list of endpoint health information. + #[deprecated] + #[prost(message, repeated, tag="1")] + pub endpoints_health: ::prost::alloc::vec::Vec<EndpointHealth>, + /// Organize Endpoint health information by cluster. + #[prost(message, repeated, tag="2")] + pub cluster_endpoints_health: ::prost::alloc::vec::Vec<ClusterEndpointsHealth>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HealthCheckRequestOrEndpointHealthResponse { + #[prost(oneof="health_check_request_or_endpoint_health_response::RequestType", tags="1, 2")] + pub request_type: ::core::option::Option<health_check_request_or_endpoint_health_response::RequestType>, +} +/// Nested message and enum types in `HealthCheckRequestOrEndpointHealthResponse`. +pub mod health_check_request_or_endpoint_health_response { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum RequestType { + #[prost(message, tag="1")] + HealthCheckRequest(super::HealthCheckRequest), + #[prost(message, tag="2")] + EndpointHealthResponse(super::EndpointHealthResponse), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LocalityEndpoints { + #[prost(message, optional, tag="1")] + pub locality: ::core::option::Option<super::super::super::config::core::v3::Locality>, + #[prost(message, repeated, tag="2")] + pub endpoints: ::prost::alloc::vec::Vec<super::super::super::config::endpoint::v3::Endpoint>, +} +/// The cluster name and locality is provided to Envoy for the endpoints that it +/// health checks to support statistics reporting, logging and debugging by the +/// Envoy instance (outside of HDS). For maximum usefulness, it should match the +/// same cluster structure as that provided by EDS. +/// \[#next-free-field: 6\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClusterHealthCheck { + #[prost(string, tag="1")] + pub cluster_name: ::prost::alloc::string::String, + #[prost(message, repeated, tag="2")] + pub health_checks: ::prost::alloc::vec::Vec<super::super::super::config::core::v3::HealthCheck>, + #[prost(message, repeated, tag="3")] + pub locality_endpoints: ::prost::alloc::vec::Vec<LocalityEndpoints>, + /// Optional map that gets filtered by :ref:`health_checks.transport_socket_match_criteria <envoy_v3_api_field_config.core.v3.HealthCheck.transport_socket_match_criteria>` + /// on connection when health checking. For more details, see + /// :ref:`config.cluster.v3.Cluster.transport_socket_matches <envoy_v3_api_field_config.cluster.v3.Cluster.transport_socket_matches>`. + #[prost(message, repeated, tag="4")] + pub transport_socket_matches: ::prost::alloc::vec::Vec<super::super::super::config::cluster::v3::cluster::TransportSocketMatch>, + /// Optional configuration used to bind newly established upstream connections. + /// If the address and port are empty, no bind will be performed. + #[prost(message, optional, tag="5")] + pub upstream_bind_config: ::core::option::Option<super::super::super::config::core::v3::BindConfig>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HealthCheckSpecifier { + #[prost(message, repeated, tag="1")] + pub cluster_health_checks: ::prost::alloc::vec::Vec<ClusterHealthCheck>, + /// The default is 1 second. + #[prost(message, optional, tag="2")] + pub interval: ::core::option::Option<super::super::super::super::google::protobuf::Duration>, +} +/// \[#not-implemented-hide:\] Not configuration. Workaround c++ protobuf issue with importing +/// services: <https://github.com/google/protobuf/issues/4221> and protoxform to upgrade the file. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct HdsDummy { +} +include!("envoy.service.health.v3.tonic.rs"); +// @@protoc_insertion_point(module)
\ No newline at end of file |
