@@ -17,6 +17,31 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
1717
1818// [#protodoc-title: ConfigDump]
1919
20+ // Resource status from the view of a xDS client, which tells the synchronization
21+ // status between the xDS client and the xDS server.
22+ enum ClientResourceStatus {
23+ // Resource status is not available/unknown.
24+ UNKNOWN = 0 ;
25+
26+ // Client requested this resource but hasn't received any update from management
27+ // server. The client will not fail requests, but will queue them until update
28+ // arrives or the client times out waiting for the resource.
29+ REQUESTED = 1 ;
30+
31+ // This resource has been requested by the client but has either not been
32+ // delivered by the server or was previously delivered by the server and then
33+ // subsequently removed from resources provided by the server. For more
34+ // information, please refer to the :ref:`"Knowing When a Requested Resource
35+ // Does Not Exist" <xds_protocol_resource_not_existed>` section.
36+ DOES_NOT_EXIST = 2 ;
37+
38+ // Client received this resource and replied with ACK.
39+ ACKED = 3 ;
40+
41+ // Client received this resource and replied with NACK.
42+ NACKED = 4 ;
43+ }
44+
2045// The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
2146// message to maintain and serve arbitrary configuration information from any component in Envoy.
2247message ConfigDump {
@@ -49,13 +74,18 @@ message UpdateFailureState {
4974 "envoy.admin.v2alpha.UpdateFailureState" ;
5075
5176 // What the component configuration would have been if the update had succeeded.
77+ // This field may not be populated by xDS clients due to storage overhead.
5278 google.protobuf.Any failed_configuration = 1 ;
5379
5480 // Time of the latest failed update attempt.
5581 google.protobuf.Timestamp last_update_attempt = 2 ;
5682
5783 // Details about the last failed update attempt.
5884 string details = 3 ;
85+
86+ // This is the version of the rejected resource.
87+ // [#not-implemented-hide:]
88+ string version_info = 4 ;
5989}
6090
6191// This message describes the bootstrap configuration that Envoy was started with. This includes
@@ -109,7 +139,7 @@ message ListenersConfigDump {
109139 }
110140
111141 // Describes a dynamically loaded listener via the LDS API.
112- // [#next-free-field: 6 ]
142+ // [#next-free-field: 7 ]
113143 message DynamicListener {
114144 option (udpa.annotations.versioning ).previous_message_type =
115145 "envoy.admin.v2alpha.ListenersConfigDump.DynamicListener" ;
@@ -134,7 +164,14 @@ message ListenersConfigDump {
134164 DynamicListenerState draining_state = 4 ;
135165
136166 // Set if the last update failed, cleared after the next successful update.
167+ // The *error_state* field contains the rejected version of this particular
168+ // resource along with the reason and timestamp. For successfully updated or
169+ // acknowledged resource, this field should be empty.
137170 UpdateFailureState error_state = 5 ;
171+
172+ // The client status of this resource.
173+ // [#not-implemented-hide:]
174+ ClientResourceStatus client_status = 6 ;
138175 }
139176
140177 // This is the :ref:`version_info <envoy_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
@@ -169,6 +206,7 @@ message ClustersConfigDump {
169206 }
170207
171208 // Describes a dynamically loaded cluster via the CDS API.
209+ // [#next-free-field: 6]
172210 message DynamicCluster {
173211 option (udpa.annotations.versioning ).previous_message_type =
174212 "envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster" ;
@@ -184,6 +222,17 @@ message ClustersConfigDump {
184222
185223 // The timestamp when the Cluster was last updated.
186224 google.protobuf.Timestamp last_updated = 3 ;
225+
226+ // Set if the last update failed, cleared after the next successful update.
227+ // The *error_state* field contains the rejected version of this particular
228+ // resource along with the reason and timestamp. For successfully updated or
229+ // acknowledged resource, this field should be empty.
230+ // [#not-implemented-hide:]
231+ UpdateFailureState error_state = 4 ;
232+
233+ // The client status of this resource.
234+ // [#not-implemented-hide:]
235+ ClientResourceStatus client_status = 5 ;
187236 }
188237
189238 // This is the :ref:`version_info <envoy_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
@@ -225,6 +274,7 @@ message RoutesConfigDump {
225274 google.protobuf.Timestamp last_updated = 2 ;
226275 }
227276
277+ // [#next-free-field: 6]
228278 message DynamicRouteConfig {
229279 option (udpa.annotations.versioning ).previous_message_type =
230280 "envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig" ;
@@ -239,6 +289,17 @@ message RoutesConfigDump {
239289
240290 // The timestamp when the Route was last updated.
241291 google.protobuf.Timestamp last_updated = 3 ;
292+
293+ // Set if the last update failed, cleared after the next successful update.
294+ // The *error_state* field contains the rejected version of this particular
295+ // resource along with the reason and timestamp. For successfully updated or
296+ // acknowledged resource, this field should be empty.
297+ // [#not-implemented-hide:]
298+ UpdateFailureState error_state = 4 ;
299+
300+ // The client status of this resource.
301+ // [#not-implemented-hide:]
302+ ClientResourceStatus client_status = 5 ;
242303 }
243304
244305 // The statically loaded route configs.
@@ -270,6 +331,7 @@ message ScopedRoutesConfigDump {
270331 google.protobuf.Timestamp last_updated = 3 ;
271332 }
272333
334+ // [#next-free-field: 7]
273335 message DynamicScopedRouteConfigs {
274336 option (udpa.annotations.versioning ).previous_message_type =
275337 "envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs" ;
@@ -287,6 +349,17 @@ message ScopedRoutesConfigDump {
287349
288350 // The timestamp when the scoped route config set was last updated.
289351 google.protobuf.Timestamp last_updated = 4 ;
352+
353+ // Set if the last update failed, cleared after the next successful update.
354+ // The *error_state* field contains the rejected version of this particular
355+ // resource along with the reason and timestamp. For successfully updated or
356+ // acknowledged resource, this field should be empty.
357+ // [#not-implemented-hide:]
358+ UpdateFailureState error_state = 5 ;
359+
360+ // The client status of this resource.
361+ // [#not-implemented-hide:]
362+ ClientResourceStatus client_status = 6 ;
290363 }
291364
292365 // The statically loaded scoped route configs.
@@ -302,6 +375,7 @@ message SecretsConfigDump {
302375 "envoy.admin.v2alpha.SecretsConfigDump" ;
303376
304377 // DynamicSecret contains secret information fetched via SDS.
378+ // [#next-free-field: 7]
305379 message DynamicSecret {
306380 option (udpa.annotations.versioning ).previous_message_type =
307381 "envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret" ;
@@ -319,6 +393,17 @@ message SecretsConfigDump {
319393 // Security sensitive information is redacted (replaced with "[redacted]") for
320394 // private keys and passwords in TLS certificates.
321395 google.protobuf.Any secret = 4 ;
396+
397+ // Set if the last update failed, cleared after the next successful update.
398+ // The *error_state* field contains the rejected version of this particular
399+ // resource along with the reason and timestamp. For successfully updated or
400+ // acknowledged resource, this field should be empty.
401+ // [#not-implemented-hide:]
402+ UpdateFailureState error_state = 5 ;
403+
404+ // The client status of this resource.
405+ // [#not-implemented-hide:]
406+ ClientResourceStatus client_status = 6 ;
322407 }
323408
324409 // StaticSecret specifies statically loaded secret in bootstrap.
@@ -362,6 +447,7 @@ message EndpointsConfigDump {
362447 google.protobuf.Timestamp last_updated = 2 ;
363448 }
364449
450+ // [#next-free-field: 6]
365451 message DynamicEndpointConfig {
366452 // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
367453 // :ref:`version_info <envoy_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
@@ -373,6 +459,17 @@ message EndpointsConfigDump {
373459
374460 // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
375461 google.protobuf.Timestamp last_updated = 3 ;
462+
463+ // Set if the last update failed, cleared after the next successful update.
464+ // The *error_state* field contains the rejected version of this particular
465+ // resource along with the reason and timestamp. For successfully updated or
466+ // acknowledged resource, this field should be empty.
467+ // [#not-implemented-hide:]
468+ UpdateFailureState error_state = 4 ;
469+
470+ // The client status of this resource.
471+ // [#not-implemented-hide:]
472+ ClientResourceStatus client_status = 5 ;
376473 }
377474
378475 // The statically loaded endpoint configs.
0 commit comments