summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.service.health.v3.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/envoy.service.health.v3.rs')
-rw-r--r--src/rpc/envoy.service.health.v3.rs156
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