mirror of https://github.com/grpc/grpc-node.git
Update generated code with separate service files
This commit is contained in:
parent
bf471a96a6
commit
f91c837058
|
@ -47,7 +47,7 @@
|
|||
"clean": "node -e 'require(\"rimraf\")(\"./build\", () => {})'",
|
||||
"compile": "tsc -p .",
|
||||
"format": "clang-format -i -style=\"{Language: JavaScript, BasedOnStyle: Google, ColumnLimit: 80}\" src/*.ts test/*.ts",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --json --generateComments --includeDirs deps/envoy-api/ deps/udpa/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib ../index envoy/service/discovery/v2/ads.proto envoy/api/v2/listener.proto envoy/api/v2/route.proto envoy/api/v2/cluster.proto envoy/api/v2/endpoint.proto",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --json --includeComments --includeDirs deps/envoy-api/ deps/udpa/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib ../index envoy/service/discovery/v2/ads.proto envoy/api/v2/listener.proto envoy/api/v2/route.proto envoy/api/v2/cluster.proto envoy/api/v2/endpoint.proto",
|
||||
"lint": "npm run check",
|
||||
"prepare": "npm run compile",
|
||||
"test": "gulp test",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -21,8 +21,8 @@ import { Filter as _envoy_api_v2_cluster_Filter, Filter__Output as _envoy_api_v2
|
|||
import { LoadBalancingPolicy as _envoy_api_v2_LoadBalancingPolicy, LoadBalancingPolicy__Output as _envoy_api_v2_LoadBalancingPolicy__Output } from '../../../envoy/api/v2/LoadBalancingPolicy';
|
||||
import { ConfigSource as _envoy_api_v2_core_ConfigSource, ConfigSource__Output as _envoy_api_v2_core_ConfigSource__Output } from '../../../envoy/api/v2/core/ConfigSource';
|
||||
import { UpstreamHttpProtocolOptions as _envoy_api_v2_core_UpstreamHttpProtocolOptions, UpstreamHttpProtocolOptions__Output as _envoy_api_v2_core_UpstreamHttpProtocolOptions__Output } from '../../../envoy/api/v2/core/UpstreamHttpProtocolOptions';
|
||||
import { Percent as _envoy_type_Percent, Percent__Output as _envoy_type_Percent__Output } from '../../../envoy/type/Percent';
|
||||
import { UInt64Value as _google_protobuf_UInt64Value, UInt64Value__Output as _google_protobuf_UInt64Value__Output } from '../../../google/protobuf/UInt64Value';
|
||||
import { Percent as _envoy_type_Percent, Percent__Output as _envoy_type_Percent__Output } from '../../../envoy/type/Percent';
|
||||
import { Long } from '@grpc/proto-loader';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
|
@ -196,78 +196,6 @@ export interface _envoy_api_v2_Cluster_CommonLbConfig_ConsistentHashingLbConfig_
|
|||
'use_hostname_for_hashing': (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`locality weighted load balancing
|
||||
* <arch_overview_load_balancing_locality_weighted_lb>`
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`locality weighted load balancing
|
||||
* <arch_overview_load_balancing_locality_weighted_lb>`
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig {
|
||||
/**
|
||||
* Configures percentage of requests that will be considered for zone aware routing
|
||||
* if zone aware routing is configured. If not specified, the default is 100%.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'routing_enabled'?: (_envoy_type_Percent);
|
||||
/**
|
||||
* Configures minimum upstream cluster size required for zone aware routing
|
||||
* If upstream cluster size is less than specified, zone aware routing is not performed
|
||||
* even if zone aware routing is configured. If not specified, the default is 6.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'min_cluster_size'?: (_google_protobuf_UInt64Value);
|
||||
/**
|
||||
* If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic
|
||||
* mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all
|
||||
* requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a
|
||||
* failing service.
|
||||
*/
|
||||
'fail_traffic_on_panic'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig__Output {
|
||||
/**
|
||||
* Configures percentage of requests that will be considered for zone aware routing
|
||||
* if zone aware routing is configured. If not specified, the default is 100%.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'routing_enabled': (_envoy_type_Percent__Output);
|
||||
/**
|
||||
* Configures minimum upstream cluster size required for zone aware routing
|
||||
* If upstream cluster size is less than specified, zone aware routing is not performed
|
||||
* even if zone aware routing is configured. If not specified, the default is 6.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'min_cluster_size': (_google_protobuf_UInt64Value__Output);
|
||||
/**
|
||||
* If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic
|
||||
* mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all
|
||||
* requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a
|
||||
* failing service.
|
||||
*/
|
||||
'fail_traffic_on_panic': (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extended cluster type.
|
||||
*/
|
||||
|
@ -389,6 +317,24 @@ export interface _envoy_api_v2_Cluster_EdsClusterConfig__Output {
|
|||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
|
||||
/**
|
||||
* The hash function used to hash hosts onto the ketama ring.
|
||||
*/
|
||||
export enum _envoy_api_v2_Cluster_RingHashLbConfig_HashFunction {
|
||||
/**
|
||||
* Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
|
||||
*/
|
||||
XX_HASH = 0,
|
||||
/**
|
||||
* Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
|
||||
* std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
|
||||
* on Linux and not macOS.
|
||||
*/
|
||||
MURMUR_HASH_2 = 1,
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
|
||||
/**
|
||||
* Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
|
||||
* overview section for information on each type.
|
||||
|
@ -728,6 +674,20 @@ export interface _envoy_api_v2_Cluster_LeastRequestLbConfig__Output {
|
|||
'choice_count': (_google_protobuf_UInt32Value__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`locality weighted load balancing
|
||||
* <arch_overview_load_balancing_locality_weighted_lb>`
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig {
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`locality weighted load balancing
|
||||
* <arch_overview_load_balancing_locality_weighted_lb>`
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* Specific configuration for the
|
||||
* :ref:`Original Destination <arch_overview_load_balancing_types_original_destination>`
|
||||
|
@ -850,24 +810,6 @@ export interface _envoy_api_v2_Cluster_RingHashLbConfig__Output {
|
|||
'maximum_ring_size': (_google_protobuf_UInt64Value__Output);
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
|
||||
/**
|
||||
* The hash function used to hash hosts onto the ketama ring.
|
||||
*/
|
||||
export enum _envoy_api_v2_Cluster_RingHashLbConfig_HashFunction {
|
||||
/**
|
||||
* Use `xxHash <https://github.com/Cyan4973/xxHash>`_, this is the default hash function.
|
||||
*/
|
||||
XX_HASH = 0,
|
||||
/**
|
||||
* Use `MurmurHash2 <https://sites.google.com/site/murmurhash/>`_, this is compatible with
|
||||
* std:hash<string> in GNU libstdc++ 3.4.20 or above. This is typically the case when compiled
|
||||
* on Linux and not macOS.
|
||||
*/
|
||||
MURMUR_HASH_2 = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* TransportSocketMatch specifies what transport socket config will be used
|
||||
* when the match conditions are satisfied.
|
||||
|
@ -914,6 +856,64 @@ export interface _envoy_api_v2_Cluster_TransportSocketMatch__Output {
|
|||
'transport_socket': (_envoy_api_v2_core_TransportSocket__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig {
|
||||
/**
|
||||
* Configures percentage of requests that will be considered for zone aware routing
|
||||
* if zone aware routing is configured. If not specified, the default is 100%.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'routing_enabled'?: (_envoy_type_Percent);
|
||||
/**
|
||||
* Configures minimum upstream cluster size required for zone aware routing
|
||||
* If upstream cluster size is less than specified, zone aware routing is not performed
|
||||
* even if zone aware routing is configured. If not specified, the default is 6.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'min_cluster_size'?: (_google_protobuf_UInt64Value);
|
||||
/**
|
||||
* If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic
|
||||
* mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all
|
||||
* requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a
|
||||
* failing service.
|
||||
*/
|
||||
'fail_traffic_on_panic'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`zone aware routing
|
||||
* <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
export interface _envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig__Output {
|
||||
/**
|
||||
* Configures percentage of requests that will be considered for zone aware routing
|
||||
* if zone aware routing is configured. If not specified, the default is 100%.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'routing_enabled': (_envoy_type_Percent__Output);
|
||||
/**
|
||||
* Configures minimum upstream cluster size required for zone aware routing
|
||||
* If upstream cluster size is less than specified, zone aware routing is not performed
|
||||
* even if zone aware routing is configured. If not specified, the default is 6.
|
||||
* * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
|
||||
* * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
|
||||
*/
|
||||
'min_cluster_size': (_google_protobuf_UInt64Value__Output);
|
||||
/**
|
||||
* If set to true, Envoy will not consider any hosts when the cluster is in :ref:`panic
|
||||
* mode<arch_overview_load_balancing_panic_threshold>`. Instead, the cluster will fail all
|
||||
* requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a
|
||||
* failing service.
|
||||
*/
|
||||
'fail_traffic_on_panic': (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for a single upstream cluster.
|
||||
* [#next-free-field: 48]
|
||||
|
|
|
@ -6,6 +6,34 @@ import { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _go
|
|||
import { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../google/protobuf/Duration';
|
||||
import { FractionalPercent as _envoy_type_FractionalPercent, FractionalPercent__Output as _envoy_type_FractionalPercent__Output } from '../../../envoy/type/FractionalPercent';
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface _envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload {
|
||||
/**
|
||||
* Identifier for the policy specifying the drop.
|
||||
*/
|
||||
'category'?: (string);
|
||||
/**
|
||||
* Percentage of traffic that should be dropped for the category.
|
||||
*/
|
||||
'drop_percentage'?: (_envoy_type_FractionalPercent);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface _envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload__Output {
|
||||
/**
|
||||
* Identifier for the policy specifying the drop.
|
||||
*/
|
||||
'category': (string);
|
||||
/**
|
||||
* Percentage of traffic that should be dropped for the category.
|
||||
*/
|
||||
'drop_percentage': (_envoy_type_FractionalPercent__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load balancing policy settings.
|
||||
* [#next-free-field: 6]
|
||||
|
@ -136,34 +164,6 @@ export interface _envoy_api_v2_ClusterLoadAssignment_Policy__Output {
|
|||
'disable_overprovisioning': (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface _envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload {
|
||||
/**
|
||||
* Identifier for the policy specifying the drop.
|
||||
*/
|
||||
'category'?: (string);
|
||||
/**
|
||||
* Percentage of traffic that should be dropped for the category.
|
||||
*/
|
||||
'drop_percentage'?: (_envoy_type_FractionalPercent);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface _envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload__Output {
|
||||
/**
|
||||
* Identifier for the policy specifying the drop.
|
||||
*/
|
||||
'category': (string);
|
||||
/**
|
||||
* Percentage of traffic that should be dropped for the category.
|
||||
*/
|
||||
'drop_percentage': (_envoy_type_FractionalPercent__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Each route from RDS will map to a single cluster or traffic split across
|
||||
* clusters using weights expressed in the RDS WeightedCluster.
|
||||
|
|
|
@ -35,28 +35,6 @@ export interface _envoy_api_v2_Listener_ConnectionBalanceConfig__Output {
|
|||
'balance_type': "exact_balance";
|
||||
}
|
||||
|
||||
/**
|
||||
* A connection balancer implementation that does exact balancing. This means that a lock is
|
||||
* held during balancing so that connection counts are nearly exactly balanced between worker
|
||||
* threads. This is "nearly" exact in the sense that a connection might close in parallel thus
|
||||
* making the counts incorrect, but this should be rectified on the next accept. This balancer
|
||||
* sacrifices accept throughput for accuracy and should be used when there are a small number of
|
||||
* connections that rarely cycle (e.g., service mesh gRPC egress).
|
||||
*/
|
||||
export interface _envoy_api_v2_Listener_ConnectionBalanceConfig_ExactBalance {
|
||||
}
|
||||
|
||||
/**
|
||||
* A connection balancer implementation that does exact balancing. This means that a lock is
|
||||
* held during balancing so that connection counts are nearly exactly balanced between worker
|
||||
* threads. This is "nearly" exact in the sense that a connection might close in parallel thus
|
||||
* making the counts incorrect, but this should be rectified on the next accept. This balancer
|
||||
* sacrifices accept throughput for accuracy and should be used when there are a small number of
|
||||
* connections that rarely cycle (e.g., service mesh gRPC egress).
|
||||
*/
|
||||
export interface _envoy_api_v2_Listener_ConnectionBalanceConfig_ExactBalance__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
|
@ -111,6 +89,28 @@ export enum _envoy_api_v2_Listener_DrainType {
|
|||
MODIFY_ONLY = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* A connection balancer implementation that does exact balancing. This means that a lock is
|
||||
* held during balancing so that connection counts are nearly exactly balanced between worker
|
||||
* threads. This is "nearly" exact in the sense that a connection might close in parallel thus
|
||||
* making the counts incorrect, but this should be rectified on the next accept. This balancer
|
||||
* sacrifices accept throughput for accuracy and should be used when there are a small number of
|
||||
* connections that rarely cycle (e.g., service mesh gRPC egress).
|
||||
*/
|
||||
export interface _envoy_api_v2_Listener_ConnectionBalanceConfig_ExactBalance {
|
||||
}
|
||||
|
||||
/**
|
||||
* A connection balancer implementation that does exact balancing. This means that a lock is
|
||||
* held during balancing so that connection counts are nearly exactly balanced between worker
|
||||
* threads. This is "nearly" exact in the sense that a connection might close in parallel thus
|
||||
* making the counts incorrect, but this should be rectified on the next accept. This balancer
|
||||
* sacrifices accept throughput for accuracy and should be used when there are a small number of
|
||||
* connections that rarely cycle (e.g., service mesh gRPC egress).
|
||||
*/
|
||||
export interface _envoy_api_v2_Listener_ConnectionBalanceConfig_ExactBalance__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 23]
|
||||
*/
|
||||
|
|
|
@ -4,6 +4,42 @@ import { RoutingPriority as _envoy_api_v2_core_RoutingPriority } from '../../../
|
|||
import { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import { Percent as _envoy_type_Percent, Percent__Output as _envoy_type_Percent__Output } from '../../../../envoy/type/Percent';
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
* budget_percent is set to 25, there may be 25 active retries.
|
||||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent'?: (_envoy_type_Percent);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
*
|
||||
* This parameter is optional. Defaults to 3.
|
||||
*/
|
||||
'min_retry_concurrency'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__Output {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
* budget_percent is set to 25, there may be 25 active retries.
|
||||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent': (_envoy_type_Percent__Output);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
*
|
||||
* This parameter is optional. Defaults to 3.
|
||||
*/
|
||||
'min_retry_concurrency': (_google_protobuf_UInt32Value__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* A Thresholds defines CircuitBreaker settings for a
|
||||
* :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`.
|
||||
|
@ -128,42 +164,6 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds__Output {
|
|||
'max_connection_pools': (_google_protobuf_UInt32Value__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
* budget_percent is set to 25, there may be 25 active retries.
|
||||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent'?: (_envoy_type_Percent);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
*
|
||||
* This parameter is optional. Defaults to 3.
|
||||
*/
|
||||
'min_retry_concurrency'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__Output {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
* budget_percent is set to 25, there may be 25 active retries.
|
||||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent': (_envoy_type_Percent__Output);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
*
|
||||
* This parameter is optional. Defaults to 3.
|
||||
*/
|
||||
'min_retry_concurrency': (_google_protobuf_UInt32Value__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* :ref:`Circuit breaking<arch_overview_circuit_break>` settings can be
|
||||
* specified individually for each defined priority.
|
||||
|
|
|
@ -3,11 +3,127 @@
|
|||
import { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import { HeaderValue as _envoy_api_v2_core_HeaderValue, HeaderValue__Output as _envoy_api_v2_core_HeaderValue__Output } from '../../../../envoy/api/v2/core/HeaderValue';
|
||||
import { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
import { Empty as _google_protobuf_Empty, Empty__Output as _google_protobuf_Empty__Output } from '../../../../google/protobuf/Empty';
|
||||
import { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
import { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
*/
|
||||
'access_token'?: (string);
|
||||
/**
|
||||
* Google Compute Engine credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_compute_engine'?: (_google_protobuf_Empty);
|
||||
/**
|
||||
* Google refresh token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
|
||||
*/
|
||||
'google_refresh_token'?: (string);
|
||||
/**
|
||||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService);
|
||||
'credential_specifier'?: "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials__Output {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
*/
|
||||
'access_token'?: (string);
|
||||
/**
|
||||
* Google Compute Engine credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_compute_engine'?: (_google_protobuf_Empty__Output);
|
||||
/**
|
||||
* Google refresh token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
|
||||
*/
|
||||
'google_refresh_token'?: (string);
|
||||
/**
|
||||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService__Output);
|
||||
'credential_specifier': "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials);
|
||||
'credential_specifier'?: "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials__Output {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty__Output);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output);
|
||||
'credential_specifier': "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_EnvoyGrpc {
|
||||
/**
|
||||
* The name of the upstream gRPC cluster. SSL credentials will be supplied
|
||||
|
@ -108,94 +224,6 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc__Output {
|
|||
'config': (_google_protobuf_Struct__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
*/
|
||||
'access_token'?: (string);
|
||||
/**
|
||||
* Google Compute Engine credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_compute_engine'?: (_google_protobuf_Empty);
|
||||
/**
|
||||
* Google refresh token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
|
||||
*/
|
||||
'google_refresh_token'?: (string);
|
||||
/**
|
||||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService);
|
||||
'credential_specifier'?: "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials__Output {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
*/
|
||||
'access_token'?: (string);
|
||||
/**
|
||||
* Google Compute Engine credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_compute_engine'?: (_google_protobuf_Empty__Output);
|
||||
/**
|
||||
* Google refresh token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
|
||||
*/
|
||||
'google_refresh_token'?: (string);
|
||||
/**
|
||||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService__Output);
|
||||
'credential_specifier': "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials {
|
||||
'authorization_token'?: (string);
|
||||
'authority_selector'?: (string);
|
||||
|
@ -206,6 +234,20 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_Googl
|
|||
'authority_selector': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials {
|
||||
}
|
||||
|
||||
/**
|
||||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output {
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin {
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
|
@ -230,6 +272,42 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_Servi
|
|||
'token_lifetime_seconds': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain'?: (_envoy_api_v2_core_DataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs': (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key': (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain': (_envoy_api_v2_core_DataSource__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Security token service configuration that allows Google gRPC to
|
||||
* fetch security token from an OAuth 2.0 authorization server.
|
||||
|
@ -338,84 +416,6 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsSe
|
|||
'actor_token_type': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials);
|
||||
'credential_specifier'?: "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials__Output {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty__Output);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output);
|
||||
'credential_specifier': "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
/**
|
||||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials {
|
||||
}
|
||||
|
||||
/**
|
||||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain'?: (_envoy_api_v2_core_DataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs': (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key': (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain': (_envoy_api_v2_core_DataSource__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* gRPC service configuration. This is used by :ref:`ApiConfigSource
|
||||
* <envoy_api_msg_core.ApiConfigSource>` and filter configurations.
|
||||
|
|
|
@ -4,12 +4,12 @@ import { Duration as _google_protobuf_Duration, Duration__Output as _google_prot
|
|||
import { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import { EventServiceConfig as _envoy_api_v2_core_EventServiceConfig, EventServiceConfig__Output as _envoy_api_v2_core_EventServiceConfig__Output } from '../../../../envoy/api/v2/core/EventServiceConfig';
|
||||
import { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import { HeaderValueOption as _envoy_api_v2_core_HeaderValueOption, HeaderValueOption__Output as _envoy_api_v2_core_HeaderValueOption__Output } from '../../../../envoy/api/v2/core/HeaderValueOption';
|
||||
import { Int64Range as _envoy_type_Int64Range, Int64Range__Output as _envoy_type_Int64Range__Output } from '../../../../envoy/type/Int64Range';
|
||||
import { CodecClientType as _envoy_type_CodecClientType } from '../../../../envoy/type/CodecClientType';
|
||||
import { StringMatcher as _envoy_type_matcher_StringMatcher, StringMatcher__Output as _envoy_type_matcher_StringMatcher__Output } from '../../../../envoy/type/matcher/StringMatcher';
|
||||
import { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
|
|
|
@ -27,108 +27,6 @@ export enum _envoy_api_v2_route_RouteAction_ClusterNotFoundResponseCode {
|
|||
NOT_FOUND = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer
|
||||
* <arch_overview_load_balancing_types>`.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy {
|
||||
/**
|
||||
* Header hash policy.
|
||||
*/
|
||||
'header'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Header);
|
||||
/**
|
||||
* Cookie hash policy.
|
||||
*/
|
||||
'cookie'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Cookie);
|
||||
/**
|
||||
* Connection properties hash policy.
|
||||
*/
|
||||
'connection_properties'?: (_envoy_api_v2_route_RouteAction_HashPolicy_ConnectionProperties);
|
||||
/**
|
||||
* Query parameter hash policy.
|
||||
*/
|
||||
'query_parameter'?: (_envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter);
|
||||
/**
|
||||
* Filter state hash policy.
|
||||
*/
|
||||
'filter_state'?: (_envoy_api_v2_route_RouteAction_HashPolicy_FilterState);
|
||||
/**
|
||||
* The flag that short-circuits the hash computing. This field provides a
|
||||
* 'fallback' style of configuration: "if a terminal policy doesn't work,
|
||||
* fallback to rest of the policy list", it saves time when the terminal
|
||||
* policy works.
|
||||
*
|
||||
* If true, and there is already a hash computed, ignore rest of the
|
||||
* list of hash polices.
|
||||
* For example, if the following hash methods are configured:
|
||||
*
|
||||
* ========= ========
|
||||
* specifier terminal
|
||||
* ========= ========
|
||||
* Header A true
|
||||
* Header B false
|
||||
* Header C false
|
||||
* ========= ========
|
||||
*
|
||||
* The generateHash process ends if policy "header A" generates a hash, as
|
||||
* it's a terminal policy.
|
||||
*/
|
||||
'terminal'?: (boolean);
|
||||
'policy_specifier'?: "header"|"cookie"|"connection_properties"|"query_parameter"|"filter_state";
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer
|
||||
* <arch_overview_load_balancing_types>`.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy__Output {
|
||||
/**
|
||||
* Header hash policy.
|
||||
*/
|
||||
'header'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Header__Output);
|
||||
/**
|
||||
* Cookie hash policy.
|
||||
*/
|
||||
'cookie'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Cookie__Output);
|
||||
/**
|
||||
* Connection properties hash policy.
|
||||
*/
|
||||
'connection_properties'?: (_envoy_api_v2_route_RouteAction_HashPolicy_ConnectionProperties__Output);
|
||||
/**
|
||||
* Query parameter hash policy.
|
||||
*/
|
||||
'query_parameter'?: (_envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter__Output);
|
||||
/**
|
||||
* Filter state hash policy.
|
||||
*/
|
||||
'filter_state'?: (_envoy_api_v2_route_RouteAction_HashPolicy_FilterState__Output);
|
||||
/**
|
||||
* The flag that short-circuits the hash computing. This field provides a
|
||||
* 'fallback' style of configuration: "if a terminal policy doesn't work,
|
||||
* fallback to rest of the policy list", it saves time when the terminal
|
||||
* policy works.
|
||||
*
|
||||
* If true, and there is already a hash computed, ignore rest of the
|
||||
* list of hash polices.
|
||||
* For example, if the following hash methods are configured:
|
||||
*
|
||||
* ========= ========
|
||||
* specifier terminal
|
||||
* ========= ========
|
||||
* Header A true
|
||||
* Header B false
|
||||
* Header C false
|
||||
* ========= ========
|
||||
*
|
||||
* The generateHash process ends if policy "header A" generates a hash, as
|
||||
* it's a terminal policy.
|
||||
*/
|
||||
'terminal': (boolean);
|
||||
'policy_specifier': "header"|"cookie"|"connection_properties"|"query_parameter"|"filter_state";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy_ConnectionProperties {
|
||||
/**
|
||||
* Hash on source IP address.
|
||||
|
@ -233,6 +131,108 @@ export interface _envoy_api_v2_route_RouteAction_HashPolicy_FilterState__Output
|
|||
'key': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer
|
||||
* <arch_overview_load_balancing_types>`.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy {
|
||||
/**
|
||||
* Header hash policy.
|
||||
*/
|
||||
'header'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Header);
|
||||
/**
|
||||
* Cookie hash policy.
|
||||
*/
|
||||
'cookie'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Cookie);
|
||||
/**
|
||||
* Connection properties hash policy.
|
||||
*/
|
||||
'connection_properties'?: (_envoy_api_v2_route_RouteAction_HashPolicy_ConnectionProperties);
|
||||
/**
|
||||
* Query parameter hash policy.
|
||||
*/
|
||||
'query_parameter'?: (_envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter);
|
||||
/**
|
||||
* Filter state hash policy.
|
||||
*/
|
||||
'filter_state'?: (_envoy_api_v2_route_RouteAction_HashPolicy_FilterState);
|
||||
/**
|
||||
* The flag that short-circuits the hash computing. This field provides a
|
||||
* 'fallback' style of configuration: "if a terminal policy doesn't work,
|
||||
* fallback to rest of the policy list", it saves time when the terminal
|
||||
* policy works.
|
||||
*
|
||||
* If true, and there is already a hash computed, ignore rest of the
|
||||
* list of hash polices.
|
||||
* For example, if the following hash methods are configured:
|
||||
*
|
||||
* ========= ========
|
||||
* specifier terminal
|
||||
* ========= ========
|
||||
* Header A true
|
||||
* Header B false
|
||||
* Header C false
|
||||
* ========= ========
|
||||
*
|
||||
* The generateHash process ends if policy "header A" generates a hash, as
|
||||
* it's a terminal policy.
|
||||
*/
|
||||
'terminal'?: (boolean);
|
||||
'policy_specifier'?: "header"|"cookie"|"connection_properties"|"query_parameter"|"filter_state";
|
||||
}
|
||||
|
||||
/**
|
||||
* Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer
|
||||
* <arch_overview_load_balancing_types>`.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy__Output {
|
||||
/**
|
||||
* Header hash policy.
|
||||
*/
|
||||
'header'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Header__Output);
|
||||
/**
|
||||
* Cookie hash policy.
|
||||
*/
|
||||
'cookie'?: (_envoy_api_v2_route_RouteAction_HashPolicy_Cookie__Output);
|
||||
/**
|
||||
* Connection properties hash policy.
|
||||
*/
|
||||
'connection_properties'?: (_envoy_api_v2_route_RouteAction_HashPolicy_ConnectionProperties__Output);
|
||||
/**
|
||||
* Query parameter hash policy.
|
||||
*/
|
||||
'query_parameter'?: (_envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter__Output);
|
||||
/**
|
||||
* Filter state hash policy.
|
||||
*/
|
||||
'filter_state'?: (_envoy_api_v2_route_RouteAction_HashPolicy_FilterState__Output);
|
||||
/**
|
||||
* The flag that short-circuits the hash computing. This field provides a
|
||||
* 'fallback' style of configuration: "if a terminal policy doesn't work,
|
||||
* fallback to rest of the policy list", it saves time when the terminal
|
||||
* policy works.
|
||||
*
|
||||
* If true, and there is already a hash computed, ignore rest of the
|
||||
* list of hash polices.
|
||||
* For example, if the following hash methods are configured:
|
||||
*
|
||||
* ========= ========
|
||||
* specifier terminal
|
||||
* ========= ========
|
||||
* Header A true
|
||||
* Header B false
|
||||
* Header C false
|
||||
* ========= ========
|
||||
*
|
||||
* The generateHash process ends if policy "header A" generates a hash, as
|
||||
* it's a terminal policy.
|
||||
*/
|
||||
'terminal': (boolean);
|
||||
'policy_specifier': "header"|"cookie"|"connection_properties"|"query_parameter"|"filter_state";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy_Header {
|
||||
/**
|
||||
* The name of the request header that will be used to obtain the hash
|
||||
|
@ -249,6 +249,16 @@ export interface _envoy_api_v2_route_RouteAction_HashPolicy_Header__Output {
|
|||
'header_name': (string);
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
/**
|
||||
* Configures :ref:`internal redirect <arch_overview_internal_redirects>` behavior.
|
||||
*/
|
||||
export enum _envoy_api_v2_route_RouteAction_InternalRedirectAction {
|
||||
PASS_THROUGH_INTERNAL_REDIRECT = 0,
|
||||
HANDLE_INTERNAL_REDIRECT = 1,
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter {
|
||||
/**
|
||||
* The name of the URL query parameter that will be used to obtain the hash
|
||||
|
@ -267,16 +277,6 @@ export interface _envoy_api_v2_route_RouteAction_HashPolicy_QueryParameter__Outp
|
|||
'name': (string);
|
||||
}
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
/**
|
||||
* Configures :ref:`internal redirect <arch_overview_internal_redirects>` behavior.
|
||||
*/
|
||||
export enum _envoy_api_v2_route_RouteAction_InternalRedirectAction {
|
||||
PASS_THROUGH_INTERNAL_REDIRECT = 0,
|
||||
HANDLE_INTERNAL_REDIRECT = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* The router is capable of shadowing traffic from one cluster to another. The current
|
||||
* implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
// Original file: deps/envoy-api/envoy/service/discovery/v2/ads.proto
|
||||
|
||||
import * as grpc from '../../../../../index'
|
||||
import { DeltaDiscoveryRequest as _envoy_api_v2_DeltaDiscoveryRequest, DeltaDiscoveryRequest__Output as _envoy_api_v2_DeltaDiscoveryRequest__Output } from '../../../../envoy/api/v2/DeltaDiscoveryRequest';
|
||||
import { DeltaDiscoveryResponse as _envoy_api_v2_DeltaDiscoveryResponse, DeltaDiscoveryResponse__Output as _envoy_api_v2_DeltaDiscoveryResponse__Output } from '../../../../envoy/api/v2/DeltaDiscoveryResponse';
|
||||
import { DiscoveryRequest as _envoy_api_v2_DiscoveryRequest, DiscoveryRequest__Output as _envoy_api_v2_DiscoveryRequest__Output } from '../../../../envoy/api/v2/DiscoveryRequest';
|
||||
import { DiscoveryResponse as _envoy_api_v2_DiscoveryResponse, DiscoveryResponse__Output as _envoy_api_v2_DiscoveryResponse__Output } from '../../../../envoy/api/v2/DiscoveryResponse';
|
||||
|
||||
/**
|
||||
* See https://github.com/lyft/envoy-api#apis for a description of the role of
|
||||
* ADS and how it is intended to be used by a management server. ADS requests
|
||||
* have the same structure as their singleton xDS counterparts, but can
|
||||
* multiplex many resource types on a single stream. The type_url in the
|
||||
* DiscoveryRequest/DiscoveryResponse provides sufficient information to recover
|
||||
* the multiplexed singleton APIs at the Envoy instance and management server.
|
||||
*/
|
||||
export interface AggregatedDiscoveryServiceClient extends grpc.Client {
|
||||
DeltaAggregatedResources(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DeltaDiscoveryRequest, _envoy_api_v2_DeltaDiscoveryResponse__Output>;
|
||||
DeltaAggregatedResources(options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DeltaDiscoveryRequest, _envoy_api_v2_DeltaDiscoveryResponse__Output>;
|
||||
deltaAggregatedResources(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DeltaDiscoveryRequest, _envoy_api_v2_DeltaDiscoveryResponse__Output>;
|
||||
deltaAggregatedResources(options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DeltaDiscoveryRequest, _envoy_api_v2_DeltaDiscoveryResponse__Output>;
|
||||
|
||||
/**
|
||||
* This is a gRPC-only API.
|
||||
*/
|
||||
StreamAggregatedResources(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DiscoveryRequest, _envoy_api_v2_DiscoveryResponse__Output>;
|
||||
StreamAggregatedResources(options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DiscoveryRequest, _envoy_api_v2_DiscoveryResponse__Output>;
|
||||
/**
|
||||
* This is a gRPC-only API.
|
||||
*/
|
||||
streamAggregatedResources(metadata: grpc.Metadata, options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DiscoveryRequest, _envoy_api_v2_DiscoveryResponse__Output>;
|
||||
streamAggregatedResources(options?: grpc.CallOptions): grpc.ClientDuplexStream<_envoy_api_v2_DiscoveryRequest, _envoy_api_v2_DiscoveryResponse__Output>;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://github.com/lyft/envoy-api#apis for a description of the role of
|
||||
* ADS and how it is intended to be used by a management server. ADS requests
|
||||
* have the same structure as their singleton xDS counterparts, but can
|
||||
* multiplex many resource types on a single stream. The type_url in the
|
||||
* DiscoveryRequest/DiscoveryResponse provides sufficient information to recover
|
||||
* the multiplexed singleton APIs at the Envoy instance and management server.
|
||||
*/
|
||||
export interface AggregatedDiscoveryServiceHandlers {
|
||||
DeltaAggregatedResources(call: grpc.ServerDuplexStream<_envoy_api_v2_DeltaDiscoveryRequest, _envoy_api_v2_DeltaDiscoveryResponse__Output>): void;
|
||||
|
||||
/**
|
||||
* This is a gRPC-only API.
|
||||
*/
|
||||
StreamAggregatedResources(call: grpc.ServerDuplexStream<_envoy_api_v2_DiscoveryRequest, _envoy_api_v2_DiscoveryResponse__Output>): void;
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,9 @@
|
|||
*/
|
||||
|
||||
import * as fs from 'fs';
|
||||
import * as adsTypes from './generated/ads';
|
||||
import { Struct } from './generated/google/protobuf/Struct';
|
||||
import { Node } from './generated/envoy/api/v2/core/Node';
|
||||
import { Value } from './generated/google/protobuf/Value';
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
|
||||
|
@ -32,7 +34,7 @@ export interface XdsServerConfig {
|
|||
|
||||
export interface BootstrapInfo {
|
||||
xdsServers: XdsServerConfig[];
|
||||
node: adsTypes.messages.envoy.api.v2.core.Node;
|
||||
node: Node;
|
||||
}
|
||||
|
||||
function validateChannelCredsConfig(obj: any): ChannelCredsConfig {
|
||||
|
@ -85,7 +87,7 @@ function validateXdsServerConfig(obj: any): XdsServerConfig {
|
|||
};
|
||||
}
|
||||
|
||||
function validateValue(obj: any): adsTypes.messages.google.protobuf.Value {
|
||||
function validateValue(obj: any): Value {
|
||||
if (Array.isArray(obj)) {
|
||||
return {
|
||||
kind: 'listValue',
|
||||
|
@ -128,7 +130,7 @@ function validateValue(obj: any): adsTypes.messages.google.protobuf.Value {
|
|||
}
|
||||
}
|
||||
|
||||
function getStructFromJson(obj: any): adsTypes.messages.google.protobuf.Struct {
|
||||
function getStructFromJson(obj: any): Struct {
|
||||
if (typeof obj !== 'object' || obj === null) {
|
||||
throw new Error('Invalid JSON object for Struct field');
|
||||
}
|
||||
|
@ -154,8 +156,8 @@ function getStructFromJson(obj: any): adsTypes.messages.google.protobuf.Struct {
|
|||
* fields we expect to see: id, cluster, locality, and metadata.
|
||||
* @param obj
|
||||
*/
|
||||
function validateNode(obj: any): adsTypes.messages.envoy.api.v2.core.Node {
|
||||
const result: adsTypes.messages.envoy.api.v2.core.Node = {};
|
||||
function validateNode(obj: any): Node {
|
||||
const result: Node = {};
|
||||
if (!('id' in obj)) {
|
||||
throw new Error('id field missing in node element');
|
||||
}
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
import * as protoLoader from '@grpc/proto-loader';
|
||||
import { loadPackageDefinition } from './make-client';
|
||||
import * as adsTypes from './generated/ads';
|
||||
import * as edsTypes from './generated/endpoint';
|
||||
import { createGoogleDefaultCredentials } from './channel-credentials';
|
||||
import { loadBootstrapInfo } from './xds-bootstrap';
|
||||
import { ClientDuplexStream, ServiceError } from './call';
|
||||
|
@ -29,6 +28,11 @@ import { Metadata } from './metadata';
|
|||
import * as logging from './logging';
|
||||
import { ServiceConfig } from './service-config';
|
||||
import { ChannelOptions } from './channel-options';
|
||||
import { Node } from './generated/envoy/api/v2/core/Node';
|
||||
import { AggregatedDiscoveryServiceClient } from './generated/envoy/service/discovery/v2/AggregatedDiscoveryService';
|
||||
import { DiscoveryRequest } from './generated/envoy/api/v2/DiscoveryRequest';
|
||||
import { DiscoveryResponse__Output } from './generated/envoy/api/v2/DiscoveryResponse';
|
||||
import { ClusterLoadAssignment__Output } from './generated/envoy/api/v2/ClusterLoadAssignment';
|
||||
|
||||
const TRACER_NAME = 'xds_client';
|
||||
|
||||
|
@ -86,21 +90,21 @@ export interface Watcher<UpdateType> {
|
|||
}
|
||||
|
||||
export class XdsClient {
|
||||
private node: adsTypes.messages.envoy.api.v2.core.Node | null = null;
|
||||
private client: adsTypes.ClientInterfaces.envoy.service.discovery.v2.AggregatedDiscoveryServiceClient | null = null;
|
||||
private node: Node | null = null;
|
||||
private client: AggregatedDiscoveryServiceClient | null = null;
|
||||
private adsCall: ClientDuplexStream<
|
||||
adsTypes.messages.envoy.api.v2.DiscoveryRequest,
|
||||
adsTypes.messages.envoy.api.v2.DiscoveryResponse__Output
|
||||
DiscoveryRequest,
|
||||
DiscoveryResponse__Output
|
||||
> | null = null;
|
||||
|
||||
private hasShutdown = false;
|
||||
|
||||
private endpointWatchers: Map<
|
||||
string,
|
||||
Watcher<edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output>[]
|
||||
Watcher<ClusterLoadAssignment__Output>[]
|
||||
> = new Map<
|
||||
string,
|
||||
Watcher<edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output>[]
|
||||
Watcher<ClusterLoadAssignment__Output>[]
|
||||
>();
|
||||
private lastEdsVersionInfo = '';
|
||||
private lastEdsNonce = '';
|
||||
|
@ -175,17 +179,17 @@ export class XdsClient {
|
|||
this.adsCall = this.client.StreamAggregatedResources();
|
||||
this.adsCall.on(
|
||||
'data',
|
||||
(message: adsTypes.messages.envoy.api.v2.DiscoveryResponse__Output) => {
|
||||
(message: DiscoveryResponse__Output) => {
|
||||
switch (message.type_url) {
|
||||
case EDS_TYPE_URL: {
|
||||
const edsResponses: edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output[] = [];
|
||||
const edsResponses: ClusterLoadAssignment__Output[] = [];
|
||||
for (const resource of message.resources) {
|
||||
if (
|
||||
protoLoader.isAnyExtension(resource) &&
|
||||
resource['@type'] === EDS_TYPE_URL
|
||||
) {
|
||||
const resp = resource as protoLoader.AnyExtension &
|
||||
edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output;
|
||||
ClusterLoadAssignment__Output;
|
||||
if (!this.validateEdsResponse(resp)) {
|
||||
this.nackEds('ClusterLoadAssignment validation failed');
|
||||
return;
|
||||
|
@ -298,7 +302,7 @@ export class XdsClient {
|
|||
* @param message
|
||||
*/
|
||||
private validateEdsResponse(
|
||||
message: edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output
|
||||
message: ClusterLoadAssignment__Output
|
||||
): boolean {
|
||||
for (const endpoint of message.endpoints) {
|
||||
for (const lb of endpoint.lb_endpoints) {
|
||||
|
@ -318,7 +322,7 @@ export class XdsClient {
|
|||
}
|
||||
|
||||
private handleEdsResponse(
|
||||
message: edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output
|
||||
message: ClusterLoadAssignment__Output
|
||||
) {
|
||||
const watchers = this.endpointWatchers.get(message.cluster_name) ?? [];
|
||||
for (const watcher of watchers) {
|
||||
|
@ -350,7 +354,7 @@ export class XdsClient {
|
|||
addEndpointWatcher(
|
||||
edsServiceName: string,
|
||||
watcher: Watcher<
|
||||
edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output
|
||||
ClusterLoadAssignment__Output
|
||||
>
|
||||
) {
|
||||
trace('Watcher added for endpoint ' + edsServiceName);
|
||||
|
@ -370,7 +374,7 @@ export class XdsClient {
|
|||
removeEndpointWatcher(
|
||||
edsServiceName: string,
|
||||
watcher: Watcher<
|
||||
edsTypes.messages.envoy.api.v2.ClusterLoadAssignment__Output
|
||||
ClusterLoadAssignment__Output
|
||||
>
|
||||
) {
|
||||
trace('Watcher removed for endpoint ' + edsServiceName);
|
||||
|
|
Loading…
Reference in New Issue