xds_api/generated/
envoy.admin.v3.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct UpdateFailureState {
4    /// What the component configuration would have been if the update had succeeded.
5    /// This field may not be populated by xDS clients due to storage overhead.
6    #[prost(message, optional, tag = "1")]
7    pub failed_configuration: ::core::option::Option<
8        super::super::super::google::protobuf::Any,
9    >,
10    /// Time of the latest failed update attempt.
11    #[prost(message, optional, tag = "2")]
12    pub last_update_attempt: ::core::option::Option<
13        super::super::super::google::protobuf::Timestamp,
14    >,
15    /// Details about the last failed update attempt.
16    #[prost(string, tag = "3")]
17    pub details: ::prost::alloc::string::String,
18    /// This is the version of the rejected resource.
19    /// \[#not-implemented-hide:\]
20    #[prost(string, tag = "4")]
21    pub version_info: ::prost::alloc::string::String,
22}
23impl ::prost::Name for UpdateFailureState {
24    const NAME: &'static str = "UpdateFailureState";
25    const PACKAGE: &'static str = "envoy.admin.v3";
26    fn full_name() -> ::prost::alloc::string::String {
27        "envoy.admin.v3.UpdateFailureState".into()
28    }
29    fn type_url() -> ::prost::alloc::string::String {
30        "type.googleapis.com/envoy.admin.v3.UpdateFailureState".into()
31    }
32}
33/// Envoy's listener manager fills this message with all currently known listeners. Listener
34/// configuration information can be used to recreate an Envoy configuration by populating all
35/// listeners as static listeners or by returning them in a LDS response.
36#[derive(Clone, PartialEq, ::prost::Message)]
37pub struct ListenersConfigDump {
38    /// This is the :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
39    /// last processed LDS discovery response. If there are only static bootstrap listeners, this field
40    /// will be "".
41    #[prost(string, tag = "1")]
42    pub version_info: ::prost::alloc::string::String,
43    /// The statically loaded listener configs.
44    #[prost(message, repeated, tag = "2")]
45    pub static_listeners: ::prost::alloc::vec::Vec<
46        listeners_config_dump::StaticListener,
47    >,
48    /// State for any warming, active, or draining listeners.
49    #[prost(message, repeated, tag = "3")]
50    pub dynamic_listeners: ::prost::alloc::vec::Vec<
51        listeners_config_dump::DynamicListener,
52    >,
53}
54/// Nested message and enum types in `ListenersConfigDump`.
55pub mod listeners_config_dump {
56    /// Describes a statically loaded listener.
57    #[derive(Clone, PartialEq, ::prost::Message)]
58    pub struct StaticListener {
59        /// The listener config.
60        #[prost(message, optional, tag = "1")]
61        pub listener: ::core::option::Option<
62            super::super::super::super::google::protobuf::Any,
63        >,
64        /// The timestamp when the Listener was last successfully updated.
65        #[prost(message, optional, tag = "2")]
66        pub last_updated: ::core::option::Option<
67            super::super::super::super::google::protobuf::Timestamp,
68        >,
69    }
70    impl ::prost::Name for StaticListener {
71        const NAME: &'static str = "StaticListener";
72        const PACKAGE: &'static str = "envoy.admin.v3";
73        fn full_name() -> ::prost::alloc::string::String {
74            "envoy.admin.v3.ListenersConfigDump.StaticListener".into()
75        }
76        fn type_url() -> ::prost::alloc::string::String {
77            "type.googleapis.com/envoy.admin.v3.ListenersConfigDump.StaticListener"
78                .into()
79        }
80    }
81    #[derive(Clone, PartialEq, ::prost::Message)]
82    pub struct DynamicListenerState {
83        /// This is the per-resource version information. This version is currently taken from the
84        /// :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time
85        /// that the listener was loaded. In the future, discrete per-listener versions may be supported
86        /// by the API.
87        #[prost(string, tag = "1")]
88        pub version_info: ::prost::alloc::string::String,
89        /// The listener config.
90        #[prost(message, optional, tag = "2")]
91        pub listener: ::core::option::Option<
92            super::super::super::super::google::protobuf::Any,
93        >,
94        /// The timestamp when the Listener was last successfully updated.
95        #[prost(message, optional, tag = "3")]
96        pub last_updated: ::core::option::Option<
97            super::super::super::super::google::protobuf::Timestamp,
98        >,
99    }
100    impl ::prost::Name for DynamicListenerState {
101        const NAME: &'static str = "DynamicListenerState";
102        const PACKAGE: &'static str = "envoy.admin.v3";
103        fn full_name() -> ::prost::alloc::string::String {
104            "envoy.admin.v3.ListenersConfigDump.DynamicListenerState".into()
105        }
106        fn type_url() -> ::prost::alloc::string::String {
107            "type.googleapis.com/envoy.admin.v3.ListenersConfigDump.DynamicListenerState"
108                .into()
109        }
110    }
111    /// Describes a dynamically loaded listener via the LDS API.
112    /// \[#next-free-field: 7\]
113    #[derive(Clone, PartialEq, ::prost::Message)]
114    pub struct DynamicListener {
115        /// The name or unique id of this listener, pulled from the DynamicListenerState config.
116        #[prost(string, tag = "1")]
117        pub name: ::prost::alloc::string::String,
118        /// The listener state for any active listener by this name.
119        /// These are listeners that are available to service data plane traffic.
120        #[prost(message, optional, tag = "2")]
121        pub active_state: ::core::option::Option<DynamicListenerState>,
122        /// The listener state for any warming listener by this name.
123        /// These are listeners that are currently undergoing warming in preparation to service data
124        /// plane traffic. Note that if attempting to recreate an Envoy configuration from a
125        /// configuration dump, the warming listeners should generally be discarded.
126        #[prost(message, optional, tag = "3")]
127        pub warming_state: ::core::option::Option<DynamicListenerState>,
128        /// The listener state for any draining listener by this name.
129        /// These are listeners that are currently undergoing draining in preparation to stop servicing
130        /// data plane traffic. Note that if attempting to recreate an Envoy configuration from a
131        /// configuration dump, the draining listeners should generally be discarded.
132        #[prost(message, optional, tag = "4")]
133        pub draining_state: ::core::option::Option<DynamicListenerState>,
134        /// Set if the last update failed, cleared after the next successful update.
135        /// The ``error_state`` field contains the rejected version of this particular
136        /// resource along with the reason and timestamp. For successfully updated or
137        /// acknowledged resource, this field should be empty.
138        #[prost(message, optional, tag = "5")]
139        pub error_state: ::core::option::Option<super::UpdateFailureState>,
140        /// The client status of this resource.
141        /// \[#not-implemented-hide:\]
142        #[prost(enumeration = "super::ClientResourceStatus", tag = "6")]
143        pub client_status: i32,
144    }
145    impl ::prost::Name for DynamicListener {
146        const NAME: &'static str = "DynamicListener";
147        const PACKAGE: &'static str = "envoy.admin.v3";
148        fn full_name() -> ::prost::alloc::string::String {
149            "envoy.admin.v3.ListenersConfigDump.DynamicListener".into()
150        }
151        fn type_url() -> ::prost::alloc::string::String {
152            "type.googleapis.com/envoy.admin.v3.ListenersConfigDump.DynamicListener"
153                .into()
154        }
155    }
156}
157impl ::prost::Name for ListenersConfigDump {
158    const NAME: &'static str = "ListenersConfigDump";
159    const PACKAGE: &'static str = "envoy.admin.v3";
160    fn full_name() -> ::prost::alloc::string::String {
161        "envoy.admin.v3.ListenersConfigDump".into()
162    }
163    fn type_url() -> ::prost::alloc::string::String {
164        "type.googleapis.com/envoy.admin.v3.ListenersConfigDump".into()
165    }
166}
167/// Envoy's cluster manager fills this message with all currently known clusters. Cluster
168/// configuration information can be used to recreate an Envoy configuration by populating all
169/// clusters as static clusters or by returning them in a CDS response.
170#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct ClustersConfigDump {
172    /// This is the :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
173    /// last processed CDS discovery response. If there are only static bootstrap clusters, this field
174    /// will be "".
175    #[prost(string, tag = "1")]
176    pub version_info: ::prost::alloc::string::String,
177    /// The statically loaded cluster configs.
178    #[prost(message, repeated, tag = "2")]
179    pub static_clusters: ::prost::alloc::vec::Vec<clusters_config_dump::StaticCluster>,
180    /// The dynamically loaded active clusters. These are clusters that are available to service
181    /// data plane traffic.
182    #[prost(message, repeated, tag = "3")]
183    pub dynamic_active_clusters: ::prost::alloc::vec::Vec<
184        clusters_config_dump::DynamicCluster,
185    >,
186    /// The dynamically loaded warming clusters. These are clusters that are currently undergoing
187    /// warming in preparation to service data plane traffic. Note that if attempting to recreate an
188    /// Envoy configuration from a configuration dump, the warming clusters should generally be
189    /// discarded.
190    #[prost(message, repeated, tag = "4")]
191    pub dynamic_warming_clusters: ::prost::alloc::vec::Vec<
192        clusters_config_dump::DynamicCluster,
193    >,
194}
195/// Nested message and enum types in `ClustersConfigDump`.
196pub mod clusters_config_dump {
197    /// Describes a statically loaded cluster.
198    #[derive(Clone, PartialEq, ::prost::Message)]
199    pub struct StaticCluster {
200        /// The cluster config.
201        #[prost(message, optional, tag = "1")]
202        pub cluster: ::core::option::Option<
203            super::super::super::super::google::protobuf::Any,
204        >,
205        /// The timestamp when the Cluster was last updated.
206        #[prost(message, optional, tag = "2")]
207        pub last_updated: ::core::option::Option<
208            super::super::super::super::google::protobuf::Timestamp,
209        >,
210    }
211    impl ::prost::Name for StaticCluster {
212        const NAME: &'static str = "StaticCluster";
213        const PACKAGE: &'static str = "envoy.admin.v3";
214        fn full_name() -> ::prost::alloc::string::String {
215            "envoy.admin.v3.ClustersConfigDump.StaticCluster".into()
216        }
217        fn type_url() -> ::prost::alloc::string::String {
218            "type.googleapis.com/envoy.admin.v3.ClustersConfigDump.StaticCluster".into()
219        }
220    }
221    /// Describes a dynamically loaded cluster via the CDS API.
222    /// \[#next-free-field: 6\]
223    #[derive(Clone, PartialEq, ::prost::Message)]
224    pub struct DynamicCluster {
225        /// This is the per-resource version information. This version is currently taken from the
226        /// :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time
227        /// that the cluster was loaded. In the future, discrete per-cluster versions may be supported by
228        /// the API.
229        #[prost(string, tag = "1")]
230        pub version_info: ::prost::alloc::string::String,
231        /// The cluster config.
232        #[prost(message, optional, tag = "2")]
233        pub cluster: ::core::option::Option<
234            super::super::super::super::google::protobuf::Any,
235        >,
236        /// The timestamp when the Cluster was last updated.
237        #[prost(message, optional, tag = "3")]
238        pub last_updated: ::core::option::Option<
239            super::super::super::super::google::protobuf::Timestamp,
240        >,
241        /// Set if the last update failed, cleared after the next successful update.
242        /// The ``error_state`` field contains the rejected version of this particular
243        /// resource along with the reason and timestamp. For successfully updated or
244        /// acknowledged resource, this field should be empty.
245        /// \[#not-implemented-hide:\]
246        #[prost(message, optional, tag = "4")]
247        pub error_state: ::core::option::Option<super::UpdateFailureState>,
248        /// The client status of this resource.
249        /// \[#not-implemented-hide:\]
250        #[prost(enumeration = "super::ClientResourceStatus", tag = "5")]
251        pub client_status: i32,
252    }
253    impl ::prost::Name for DynamicCluster {
254        const NAME: &'static str = "DynamicCluster";
255        const PACKAGE: &'static str = "envoy.admin.v3";
256        fn full_name() -> ::prost::alloc::string::String {
257            "envoy.admin.v3.ClustersConfigDump.DynamicCluster".into()
258        }
259        fn type_url() -> ::prost::alloc::string::String {
260            "type.googleapis.com/envoy.admin.v3.ClustersConfigDump.DynamicCluster".into()
261        }
262    }
263}
264impl ::prost::Name for ClustersConfigDump {
265    const NAME: &'static str = "ClustersConfigDump";
266    const PACKAGE: &'static str = "envoy.admin.v3";
267    fn full_name() -> ::prost::alloc::string::String {
268        "envoy.admin.v3.ClustersConfigDump".into()
269    }
270    fn type_url() -> ::prost::alloc::string::String {
271        "type.googleapis.com/envoy.admin.v3.ClustersConfigDump".into()
272    }
273}
274/// Envoy's RDS implementation fills this message with all currently loaded routes, as described by
275/// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration
276/// or defined inline while configuring listeners are separated from those configured dynamically via RDS.
277/// Route configuration information can be used to recreate an Envoy configuration by populating all routes
278/// as static routes or by returning them in RDS responses.
279#[derive(Clone, PartialEq, ::prost::Message)]
280pub struct RoutesConfigDump {
281    /// The statically loaded route configs.
282    #[prost(message, repeated, tag = "2")]
283    pub static_route_configs: ::prost::alloc::vec::Vec<
284        routes_config_dump::StaticRouteConfig,
285    >,
286    /// The dynamically loaded route configs.
287    #[prost(message, repeated, tag = "3")]
288    pub dynamic_route_configs: ::prost::alloc::vec::Vec<
289        routes_config_dump::DynamicRouteConfig,
290    >,
291}
292/// Nested message and enum types in `RoutesConfigDump`.
293pub mod routes_config_dump {
294    #[derive(Clone, PartialEq, ::prost::Message)]
295    pub struct StaticRouteConfig {
296        /// The route config.
297        #[prost(message, optional, tag = "1")]
298        pub route_config: ::core::option::Option<
299            super::super::super::super::google::protobuf::Any,
300        >,
301        /// The timestamp when the Route was last updated.
302        #[prost(message, optional, tag = "2")]
303        pub last_updated: ::core::option::Option<
304            super::super::super::super::google::protobuf::Timestamp,
305        >,
306    }
307    impl ::prost::Name for StaticRouteConfig {
308        const NAME: &'static str = "StaticRouteConfig";
309        const PACKAGE: &'static str = "envoy.admin.v3";
310        fn full_name() -> ::prost::alloc::string::String {
311            "envoy.admin.v3.RoutesConfigDump.StaticRouteConfig".into()
312        }
313        fn type_url() -> ::prost::alloc::string::String {
314            "type.googleapis.com/envoy.admin.v3.RoutesConfigDump.StaticRouteConfig"
315                .into()
316        }
317    }
318    /// \[#next-free-field: 6\]
319    #[derive(Clone, PartialEq, ::prost::Message)]
320    pub struct DynamicRouteConfig {
321        /// This is the per-resource version information. This version is currently taken from the
322        /// :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
323        /// the route configuration was loaded.
324        #[prost(string, tag = "1")]
325        pub version_info: ::prost::alloc::string::String,
326        /// The route config.
327        #[prost(message, optional, tag = "2")]
328        pub route_config: ::core::option::Option<
329            super::super::super::super::google::protobuf::Any,
330        >,
331        /// The timestamp when the Route was last updated.
332        #[prost(message, optional, tag = "3")]
333        pub last_updated: ::core::option::Option<
334            super::super::super::super::google::protobuf::Timestamp,
335        >,
336        /// Set if the last update failed, cleared after the next successful update.
337        /// The ``error_state`` field contains the rejected version of this particular
338        /// resource along with the reason and timestamp. For successfully updated or
339        /// acknowledged resource, this field should be empty.
340        /// \[#not-implemented-hide:\]
341        #[prost(message, optional, tag = "4")]
342        pub error_state: ::core::option::Option<super::UpdateFailureState>,
343        /// The client status of this resource.
344        /// \[#not-implemented-hide:\]
345        #[prost(enumeration = "super::ClientResourceStatus", tag = "5")]
346        pub client_status: i32,
347    }
348    impl ::prost::Name for DynamicRouteConfig {
349        const NAME: &'static str = "DynamicRouteConfig";
350        const PACKAGE: &'static str = "envoy.admin.v3";
351        fn full_name() -> ::prost::alloc::string::String {
352            "envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig".into()
353        }
354        fn type_url() -> ::prost::alloc::string::String {
355            "type.googleapis.com/envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig"
356                .into()
357        }
358    }
359}
360impl ::prost::Name for RoutesConfigDump {
361    const NAME: &'static str = "RoutesConfigDump";
362    const PACKAGE: &'static str = "envoy.admin.v3";
363    fn full_name() -> ::prost::alloc::string::String {
364        "envoy.admin.v3.RoutesConfigDump".into()
365    }
366    fn type_url() -> ::prost::alloc::string::String {
367        "type.googleapis.com/envoy.admin.v3.RoutesConfigDump".into()
368    }
369}
370/// Envoy's scoped RDS implementation fills this message with all currently loaded route
371/// configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both
372/// the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the
373/// dynamically obtained scopes via the SRDS API.
374#[derive(Clone, PartialEq, ::prost::Message)]
375pub struct ScopedRoutesConfigDump {
376    /// The statically loaded scoped route configs.
377    #[prost(message, repeated, tag = "1")]
378    pub inline_scoped_route_configs: ::prost::alloc::vec::Vec<
379        scoped_routes_config_dump::InlineScopedRouteConfigs,
380    >,
381    /// The dynamically loaded scoped route configs.
382    #[prost(message, repeated, tag = "2")]
383    pub dynamic_scoped_route_configs: ::prost::alloc::vec::Vec<
384        scoped_routes_config_dump::DynamicScopedRouteConfigs,
385    >,
386}
387/// Nested message and enum types in `ScopedRoutesConfigDump`.
388pub mod scoped_routes_config_dump {
389    #[derive(Clone, PartialEq, ::prost::Message)]
390    pub struct InlineScopedRouteConfigs {
391        /// The name assigned to the scoped route configurations.
392        #[prost(string, tag = "1")]
393        pub name: ::prost::alloc::string::String,
394        /// The scoped route configurations.
395        #[prost(message, repeated, tag = "2")]
396        pub scoped_route_configs: ::prost::alloc::vec::Vec<
397            super::super::super::super::google::protobuf::Any,
398        >,
399        /// The timestamp when the scoped route config set was last updated.
400        #[prost(message, optional, tag = "3")]
401        pub last_updated: ::core::option::Option<
402            super::super::super::super::google::protobuf::Timestamp,
403        >,
404    }
405    impl ::prost::Name for InlineScopedRouteConfigs {
406        const NAME: &'static str = "InlineScopedRouteConfigs";
407        const PACKAGE: &'static str = "envoy.admin.v3";
408        fn full_name() -> ::prost::alloc::string::String {
409            "envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs".into()
410        }
411        fn type_url() -> ::prost::alloc::string::String {
412            "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs"
413                .into()
414        }
415    }
416    /// \[#next-free-field: 7\]
417    #[derive(Clone, PartialEq, ::prost::Message)]
418    pub struct DynamicScopedRouteConfigs {
419        /// The name assigned to the scoped route configurations.
420        #[prost(string, tag = "1")]
421        pub name: ::prost::alloc::string::String,
422        /// This is the per-resource version information. This version is currently taken from the
423        /// :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
424        /// the scoped routes configuration was loaded.
425        #[prost(string, tag = "2")]
426        pub version_info: ::prost::alloc::string::String,
427        /// The scoped route configurations.
428        #[prost(message, repeated, tag = "3")]
429        pub scoped_route_configs: ::prost::alloc::vec::Vec<
430            super::super::super::super::google::protobuf::Any,
431        >,
432        /// The timestamp when the scoped route config set was last updated.
433        #[prost(message, optional, tag = "4")]
434        pub last_updated: ::core::option::Option<
435            super::super::super::super::google::protobuf::Timestamp,
436        >,
437        /// Set if the last update failed, cleared after the next successful update.
438        /// The ``error_state`` field contains the rejected version of this particular
439        /// resource along with the reason and timestamp. For successfully updated or
440        /// acknowledged resource, this field should be empty.
441        /// \[#not-implemented-hide:\]
442        #[prost(message, optional, tag = "5")]
443        pub error_state: ::core::option::Option<super::UpdateFailureState>,
444        /// The client status of this resource.
445        /// \[#not-implemented-hide:\]
446        #[prost(enumeration = "super::ClientResourceStatus", tag = "6")]
447        pub client_status: i32,
448    }
449    impl ::prost::Name for DynamicScopedRouteConfigs {
450        const NAME: &'static str = "DynamicScopedRouteConfigs";
451        const PACKAGE: &'static str = "envoy.admin.v3";
452        fn full_name() -> ::prost::alloc::string::String {
453            "envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs".into()
454        }
455        fn type_url() -> ::prost::alloc::string::String {
456            "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs"
457                .into()
458        }
459    }
460}
461impl ::prost::Name for ScopedRoutesConfigDump {
462    const NAME: &'static str = "ScopedRoutesConfigDump";
463    const PACKAGE: &'static str = "envoy.admin.v3";
464    fn full_name() -> ::prost::alloc::string::String {
465        "envoy.admin.v3.ScopedRoutesConfigDump".into()
466    }
467    fn type_url() -> ::prost::alloc::string::String {
468        "type.googleapis.com/envoy.admin.v3.ScopedRoutesConfigDump".into()
469    }
470}
471/// Envoy's admin fill this message with all currently known endpoints. Endpoint
472/// configuration information can be used to recreate an Envoy configuration by populating all
473/// endpoints as static endpoints or by returning them in an EDS response.
474#[derive(Clone, PartialEq, ::prost::Message)]
475pub struct EndpointsConfigDump {
476    /// The statically loaded endpoint configs.
477    #[prost(message, repeated, tag = "2")]
478    pub static_endpoint_configs: ::prost::alloc::vec::Vec<
479        endpoints_config_dump::StaticEndpointConfig,
480    >,
481    /// The dynamically loaded endpoint configs.
482    #[prost(message, repeated, tag = "3")]
483    pub dynamic_endpoint_configs: ::prost::alloc::vec::Vec<
484        endpoints_config_dump::DynamicEndpointConfig,
485    >,
486}
487/// Nested message and enum types in `EndpointsConfigDump`.
488pub mod endpoints_config_dump {
489    #[derive(Clone, PartialEq, ::prost::Message)]
490    pub struct StaticEndpointConfig {
491        /// The endpoint config.
492        #[prost(message, optional, tag = "1")]
493        pub endpoint_config: ::core::option::Option<
494            super::super::super::super::google::protobuf::Any,
495        >,
496        /// \[#not-implemented-hide:\] The timestamp when the Endpoint was last updated.
497        #[prost(message, optional, tag = "2")]
498        pub last_updated: ::core::option::Option<
499            super::super::super::super::google::protobuf::Timestamp,
500        >,
501    }
502    impl ::prost::Name for StaticEndpointConfig {
503        const NAME: &'static str = "StaticEndpointConfig";
504        const PACKAGE: &'static str = "envoy.admin.v3";
505        fn full_name() -> ::prost::alloc::string::String {
506            "envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig".into()
507        }
508        fn type_url() -> ::prost::alloc::string::String {
509            "type.googleapis.com/envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig"
510                .into()
511        }
512    }
513    /// \[#next-free-field: 6\]
514    #[derive(Clone, PartialEq, ::prost::Message)]
515    pub struct DynamicEndpointConfig {
516        /// \[#not-implemented-hide:\] This is the per-resource version information. This version is currently taken from the
517        /// :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
518        /// the endpoint configuration was loaded.
519        #[prost(string, tag = "1")]
520        pub version_info: ::prost::alloc::string::String,
521        /// The endpoint config.
522        #[prost(message, optional, tag = "2")]
523        pub endpoint_config: ::core::option::Option<
524            super::super::super::super::google::protobuf::Any,
525        >,
526        /// \[#not-implemented-hide:\] The timestamp when the Endpoint was last updated.
527        #[prost(message, optional, tag = "3")]
528        pub last_updated: ::core::option::Option<
529            super::super::super::super::google::protobuf::Timestamp,
530        >,
531        /// Set if the last update failed, cleared after the next successful update.
532        /// The ``error_state`` field contains the rejected version of this particular
533        /// resource along with the reason and timestamp. For successfully updated or
534        /// acknowledged resource, this field should be empty.
535        /// \[#not-implemented-hide:\]
536        #[prost(message, optional, tag = "4")]
537        pub error_state: ::core::option::Option<super::UpdateFailureState>,
538        /// The client status of this resource.
539        /// \[#not-implemented-hide:\]
540        #[prost(enumeration = "super::ClientResourceStatus", tag = "5")]
541        pub client_status: i32,
542    }
543    impl ::prost::Name for DynamicEndpointConfig {
544        const NAME: &'static str = "DynamicEndpointConfig";
545        const PACKAGE: &'static str = "envoy.admin.v3";
546        fn full_name() -> ::prost::alloc::string::String {
547            "envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig".into()
548        }
549        fn type_url() -> ::prost::alloc::string::String {
550            "type.googleapis.com/envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig"
551                .into()
552        }
553    }
554}
555impl ::prost::Name for EndpointsConfigDump {
556    const NAME: &'static str = "EndpointsConfigDump";
557    const PACKAGE: &'static str = "envoy.admin.v3";
558    fn full_name() -> ::prost::alloc::string::String {
559        "envoy.admin.v3.EndpointsConfigDump".into()
560    }
561    fn type_url() -> ::prost::alloc::string::String {
562        "type.googleapis.com/envoy.admin.v3.EndpointsConfigDump".into()
563    }
564}
565/// Envoy's ECDS service fills this message with all currently extension
566/// configuration. Extension configuration information can be used to recreate
567/// an Envoy ECDS listener and HTTP filters as static filters or by returning
568/// them in ECDS response.
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct EcdsConfigDump {
571    /// The ECDS filter configs.
572    #[prost(message, repeated, tag = "1")]
573    pub ecds_filters: ::prost::alloc::vec::Vec<ecds_config_dump::EcdsFilterConfig>,
574}
575/// Nested message and enum types in `EcdsConfigDump`.
576pub mod ecds_config_dump {
577    /// \[#next-free-field: 6\]
578    #[derive(Clone, PartialEq, ::prost::Message)]
579    pub struct EcdsFilterConfig {
580        /// This is the per-resource version information. This version is currently
581        /// taken from the :ref:`version_info
582        /// <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>`
583        /// field at the time that the ECDS filter was loaded.
584        #[prost(string, tag = "1")]
585        pub version_info: ::prost::alloc::string::String,
586        /// The ECDS filter config.
587        #[prost(message, optional, tag = "2")]
588        pub ecds_filter: ::core::option::Option<
589            super::super::super::super::google::protobuf::Any,
590        >,
591        /// The timestamp when the ECDS filter was last updated.
592        #[prost(message, optional, tag = "3")]
593        pub last_updated: ::core::option::Option<
594            super::super::super::super::google::protobuf::Timestamp,
595        >,
596        /// Set if the last update failed, cleared after the next successful update.
597        /// The ``error_state`` field contains the rejected version of this
598        /// particular resource along with the reason and timestamp. For successfully
599        /// updated or acknowledged resource, this field should be empty.
600        /// \[#not-implemented-hide:\]
601        #[prost(message, optional, tag = "4")]
602        pub error_state: ::core::option::Option<super::UpdateFailureState>,
603        /// The client status of this resource.
604        /// \[#not-implemented-hide:\]
605        #[prost(enumeration = "super::ClientResourceStatus", tag = "5")]
606        pub client_status: i32,
607    }
608    impl ::prost::Name for EcdsFilterConfig {
609        const NAME: &'static str = "EcdsFilterConfig";
610        const PACKAGE: &'static str = "envoy.admin.v3";
611        fn full_name() -> ::prost::alloc::string::String {
612            "envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig".into()
613        }
614        fn type_url() -> ::prost::alloc::string::String {
615            "type.googleapis.com/envoy.admin.v3.EcdsConfigDump.EcdsFilterConfig".into()
616        }
617    }
618}
619impl ::prost::Name for EcdsConfigDump {
620    const NAME: &'static str = "EcdsConfigDump";
621    const PACKAGE: &'static str = "envoy.admin.v3";
622    fn full_name() -> ::prost::alloc::string::String {
623        "envoy.admin.v3.EcdsConfigDump".into()
624    }
625    fn type_url() -> ::prost::alloc::string::String {
626        "type.googleapis.com/envoy.admin.v3.EcdsConfigDump".into()
627    }
628}
629/// Resource status from the view of a xDS client, which tells the synchronization
630/// status between the xDS client and the xDS server.
631#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
632#[repr(i32)]
633pub enum ClientResourceStatus {
634    /// Resource status is not available/unknown.
635    Unknown = 0,
636    /// Client requested this resource but hasn't received any update from management
637    /// server. The client will not fail requests, but will queue them until update
638    /// arrives or the client times out waiting for the resource.
639    Requested = 1,
640    /// This resource has been requested by the client but has either not been
641    /// delivered by the server or was previously delivered by the server and then
642    /// subsequently removed from resources provided by the server. For more
643    /// information, please refer to the :ref:`"Knowing When a Requested Resource
644    /// Does Not Exist" <xds_protocol_resource_not_existed>` section.
645    DoesNotExist = 2,
646    /// Client received this resource and replied with ACK.
647    Acked = 3,
648    /// Client received this resource and replied with NACK.
649    Nacked = 4,
650}
651impl ClientResourceStatus {
652    /// String value of the enum field names used in the ProtoBuf definition.
653    ///
654    /// The values are not transformed in any way and thus are considered stable
655    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
656    pub fn as_str_name(&self) -> &'static str {
657        match self {
658            Self::Unknown => "UNKNOWN",
659            Self::Requested => "REQUESTED",
660            Self::DoesNotExist => "DOES_NOT_EXIST",
661            Self::Acked => "ACKED",
662            Self::Nacked => "NACKED",
663        }
664    }
665    /// Creates an enum from field names used in the ProtoBuf definition.
666    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
667        match value {
668            "UNKNOWN" => Some(Self::Unknown),
669            "REQUESTED" => Some(Self::Requested),
670            "DOES_NOT_EXIST" => Some(Self::DoesNotExist),
671            "ACKED" => Some(Self::Acked),
672            "NACKED" => Some(Self::Nacked),
673            _ => None,
674        }
675    }
676}