forked from grpc/grpc-node
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathLocalityLbEndpoints.ts
167 lines (162 loc) · 7.84 KB
/
LocalityLbEndpoints.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// Original file: deps/envoy-api/envoy/config/endpoint/v3/endpoint_components.proto
import type { Locality as _envoy_config_core_v3_Locality, Locality__Output as _envoy_config_core_v3_Locality__Output } from '../../../../envoy/config/core/v3/Locality';
import type { LbEndpoint as _envoy_config_endpoint_v3_LbEndpoint, LbEndpoint__Output as _envoy_config_endpoint_v3_LbEndpoint__Output } from '../../../../envoy/config/endpoint/v3/LbEndpoint';
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
import type { LedsClusterLocalityConfig as _envoy_config_endpoint_v3_LedsClusterLocalityConfig, LedsClusterLocalityConfig__Output as _envoy_config_endpoint_v3_LedsClusterLocalityConfig__Output } from '../../../../envoy/config/endpoint/v3/LedsClusterLocalityConfig';
import type { Metadata as _envoy_config_core_v3_Metadata, Metadata__Output as _envoy_config_core_v3_Metadata__Output } from '../../../../envoy/config/core/v3/Metadata';
/**
* [#not-implemented-hide:]
* A list of endpoints of a specific locality.
*/
export interface _envoy_config_endpoint_v3_LocalityLbEndpoints_LbEndpointList {
'lb_endpoints'?: (_envoy_config_endpoint_v3_LbEndpoint)[];
}
/**
* [#not-implemented-hide:]
* A list of endpoints of a specific locality.
*/
export interface _envoy_config_endpoint_v3_LocalityLbEndpoints_LbEndpointList__Output {
'lb_endpoints': (_envoy_config_endpoint_v3_LbEndpoint__Output)[];
}
/**
* A group of endpoints belonging to a Locality.
* One can have multiple LocalityLbEndpoints for a locality, but only if
* they have different priorities.
* [#next-free-field: 10]
*/
export interface LocalityLbEndpoints {
/**
* Identifies location of where the upstream hosts run.
*/
'locality'?: (_envoy_config_core_v3_Locality | null);
/**
* The group of endpoints belonging to the locality specified.
* [#comment:TODO(adisuissa): Once LEDS is implemented this field needs to be
* deprecated and replaced by ``load_balancer_endpoints``.]
*/
'lb_endpoints'?: (_envoy_config_endpoint_v3_LbEndpoint)[];
/**
* Optional: Per priority/region/zone/sub_zone weight; at least 1. The load
* balancing weight for a locality is divided by the sum of the weights of all
* localities at the same priority level to produce the effective percentage
* of traffic for the locality. The sum of the weights of all localities at
* the same priority level must not exceed uint32_t maximal value (4294967295).
*
* Locality weights are only considered when :ref:`locality weighted load
* balancing <arch_overview_load_balancing_locality_weighted_lb>` is
* configured. These weights are ignored otherwise. If no weights are
* specified when locality weighted load balancing is enabled, the locality is
* assigned no load.
*/
'load_balancing_weight'?: (_google_protobuf_UInt32Value | null);
/**
* Optional: the priority for this LocalityLbEndpoints. If unspecified this will
* default to the highest priority (0).
*
* Under usual circumstances, Envoy will only select endpoints for the highest
* priority (0). In the event that enough endpoints for a particular priority are
* unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
* next highest priority group. Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>`.
*
* Priorities should range from 0 (highest) to N (lowest) without skipping.
*/
'priority'?: (number);
/**
* Optional: Per locality proximity value which indicates how close this
* locality is from the source locality. This value only provides ordering
* information (lower the value, closer it is to the source locality).
* This will be consumed by load balancing schemes that need proximity order
* to determine where to route the requests.
* [#not-implemented-hide:]
*/
'proximity'?: (_google_protobuf_UInt32Value | null);
/**
* The group of endpoints belonging to the locality.
* [#comment:TODO(adisuissa): Once LEDS is implemented the ``lb_endpoints`` field
* needs to be deprecated.]
*/
'load_balancer_endpoints'?: (_envoy_config_endpoint_v3_LocalityLbEndpoints_LbEndpointList | null);
/**
* LEDS Configuration for the current locality.
*/
'leds_cluster_locality_config'?: (_envoy_config_endpoint_v3_LedsClusterLocalityConfig | null);
/**
* Metadata to provide additional information about the locality endpoints in aggregate.
*/
'metadata'?: (_envoy_config_core_v3_Metadata | null);
/**
* [#not-implemented-hide:]
*/
'lb_config'?: "load_balancer_endpoints"|"leds_cluster_locality_config";
}
/**
* A group of endpoints belonging to a Locality.
* One can have multiple LocalityLbEndpoints for a locality, but only if
* they have different priorities.
* [#next-free-field: 10]
*/
export interface LocalityLbEndpoints__Output {
/**
* Identifies location of where the upstream hosts run.
*/
'locality': (_envoy_config_core_v3_Locality__Output | null);
/**
* The group of endpoints belonging to the locality specified.
* [#comment:TODO(adisuissa): Once LEDS is implemented this field needs to be
* deprecated and replaced by ``load_balancer_endpoints``.]
*/
'lb_endpoints': (_envoy_config_endpoint_v3_LbEndpoint__Output)[];
/**
* Optional: Per priority/region/zone/sub_zone weight; at least 1. The load
* balancing weight for a locality is divided by the sum of the weights of all
* localities at the same priority level to produce the effective percentage
* of traffic for the locality. The sum of the weights of all localities at
* the same priority level must not exceed uint32_t maximal value (4294967295).
*
* Locality weights are only considered when :ref:`locality weighted load
* balancing <arch_overview_load_balancing_locality_weighted_lb>` is
* configured. These weights are ignored otherwise. If no weights are
* specified when locality weighted load balancing is enabled, the locality is
* assigned no load.
*/
'load_balancing_weight': (_google_protobuf_UInt32Value__Output | null);
/**
* Optional: the priority for this LocalityLbEndpoints. If unspecified this will
* default to the highest priority (0).
*
* Under usual circumstances, Envoy will only select endpoints for the highest
* priority (0). In the event that enough endpoints for a particular priority are
* unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
* next highest priority group. Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>`.
*
* Priorities should range from 0 (highest) to N (lowest) without skipping.
*/
'priority': (number);
/**
* Optional: Per locality proximity value which indicates how close this
* locality is from the source locality. This value only provides ordering
* information (lower the value, closer it is to the source locality).
* This will be consumed by load balancing schemes that need proximity order
* to determine where to route the requests.
* [#not-implemented-hide:]
*/
'proximity': (_google_protobuf_UInt32Value__Output | null);
/**
* The group of endpoints belonging to the locality.
* [#comment:TODO(adisuissa): Once LEDS is implemented the ``lb_endpoints`` field
* needs to be deprecated.]
*/
'load_balancer_endpoints'?: (_envoy_config_endpoint_v3_LocalityLbEndpoints_LbEndpointList__Output | null);
/**
* LEDS Configuration for the current locality.
*/
'leds_cluster_locality_config'?: (_envoy_config_endpoint_v3_LedsClusterLocalityConfig__Output | null);
/**
* Metadata to provide additional information about the locality endpoints in aggregate.
*/
'metadata': (_envoy_config_core_v3_Metadata__Output | null);
/**
* [#not-implemented-hide:]
*/
'lb_config'?: "load_balancer_endpoints"|"leds_cluster_locality_config";
}