From aadfbeb39d0ac5ccb1a19899d7680b1c96b1a6cf Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 16 Jul 2025 13:44:59 -0600 Subject: chore: add generated rpc code --- src/rpc/envoy.admin.v3.rs | 1254 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1254 insertions(+) create mode 100644 src/rpc/envoy.admin.v3.rs (limited to 'src/rpc/envoy.admin.v3.rs') diff --git a/src/rpc/envoy.admin.v3.rs b/src/rpc/envoy.admin.v3.rs new file mode 100644 index 00000000..12620b3d --- /dev/null +++ b/src/rpc/envoy.admin.v3.rs @@ -0,0 +1,1254 @@ +// @generated +// This file is @generated by prost-build. +// \[#protodoc-title: Certificates\] + +/// Proto representation of certificate details. Admin endpoint uses this wrapper for ``/certs`` to +/// display certificate information. See :ref:`/certs ` for more +/// information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Certificates { + /// List of certificates known to an Envoy. + #[prost(message, repeated, tag="1")] + pub certificates: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Certificate { + /// Details of CA certificate. + #[prost(message, repeated, tag="1")] + pub ca_cert: ::prost::alloc::vec::Vec, + /// Details of Certificate Chain + #[prost(message, repeated, tag="2")] + pub cert_chain: ::prost::alloc::vec::Vec, +} +/// \[#next-free-field: 8\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CertificateDetails { + /// Path of the certificate. + #[prost(string, tag="1")] + pub path: ::prost::alloc::string::String, + /// Certificate Serial Number. + #[prost(string, tag="2")] + pub serial_number: ::prost::alloc::string::String, + /// List of Subject Alternate names. + #[prost(message, repeated, tag="3")] + pub subject_alt_names: ::prost::alloc::vec::Vec, + /// Minimum of days until expiration of certificate and it's chain. + #[prost(uint64, tag="4")] + pub days_until_expiration: u64, + /// Indicates the time from which the certificate is valid. + #[prost(message, optional, tag="5")] + pub valid_from: ::core::option::Option, + /// Indicates the time at which the certificate expires. + #[prost(message, optional, tag="6")] + pub expiration_time: ::core::option::Option, + /// Details related to the OCSP response associated with this certificate, if any. + #[prost(message, optional, tag="7")] + pub ocsp_details: ::core::option::Option, +} +/// Nested message and enum types in `CertificateDetails`. +pub mod certificate_details { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] + pub struct OcspDetails { + /// Indicates the time from which the OCSP response is valid. + #[prost(message, optional, tag="1")] + pub valid_from: ::core::option::Option, + /// Indicates the time at which the OCSP response expires. + #[prost(message, optional, tag="2")] + pub expiration: ::core::option::Option, + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubjectAlternateName { + /// Subject Alternate Name. + #[prost(oneof="subject_alternate_name::Name", tags="1, 2, 3")] + pub name: ::core::option::Option, +} +/// Nested message and enum types in `SubjectAlternateName`. +pub mod subject_alternate_name { + /// Subject Alternate Name. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Name { + #[prost(string, tag="1")] + Dns(::prost::alloc::string::String), + #[prost(string, tag="2")] + Uri(::prost::alloc::string::String), + #[prost(string, tag="3")] + IpAddress(::prost::alloc::string::String), + } +} +// \[#protodoc-title: Metrics\] + +/// Proto representation of an Envoy Counter or Gauge value. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SimpleMetric { + /// Type of the metric represented. + #[prost(enumeration="simple_metric::Type", tag="1")] + pub r#type: i32, + /// Current metric value. + #[prost(uint64, tag="2")] + pub value: u64, + /// Name of the metric. + #[prost(string, tag="3")] + pub name: ::prost::alloc::string::String, +} +/// Nested message and enum types in `SimpleMetric`. +pub mod simple_metric { + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum Type { + Counter = 0, + Gauge = 1, + } + impl Type { + /// 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 { + Type::Counter => "COUNTER", + Type::Gauge => "GAUGE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "COUNTER" => Some(Self::Counter), + "GAUGE" => Some(Self::Gauge), + _ => None, + } + } + } +} +// \[#protodoc-title: Clusters\] + +/// Admin endpoint uses this wrapper for ``/clusters`` to display cluster status information. +/// See :ref:`/clusters ` for more information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clusters { + /// Mapping from cluster name to each cluster's status. + #[prost(message, repeated, tag="1")] + pub cluster_statuses: ::prost::alloc::vec::Vec, +} +/// Details an individual cluster's current status. +/// \[#next-free-field: 9\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClusterStatus { + /// Name of the cluster. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// Denotes whether this cluster was added via API or configured statically. + #[prost(bool, tag="2")] + pub added_via_api: bool, + /// The success rate threshold used in the last interval. + /// + /// * If :ref:`outlier_detection.split_external_local_origin_errors` + /// is ``false``, all errors: externally and locally generated were used to calculate the threshold. + /// * If :ref:`outlier_detection.split_external_local_origin_errors` + /// is ``true``, only externally generated errors were used to calculate the threshold. + /// + /// The threshold is used to eject hosts based on their success rate. For more information, see the + /// :ref:`Cluster outlier detection ` documentation. + /// + /// .. note:: + /// + /// This field may be omitted in any of the three following cases: + /// + /// 1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection. + /// 2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that + /// interval. + /// 3. Outlier detection is not enabled for this cluster. + /// + #[prost(message, optional, tag="3")] + pub success_rate_ejection_threshold: ::core::option::Option, + /// Mapping from host address to the host's current status. + #[prost(message, repeated, tag="4")] + pub host_statuses: ::prost::alloc::vec::Vec, + /// The success rate threshold used in the last interval when only locally originated failures were + /// taken into account and externally originated errors were treated as success. + /// This field should be interpreted only when + /// :ref:`outlier_detection.split_external_local_origin_errors` + /// is ``true``. The threshold is used to eject hosts based on their success rate. + /// + /// For more information, see the :ref:`Cluster outlier detection ` documentation. + /// + /// .. note:: + /// + /// This field may be omitted in any of the three following cases: + /// + /// 1. There were not enough hosts with enough request volume to proceed with success rate based outlier ejection. + /// 2. The threshold is computed to be < 0 because a negative value implies that there was no threshold for that + /// interval. + /// 3. Outlier detection is not enabled for this cluster. + /// + #[prost(message, optional, tag="5")] + pub local_origin_success_rate_ejection_threshold: ::core::option::Option, + /// :ref:`Circuit breaking ` settings of the cluster. + #[prost(message, optional, tag="6")] + pub circuit_breakers: ::core::option::Option, + /// Observability name of the cluster. + #[prost(string, tag="7")] + pub observability_name: ::prost::alloc::string::String, + /// The :ref:`EDS service name ` if the cluster is an EDS cluster. + #[prost(string, tag="8")] + pub eds_service_name: ::prost::alloc::string::String, +} +/// Current state of a particular host. +/// \[#next-free-field: 10\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HostStatus { + /// Address of this host. + #[prost(message, optional, tag="1")] + pub address: ::core::option::Option, + /// List of stats specific to this host. + #[prost(message, repeated, tag="2")] + pub stats: ::prost::alloc::vec::Vec, + /// The host's current health status. + #[prost(message, optional, tag="3")] + pub health_status: ::core::option::Option, + /// The success rate for this host during the last measurement interval. + /// + /// * If :ref:`outlier_detection.split_external_local_origin_errors` + /// is ``false``, all errors: externally and locally generated were used in success rate calculation. + /// * If :ref:`outlier_detection.split_external_local_origin_errors` + /// is ``true``, only externally generated errors were used in success rate calculation. + /// + /// For more information, see the :ref:`Cluster outlier detection ` documentation. + /// + /// .. note:: + /// + /// The message will be missing if the host didn't receive enough traffic to calculate a reliable success rate, or + /// if the cluster had too few hosts to apply outlier ejection based on success rate. + /// + #[prost(message, optional, tag="4")] + pub success_rate: ::core::option::Option, + /// The host's weight. If not configured, the value defaults to 1. + #[prost(uint32, tag="5")] + pub weight: u32, + /// The hostname of the host, if applicable. + #[prost(string, tag="6")] + pub hostname: ::prost::alloc::string::String, + /// The host's priority. If not configured, the value defaults to 0 (highest priority). + #[prost(uint32, tag="7")] + pub priority: u32, + /// The success rate for this host during the last interval, considering only locally generated errors. Externally + /// generated errors are treated as successes. + /// + /// This field is only relevant when + /// :ref:`outlier_detection.split_external_local_origin_errors` + /// is set to ``true``. + /// + /// For more information, see the :ref:`Cluster outlier detection ` documentation. + /// + /// .. note:: + /// + /// The message will be missing if the host didn’t receive enough traffic to compute a success rate, or if the + /// cluster didn’t have enough hosts to perform outlier ejection based on success rate. + /// + #[prost(message, optional, tag="8")] + pub local_origin_success_rate: ::core::option::Option, + /// locality of the host. + #[prost(message, optional, tag="9")] + pub locality: ::core::option::Option, +} +/// Health status for a host. +/// \[#next-free-field: 9\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct HostHealthStatus { + /// The host is currently failing active health checks. + #[prost(bool, tag="1")] + pub failed_active_health_check: bool, + /// The host is currently considered an outlier and has been ejected. + #[prost(bool, tag="2")] + pub failed_outlier_check: bool, + /// The host is currently being marked as degraded through active health checking. + #[prost(bool, tag="4")] + pub failed_active_degraded_check: bool, + /// The host has been removed from service discovery, but is being stabilized due to active + /// health checking. + #[prost(bool, tag="5")] + pub pending_dynamic_removal: bool, + /// The host has not yet been health checked. + #[prost(bool, tag="6")] + pub pending_active_hc: bool, + /// The host should be excluded from panic, spillover, etc. calculations because it was explicitly + /// taken out of rotation via protocol signal and is not meant to be routed to. + #[prost(bool, tag="7")] + pub excluded_via_immediate_hc_fail: bool, + /// The host failed active HC due to timeout. + #[prost(bool, tag="8")] + pub active_hc_timeout: bool, + /// Health status as reported by EDS. Note: only HEALTHY and UNHEALTHY are currently supported + /// here. + /// \[#comment:TODO(mrice32): pipe through remaining EDS health status possibilities.\] + #[prost(enumeration="super::super::config::core::v3::HealthStatus", tag="3")] + pub eds_health_status: i32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateFailureState { + /// What the component configuration would have been if the update had succeeded. + /// This field may not be populated by xDS clients due to storage overhead. + #[prost(message, optional, tag="1")] + pub failed_configuration: ::core::option::Option, + /// Time of the latest failed update attempt. + #[prost(message, optional, tag="2")] + pub last_update_attempt: ::core::option::Option, + /// Details about the last failed update attempt. + #[prost(string, tag="3")] + pub details: ::prost::alloc::string::String, + /// This is the version of the rejected resource. + /// \[#not-implemented-hide:\] + #[prost(string, tag="4")] + pub version_info: ::prost::alloc::string::String, +} +/// Envoy's listener manager fills this message with all currently known listeners. Listener +/// configuration information can be used to recreate an Envoy configuration by populating all +/// listeners as static listeners or by returning them in a LDS response. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListenersConfigDump { + /// This is the :ref:`version_info ` in the + /// last processed LDS discovery response. If there are only static bootstrap listeners, this field + /// will be "". + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The statically loaded listener configs. + #[prost(message, repeated, tag="2")] + pub static_listeners: ::prost::alloc::vec::Vec, + /// State for any warming, active, or draining listeners. + #[prost(message, repeated, tag="3")] + pub dynamic_listeners: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `ListenersConfigDump`. +pub mod listeners_config_dump { + /// Describes a statically loaded listener. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct StaticListener { + /// The listener config. + #[prost(message, optional, tag="1")] + pub listener: ::core::option::Option, + /// The timestamp when the Listener was last successfully updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicListenerState { + /// This is the per-resource version information. This version is currently taken from the + /// :ref:`version_info ` field at the time + /// that the listener was loaded. In the future, discrete per-listener versions may be supported + /// by the API. + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The listener config. + #[prost(message, optional, tag="2")] + pub listener: ::core::option::Option, + /// The timestamp when the Listener was last successfully updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + } + /// Describes a dynamically loaded listener via the LDS API. + /// \[#next-free-field: 7\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicListener { + /// The name or unique id of this listener, pulled from the DynamicListenerState config. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// The listener state for any active listener by this name. + /// These are listeners that are available to service data plane traffic. + #[prost(message, optional, tag="2")] + pub active_state: ::core::option::Option, + /// The listener state for any warming listener by this name. + /// These are listeners that are currently undergoing warming in preparation to service data + /// plane traffic. Note that if attempting to recreate an Envoy configuration from a + /// configuration dump, the warming listeners should generally be discarded. + #[prost(message, optional, tag="3")] + pub warming_state: ::core::option::Option, + /// The listener state for any draining listener by this name. + /// These are listeners that are currently undergoing draining in preparation to stop servicing + /// data plane traffic. Note that if attempting to recreate an Envoy configuration from a + /// configuration dump, the draining listeners should generally be discarded. + #[prost(message, optional, tag="4")] + pub draining_state: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + #[prost(message, optional, tag="5")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="6")] + pub client_status: i32, + } +} +/// Envoy's cluster manager fills this message with all currently known clusters. Cluster +/// configuration information can be used to recreate an Envoy configuration by populating all +/// clusters as static clusters or by returning them in a CDS response. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClustersConfigDump { + /// This is the :ref:`version_info ` in the + /// last processed CDS discovery response. If there are only static bootstrap clusters, this field + /// will be "". + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The statically loaded cluster configs. + #[prost(message, repeated, tag="2")] + pub static_clusters: ::prost::alloc::vec::Vec, + /// The dynamically loaded active clusters. These are clusters that are available to service + /// data plane traffic. + #[prost(message, repeated, tag="3")] + pub dynamic_active_clusters: ::prost::alloc::vec::Vec, + /// The dynamically loaded warming clusters. These are clusters that are currently undergoing + /// warming in preparation to service data plane traffic. Note that if attempting to recreate an + /// Envoy configuration from a configuration dump, the warming clusters should generally be + /// discarded. + #[prost(message, repeated, tag="4")] + pub dynamic_warming_clusters: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `ClustersConfigDump`. +pub mod clusters_config_dump { + /// Describes a statically loaded cluster. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct StaticCluster { + /// The cluster config. + #[prost(message, optional, tag="1")] + pub cluster: ::core::option::Option, + /// The timestamp when the Cluster was last updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, + } + /// Describes a dynamically loaded cluster via the CDS API. + /// \[#next-free-field: 6\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicCluster { + /// This is the per-resource version information. This version is currently taken from the + /// :ref:`version_info ` field at the time + /// that the cluster was loaded. In the future, discrete per-cluster versions may be supported by + /// the API. + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The cluster config. + #[prost(message, optional, tag="2")] + pub cluster: ::core::option::Option, + /// The timestamp when the Cluster was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="4")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="5")] + pub client_status: i32, + } +} +/// Envoy's RDS implementation fills this message with all currently loaded routes, as described by +/// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration +/// or defined inline while configuring listeners are separated from those configured dynamically via RDS. +/// Route configuration information can be used to recreate an Envoy configuration by populating all routes +/// as static routes or by returning them in RDS responses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoutesConfigDump { + /// The statically loaded route configs. + #[prost(message, repeated, tag="2")] + pub static_route_configs: ::prost::alloc::vec::Vec, + /// The dynamically loaded route configs. + #[prost(message, repeated, tag="3")] + pub dynamic_route_configs: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `RoutesConfigDump`. +pub mod routes_config_dump { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct StaticRouteConfig { + /// The route config. + #[prost(message, optional, tag="1")] + pub route_config: ::core::option::Option, + /// The timestamp when the Route was last updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, + } + /// \[#next-free-field: 6\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicRouteConfig { + /// This is the per-resource version information. This version is currently taken from the + /// :ref:`version_info ` field at the time that + /// the route configuration was loaded. + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The route config. + #[prost(message, optional, tag="2")] + pub route_config: ::core::option::Option, + /// The timestamp when the Route was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="4")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="5")] + pub client_status: i32, + } +} +/// Envoy's scoped RDS implementation fills this message with all currently loaded route +/// configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both +/// the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the +/// dynamically obtained scopes via the SRDS API. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ScopedRoutesConfigDump { + /// The statically loaded scoped route configs. + #[prost(message, repeated, tag="1")] + pub inline_scoped_route_configs: ::prost::alloc::vec::Vec, + /// The dynamically loaded scoped route configs. + #[prost(message, repeated, tag="2")] + pub dynamic_scoped_route_configs: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `ScopedRoutesConfigDump`. +pub mod scoped_routes_config_dump { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct InlineScopedRouteConfigs { + /// The name assigned to the scoped route configurations. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// The scoped route configurations. + #[prost(message, repeated, tag="2")] + pub scoped_route_configs: ::prost::alloc::vec::Vec, + /// The timestamp when the scoped route config set was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + } + /// \[#next-free-field: 7\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicScopedRouteConfigs { + /// The name assigned to the scoped route configurations. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// This is the per-resource version information. This version is currently taken from the + /// :ref:`version_info ` field at the time that + /// the scoped routes configuration was loaded. + #[prost(string, tag="2")] + pub version_info: ::prost::alloc::string::String, + /// The scoped route configurations. + #[prost(message, repeated, tag="3")] + pub scoped_route_configs: ::prost::alloc::vec::Vec, + /// The timestamp when the scoped route config set was last updated. + #[prost(message, optional, tag="4")] + pub last_updated: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="5")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="6")] + pub client_status: i32, + } +} +/// Envoy's admin fill this message with all currently known endpoints. Endpoint +/// configuration information can be used to recreate an Envoy configuration by populating all +/// endpoints as static endpoints or by returning them in an EDS response. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EndpointsConfigDump { + /// The statically loaded endpoint configs. + #[prost(message, repeated, tag="2")] + pub static_endpoint_configs: ::prost::alloc::vec::Vec, + /// The dynamically loaded endpoint configs. + #[prost(message, repeated, tag="3")] + pub dynamic_endpoint_configs: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `EndpointsConfigDump`. +pub mod endpoints_config_dump { + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct StaticEndpointConfig { + /// The endpoint config. + #[prost(message, optional, tag="1")] + pub endpoint_config: ::core::option::Option, + /// \[#not-implemented-hide:\] The timestamp when the Endpoint was last updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, + } + /// \[#next-free-field: 6\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicEndpointConfig { + /// \[#not-implemented-hide:\] This is the per-resource version information. This version is currently taken from the + /// :ref:`version_info ` field at the time that + /// the endpoint configuration was loaded. + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The endpoint config. + #[prost(message, optional, tag="2")] + pub endpoint_config: ::core::option::Option, + /// \[#not-implemented-hide:\] The timestamp when the Endpoint was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="4")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="5")] + pub client_status: i32, + } +} +/// Envoy's ECDS service fills this message with all currently extension +/// configuration. Extension configuration information can be used to recreate +/// an Envoy ECDS listener and HTTP filters as static filters or by returning +/// them in ECDS response. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EcdsConfigDump { + /// The ECDS filter configs. + #[prost(message, repeated, tag="1")] + pub ecds_filters: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `EcdsConfigDump`. +pub mod ecds_config_dump { + /// \[#next-free-field: 6\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct EcdsFilterConfig { + /// This is the per-resource version information. This version is currently + /// taken from the :ref:`version_info + /// ` + /// field at the time that the ECDS filter was loaded. + #[prost(string, tag="1")] + pub version_info: ::prost::alloc::string::String, + /// The ECDS filter config. + #[prost(message, optional, tag="2")] + pub ecds_filter: ::core::option::Option, + /// The timestamp when the ECDS filter was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The ``error_state`` field contains the rejected version of this + /// particular resource along with the reason and timestamp. For successfully + /// updated or acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="4")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="5")] + pub client_status: i32, + } +} +// \[#protodoc-title: ConfigDump\] + +/// Resource status from the view of a xDS client, which tells the synchronization +/// status between the xDS client and the xDS server. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ClientResourceStatus { + /// Resource status is not available/unknown. + Unknown = 0, + /// Client requested this resource but hasn't received any update from management + /// server. The client will not fail requests, but will queue them until update + /// arrives or the client times out waiting for the resource. + Requested = 1, + /// This resource has been requested by the client but has either not been + /// delivered by the server or was previously delivered by the server and then + /// subsequently removed from resources provided by the server. For more + /// information, please refer to the :ref:`"Knowing When a Requested Resource + /// Does Not Exist" ` section. + DoesNotExist = 2, + /// Client received this resource and replied with ACK. + Acked = 3, + /// Client received this resource and replied with NACK. + Nacked = 4, + /// Client received an error from the control plane. The attached config + /// dump is the most recent accepted one. If no config is accepted yet, + /// the attached config dump will be empty. + ReceivedError = 5, + /// Client timed out waiting for the resource from the control plane. + Timeout = 6, +} +impl ClientResourceStatus { + /// 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 { + ClientResourceStatus::Unknown => "UNKNOWN", + ClientResourceStatus::Requested => "REQUESTED", + ClientResourceStatus::DoesNotExist => "DOES_NOT_EXIST", + ClientResourceStatus::Acked => "ACKED", + ClientResourceStatus::Nacked => "NACKED", + ClientResourceStatus::ReceivedError => "RECEIVED_ERROR", + ClientResourceStatus::Timeout => "TIMEOUT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "REQUESTED" => Some(Self::Requested), + "DOES_NOT_EXIST" => Some(Self::DoesNotExist), + "ACKED" => Some(Self::Acked), + "NACKED" => Some(Self::Nacked), + "RECEIVED_ERROR" => Some(Self::ReceivedError), + "TIMEOUT" => Some(Self::Timeout), + _ => None, + } + } +} +// \[#protodoc-title: ConfigDump\] + +/// The :ref:`/config_dump ` admin endpoint uses this wrapper +/// message to maintain and serve arbitrary configuration information from any component in Envoy. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigDump { + /// This list is serialized and dumped in its entirety at the + /// :ref:`/config_dump ` endpoint. + /// + /// The following configurations are currently supported and will be dumped in the order given + /// below: + /// + /// * ``bootstrap``: :ref:`BootstrapConfigDump ` + /// * ``clusters``: :ref:`ClustersConfigDump ` + /// * ``ecds_filter_http``: :ref:`EcdsConfigDump ` + /// * ``ecds_filter_quic_listener``: :ref:`EcdsConfigDump ` + /// * ``ecds_filter_tcp_listener``: :ref:`EcdsConfigDump ` + /// * ``endpoints``: :ref:`EndpointsConfigDump ` + /// * ``listeners``: :ref:`ListenersConfigDump ` + /// * ``scoped_routes``: :ref:`ScopedRoutesConfigDump ` + /// * ``routes``: :ref:`RoutesConfigDump ` + /// * ``secrets``: :ref:`SecretsConfigDump ` + /// + /// EDS Configuration will only be dumped by using parameter ``?include_eds`` + /// + /// Currently ECDS is supported in HTTP and listener filters. Note, ECDS configuration for + /// either HTTP or listener filter will only be dumped if it is actually configured. + /// + /// You can filter output with the resource and mask query parameters. + /// See :ref:`/config_dump?resource={} `, + /// :ref:`/config_dump?mask={} `, + /// or :ref:`/config_dump?resource={},mask={} + /// ` for more information. + #[prost(message, repeated, tag="1")] + pub configs: ::prost::alloc::vec::Vec, +} +/// This message describes the bootstrap configuration that Envoy was started with. This includes +/// any CLI overrides that were merged. Bootstrap configuration information can be used to recreate +/// the static portions of an Envoy configuration by reusing the output as the bootstrap +/// configuration for another Envoy. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BootstrapConfigDump { + #[prost(message, optional, tag="1")] + pub bootstrap: ::core::option::Option, + /// The timestamp when the BootstrapConfig was last updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, +} +/// Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SecretsConfigDump { + /// The statically loaded secrets. + #[prost(message, repeated, tag="1")] + pub static_secrets: ::prost::alloc::vec::Vec, + /// The dynamically loaded active secrets. These are secrets that are available to service + /// clusters or listeners. + #[prost(message, repeated, tag="2")] + pub dynamic_active_secrets: ::prost::alloc::vec::Vec, + /// The dynamically loaded warming secrets. These are secrets that are currently undergoing + /// warming in preparation to service clusters or listeners. + #[prost(message, repeated, tag="3")] + pub dynamic_warming_secrets: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `SecretsConfigDump`. +pub mod secrets_config_dump { + /// DynamicSecret contains secret information fetched via SDS. + /// \[#next-free-field: 7\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct DynamicSecret { + /// The name assigned to the secret. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// This is the per-resource version information. + #[prost(string, tag="2")] + pub version_info: ::prost::alloc::string::String, + /// The timestamp when the secret was last updated. + #[prost(message, optional, tag="3")] + pub last_updated: ::core::option::Option, + /// The actual secret information. + /// Security sensitive information is redacted (replaced with "\[redacted\]") for + /// private keys and passwords in TLS certificates. + #[prost(message, optional, tag="4")] + pub secret: ::core::option::Option, + /// Set if the last update failed, cleared after the next successful update. + /// The *error_state* field contains the rejected version of this particular + /// resource along with the reason and timestamp. For successfully updated or + /// acknowledged resource, this field should be empty. + /// \[#not-implemented-hide:\] + #[prost(message, optional, tag="5")] + pub error_state: ::core::option::Option, + /// The client status of this resource. + /// \[#not-implemented-hide:\] + #[prost(enumeration="super::ClientResourceStatus", tag="6")] + pub client_status: i32, + } + /// StaticSecret specifies statically loaded secret in bootstrap. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct StaticSecret { + /// The name assigned to the secret. + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// The timestamp when the secret was last updated. + #[prost(message, optional, tag="2")] + pub last_updated: ::core::option::Option, + /// The actual secret information. + /// Security sensitive information is redacted (replaced with "\[redacted\]") for + /// private keys and passwords in TLS certificates. + #[prost(message, optional, tag="3")] + pub secret: ::core::option::Option, + } +} +// \[#protodoc-title: InitDump\] + +/// Dumps of unready targets of envoy init managers. Envoy's admin fills this message with init managers, +/// which provides the information of their unready targets. +/// The :ref:`/init_dump ` will dump all unready targets information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnreadyTargetsDumps { + /// You can choose specific component to dump unready targets with mask query parameter. + /// See :ref:`/init_dump?mask={} ` for more information. + /// The dumps of unready targets of all init managers. + #[prost(message, repeated, tag="1")] + pub unready_targets_dumps: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `UnreadyTargetsDumps`. +pub mod unready_targets_dumps { + /// Message of unready targets information of an init manager. + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct UnreadyTargetsDump { + /// Name of the init manager. Example: "init_manager_xxx". + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// Names of unready targets of the init manager. Example: "target_xxx". + #[prost(string, repeated, tag="2")] + pub target_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + } +} +// \[#protodoc-title: Listeners\] + +/// Admin endpoint uses this wrapper for ``/listeners`` to display listener status information. +/// See :ref:`/listeners ` for more information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Listeners { + /// List of listener statuses. + #[prost(message, repeated, tag="1")] + pub listener_statuses: ::prost::alloc::vec::Vec, +} +/// Details an individual listener's current status. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListenerStatus { + /// Name of the listener + #[prost(string, tag="1")] + pub name: ::prost::alloc::string::String, + /// The actual local address that the listener is listening on. If a listener was configured + /// to listen on port 0, then this address has the port that was allocated by the OS. + #[prost(message, optional, tag="2")] + pub local_address: ::core::option::Option, + /// The additional addresses the listener is listening on as specified via the :ref:`additional_addresses ` + /// configuration. + #[prost(message, repeated, tag="3")] + pub additional_local_addresses: ::prost::alloc::vec::Vec, +} +// \[#protodoc-title: Memory\] + +/// Proto representation of the internal memory consumption of an Envoy instance. These represent +/// values extracted from an internal TCMalloc instance. For more information, see the section of the +/// docs entitled ["Generic Tcmalloc Status"](). +/// \[#next-free-field: 7\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct Memory { + /// The number of bytes allocated by the heap for Envoy. This is an alias for + /// ``generic.current_allocated_bytes``. + #[prost(uint64, tag="1")] + pub allocated: u64, + /// The number of bytes reserved by the heap but not necessarily allocated. This is an alias for + /// ``generic.heap_size``. + #[prost(uint64, tag="2")] + pub heap_size: u64, + /// The number of bytes in free, unmapped pages in the page heap. These bytes always count towards + /// virtual memory usage, and depending on the OS, typically do not count towards physical memory + /// usage. This is an alias for ``tcmalloc.pageheap_unmapped_bytes``. + #[prost(uint64, tag="3")] + pub pageheap_unmapped: u64, + /// The number of bytes in free, mapped pages in the page heap. These bytes always count towards + /// virtual memory usage, and unless the underlying memory is swapped out by the OS, they also + /// count towards physical memory usage. This is an alias for ``tcmalloc.pageheap_free_bytes``. + #[prost(uint64, tag="4")] + pub pageheap_free: u64, + /// The amount of memory used by the TCMalloc thread caches (for small objects). This is an alias + /// for ``tcmalloc.current_total_thread_cache_bytes``. + #[prost(uint64, tag="5")] + pub total_thread_cache: u64, + /// The number of bytes of the physical memory usage by the allocator. This is an alias for + /// ``generic.total_physical_bytes``. + #[prost(uint64, tag="6")] + pub total_physical_bytes: u64, +} +// \[#protodoc-title: MutexStats\] + +/// Proto representation of the statistics collected upon absl::Mutex contention, if Envoy is run +/// under :option:`--enable-mutex-tracing`. For more information, see the ``absl::Mutex`` +/// [docs](). +/// +/// *NB*: The wait cycles below are measured by ``absl::base_internal::CycleClock``, and may not +/// correspond to core clock frequency. For more information, see the ``CycleClock`` +/// [docs](). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, ::prost::Message)] +pub struct MutexStats { + /// The number of individual mutex contentions which have occurred since startup. + #[prost(uint64, tag="1")] + pub num_contentions: u64, + /// The length of the current contention wait cycle. + #[prost(uint64, tag="2")] + pub current_wait_cycles: u64, + /// The lifetime total of all contention wait cycles. + #[prost(uint64, tag="3")] + pub lifetime_wait_cycles: u64, +} +// \[#protodoc-title: Server state\] + +/// Proto representation of the value returned by /server_info, containing +/// server version/server status information. +/// \[#next-free-field: 8\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServerInfo { + /// Server version. + #[prost(string, tag="1")] + pub version: ::prost::alloc::string::String, + /// State of the server. + #[prost(enumeration="server_info::State", tag="2")] + pub state: i32, + /// Uptime since current epoch was started. + #[prost(message, optional, tag="3")] + pub uptime_current_epoch: ::core::option::Option, + /// Uptime since the start of the first epoch. + #[prost(message, optional, tag="4")] + pub uptime_all_epochs: ::core::option::Option, + /// Hot restart version. + #[prost(string, tag="5")] + pub hot_restart_version: ::prost::alloc::string::String, + /// Command line options the server is currently running with. + #[prost(message, optional, tag="6")] + pub command_line_options: ::core::option::Option, + /// Populated node identity of this server. + #[prost(message, optional, tag="7")] + pub node: ::core::option::Option, +} +/// Nested message and enum types in `ServerInfo`. +pub mod server_info { + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum State { + /// Server is live and serving traffic. + Live = 0, + /// Server is draining listeners in response to external health checks failing. + Draining = 1, + /// Server has not yet completed cluster manager initialization. + PreInitializing = 2, + /// Server is running the cluster manager initialization callbacks (e.g., RDS). + Initializing = 3, + } + impl State { + /// 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 { + State::Live => "LIVE", + State::Draining => "DRAINING", + State::PreInitializing => "PRE_INITIALIZING", + State::Initializing => "INITIALIZING", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LIVE" => Some(Self::Live), + "DRAINING" => Some(Self::Draining), + "PRE_INITIALIZING" => Some(Self::PreInitializing), + "INITIALIZING" => Some(Self::Initializing), + _ => None, + } + } + } +} +/// \[#next-free-field: 42\] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CommandLineOptions { + /// See :option:`--base-id` for details. + #[prost(uint64, tag="1")] + pub base_id: u64, + /// See :option:`--use-dynamic-base-id` for details. + #[prost(bool, tag="31")] + pub use_dynamic_base_id: bool, + /// See :option:`--skip-hot-restart-on-no-parent` for details. + #[prost(bool, tag="39")] + pub skip_hot_restart_on_no_parent: bool, + /// See :option:`--skip-hot-restart-parent-stats` for details. + #[prost(bool, tag="40")] + pub skip_hot_restart_parent_stats: bool, + /// See :option:`--base-id-path` for details. + #[prost(string, tag="32")] + pub base_id_path: ::prost::alloc::string::String, + /// See :option:`--concurrency` for details. + #[prost(uint32, tag="2")] + pub concurrency: u32, + /// See :option:`--config-path` for details. + #[prost(string, tag="3")] + pub config_path: ::prost::alloc::string::String, + /// See :option:`--config-yaml` for details. + #[prost(string, tag="4")] + pub config_yaml: ::prost::alloc::string::String, + /// See :option:`--allow-unknown-static-fields` for details. + #[prost(bool, tag="5")] + pub allow_unknown_static_fields: bool, + /// See :option:`--reject-unknown-dynamic-fields` for details. + #[prost(bool, tag="26")] + pub reject_unknown_dynamic_fields: bool, + /// See :option:`--ignore-unknown-dynamic-fields` for details. + #[prost(bool, tag="30")] + pub ignore_unknown_dynamic_fields: bool, + /// See :option:`--skip-deprecated-logs` for details. + #[prost(bool, tag="41")] + pub skip_deprecated_logs: bool, + /// See :option:`--admin-address-path` for details. + #[prost(string, tag="6")] + pub admin_address_path: ::prost::alloc::string::String, + /// See :option:`--local-address-ip-version` for details. + #[prost(enumeration="command_line_options::IpVersion", tag="7")] + pub local_address_ip_version: i32, + /// See :option:`--log-level` for details. + #[prost(string, tag="8")] + pub log_level: ::prost::alloc::string::String, + /// See :option:`--component-log-level` for details. + #[prost(string, tag="9")] + pub component_log_level: ::prost::alloc::string::String, + /// See :option:`--log-format` for details. + #[prost(string, tag="10")] + pub log_format: ::prost::alloc::string::String, + /// See :option:`--log-format-escaped` for details. + #[prost(bool, tag="27")] + pub log_format_escaped: bool, + /// See :option:`--log-path` for details. + #[prost(string, tag="11")] + pub log_path: ::prost::alloc::string::String, + /// See :option:`--service-cluster` for details. + #[prost(string, tag="13")] + pub service_cluster: ::prost::alloc::string::String, + /// See :option:`--service-node` for details. + #[prost(string, tag="14")] + pub service_node: ::prost::alloc::string::String, + /// See :option:`--service-zone` for details. + #[prost(string, tag="15")] + pub service_zone: ::prost::alloc::string::String, + /// See :option:`--file-flush-interval-msec` for details. + #[prost(message, optional, tag="16")] + pub file_flush_interval: ::core::option::Option, + /// See :option:`--drain-time-s` for details. + #[prost(message, optional, tag="17")] + pub drain_time: ::core::option::Option, + /// See :option:`--drain-strategy` for details. + #[prost(enumeration="command_line_options::DrainStrategy", tag="33")] + pub drain_strategy: i32, + /// See :option:`--parent-shutdown-time-s` for details. + #[prost(message, optional, tag="18")] + pub parent_shutdown_time: ::core::option::Option, + /// See :option:`--mode` for details. + #[prost(enumeration="command_line_options::Mode", tag="19")] + pub mode: i32, + /// See :option:`--disable-hot-restart` for details. + #[prost(bool, tag="22")] + pub disable_hot_restart: bool, + /// See :option:`--enable-mutex-tracing` for details. + #[prost(bool, tag="23")] + pub enable_mutex_tracing: bool, + /// See :option:`--restart-epoch` for details. + #[prost(uint32, tag="24")] + pub restart_epoch: u32, + /// See :option:`--cpuset-threads` for details. + #[prost(bool, tag="25")] + pub cpuset_threads: bool, + /// See :option:`--disable-extensions` for details. + #[prost(string, repeated, tag="28")] + pub disabled_extensions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// See :option:`--enable-fine-grain-logging` for details. + #[prost(bool, tag="34")] + pub enable_fine_grain_logging: bool, + /// See :option:`--socket-path` for details. + #[prost(string, tag="35")] + pub socket_path: ::prost::alloc::string::String, + /// See :option:`--socket-mode` for details. + #[prost(uint32, tag="36")] + pub socket_mode: u32, + /// See :option:`--enable-core-dump` for details. + #[prost(bool, tag="37")] + pub enable_core_dump: bool, + /// See :option:`--stats-tag` for details. + #[prost(string, repeated, tag="38")] + pub stats_tag: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// Nested message and enum types in `CommandLineOptions`. +pub mod command_line_options { + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum IpVersion { + V4 = 0, + V6 = 1, + } + impl IpVersion { + /// 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 { + IpVersion::V4 => "v4", + IpVersion::V6 => "v6", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "v4" => Some(Self::V4), + "v6" => Some(Self::V6), + _ => None, + } + } + } + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum Mode { + /// Validate configs and then serve traffic normally. + Serve = 0, + /// Validate configs and exit. + Validate = 1, + /// Completely load and initialize the config, and then exit without running the listener loop. + InitOnly = 2, + } + impl Mode { + /// 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 { + Mode::Serve => "Serve", + Mode::Validate => "Validate", + Mode::InitOnly => "InitOnly", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "Serve" => Some(Self::Serve), + "Validate" => Some(Self::Validate), + "InitOnly" => Some(Self::InitOnly), + _ => None, + } + } + } + #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] + #[repr(i32)] + pub enum DrainStrategy { + /// Gradually discourage connections over the course of the drain period. + Gradual = 0, + /// Discourage all connections for the duration of the drain sequence. + Immediate = 1, + } + impl DrainStrategy { + /// 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 { + DrainStrategy::Gradual => "Gradual", + DrainStrategy::Immediate => "Immediate", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "Gradual" => Some(Self::Gradual), + "Immediate" => Some(Self::Immediate), + _ => None, + } + } + } +} +// \[#protodoc-title: Tap\] + +/// The /tap admin request body that is used to configure an active tap session. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TapRequest { + /// The opaque configuration ID used to match the configuration to a loaded extension. + /// A tap extension configures a similar opaque ID that is used to match. + #[prost(string, tag="1")] + pub config_id: ::prost::alloc::string::String, + /// The tap configuration to load. + #[prost(message, optional, tag="2")] + pub tap_config: ::core::option::Option, +} +// @@protoc_insertion_point(module) -- cgit v1.2.3