v2

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2018 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthCds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowCds   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthDiscovery = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowDiscovery   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthEds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowEds   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthLds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowLds   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthRds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRds   = fmt.Errorf("proto: integer overflow")
)
View Source
var Cluster_ClusterProtocolSelection_name = map[int32]string{
	0: "USE_CONFIGURED_PROTOCOL",
	1: "USE_DOWNSTREAM_PROTOCOL",
}
View Source
var Cluster_ClusterProtocolSelection_value = map[string]int32{
	"USE_CONFIGURED_PROTOCOL": 0,
	"USE_DOWNSTREAM_PROTOCOL": 1,
}
View Source
var Cluster_DiscoveryType_name = map[int32]string{
	0: "STATIC",
	1: "STRICT_DNS",
	2: "LOGICAL_DNS",
	3: "EDS",
	4: "ORIGINAL_DST",
}
View Source
var Cluster_DiscoveryType_value = map[string]int32{
	"STATIC":       0,
	"STRICT_DNS":   1,
	"LOGICAL_DNS":  2,
	"EDS":          3,
	"ORIGINAL_DST": 4,
}
View Source
var Cluster_DnsLookupFamily_name = map[int32]string{
	0: "AUTO",
	1: "V4_ONLY",
	2: "V6_ONLY",
}
View Source
var Cluster_DnsLookupFamily_value = map[string]int32{
	"AUTO":    0,
	"V4_ONLY": 1,
	"V6_ONLY": 2,
}
View Source
var Cluster_LbPolicy_name = map[int32]string{
	0: "ROUND_ROBIN",
	1: "LEAST_REQUEST",
	2: "RING_HASH",
	3: "RANDOM",
	4: "ORIGINAL_DST_LB",
	5: "MAGLEV",
}
View Source
var Cluster_LbPolicy_value = map[string]int32{
	"ROUND_ROBIN":     0,
	"LEAST_REQUEST":   1,
	"RING_HASH":       2,
	"RANDOM":          3,
	"ORIGINAL_DST_LB": 4,
	"MAGLEV":          5,
}
View Source
var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{
	0: "NO_FALLBACK",
	1: "ANY_ENDPOINT",
	2: "DEFAULT_SUBSET",
}
View Source
var Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{
	"NO_FALLBACK":    0,
	"ANY_ENDPOINT":   1,
	"DEFAULT_SUBSET": 2,
}
View Source
var Listener_DrainType_name = map[int32]string{
	0: "DEFAULT",
	1: "MODIFY_ONLY",
}
View Source
var Listener_DrainType_value = map[string]int32{
	"DEFAULT":     0,
	"MODIFY_ONLY": 1,
}

Functions

func RegisterClusterDiscoveryServiceServer

func RegisterClusterDiscoveryServiceServer(s *grpc.Server, srv ClusterDiscoveryServiceServer)

func RegisterEndpointDiscoveryServiceServer

func RegisterEndpointDiscoveryServiceServer(s *grpc.Server, srv EndpointDiscoveryServiceServer)

func RegisterListenerDiscoveryServiceServer

func RegisterListenerDiscoveryServiceServer(s *grpc.Server, srv ListenerDiscoveryServiceServer)

func RegisterRouteDiscoveryServiceServer

func RegisterRouteDiscoveryServiceServer(s *grpc.Server, srv RouteDiscoveryServiceServer)

Types

type Cluster

type Cluster struct {
	// Supplies the name of the cluster which must be unique across all clusters.
	// The cluster name is used when emitting
	// :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
	// <envoy_api_field_Cluster.alt_stat_name>` is not provided.
	// Any “:“ in the cluster name will be converted to “_“ when emitting statistics.
	// By default, the maximum length of a cluster name is limited to 60
	// characters. This limit can be increased by setting the
	// :option:`--max-obj-name-len` command line argument to the desired value.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// An optional alternative to the cluster name to be used while emitting stats.
	// Any “:“ in the name will be converted to “_“ when emitting statistics. This should not be
	// confused with :ref:`Router Filter Header
	// <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
	AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"`
	// The :ref:`service discovery type <arch_overview_service_discovery_types>`
	// to use for resolving the cluster.
	Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=envoy.api.v2.Cluster_DiscoveryType" json:"type,omitempty"`
	// Configuration to use for EDS updates for the Cluster.
	EdsClusterConfig *Cluster_EdsClusterConfig `protobuf:"bytes,3,opt,name=eds_cluster_config,json=edsClusterConfig" json:"eds_cluster_config,omitempty"`
	// The timeout for new network connections to hosts in the cluster.
	ConnectTimeout time.Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,stdduration" json:"connect_timeout"`
	// Soft limit on size of the cluster’s connections read and write buffers. If
	// unspecified, an implementation defined default is applied (1MiB).
	PerConnectionBufferLimitBytes *types.UInt32Value `` /* 147-byte string literal not displayed */
	// The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
	// when picking a host in the cluster.
	LbPolicy Cluster_LbPolicy `protobuf:"varint,6,opt,name=lb_policy,json=lbPolicy,proto3,enum=envoy.api.v2.Cluster_LbPolicy" json:"lb_policy,omitempty"`
	// If the service discovery type is
	// :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
	// or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
	// then hosts is required.
	//
	// .. attention::
	//
	//   **This field is deprecated**. Set the
	//   :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
	//
	Hosts []*core.Address `protobuf:"bytes,7,rep,name=hosts" json:"hosts,omitempty"` // Deprecated: Do not use.
	// Setting this is required for specifying members of
	// :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
	// or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
	// This field supersedes :ref:`hosts<envoy_api_field_Cluster.hosts>` field.
	// [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
	// once load_assignment is implemented.]
	//
	// .. attention::
	//
	//   Setting this allows non-EDS cluster types to contain embedded EDS equivalent
	//   :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
	//   Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values.
	//
	LoadAssignment *ClusterLoadAssignment `protobuf:"bytes,33,opt,name=load_assignment,json=loadAssignment" json:"load_assignment,omitempty"`
	// Optional :ref:`active health checking <arch_overview_health_checking>`
	// configuration for the cluster. If no
	// configuration is specified no health checking will be done and all cluster
	// members will be considered healthy at all times.
	HealthChecks []*core.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks" json:"health_checks,omitempty"`
	// Optional maximum requests for a single upstream connection. This parameter
	// is respected by both the HTTP/1.1 and HTTP/2 connection pool
	// implementations. If not specified, there is no limit. Setting this
	// parameter to 1 will effectively disable keep alive.
	MaxRequestsPerConnection *types.UInt32Value `` /* 130-byte string literal not displayed */
	// Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
	CircuitBreakers *cluster.CircuitBreakers `protobuf:"bytes,10,opt,name=circuit_breakers,json=circuitBreakers" json:"circuit_breakers,omitempty"`
	// The TLS configuration for connections to the upstream cluster. If no TLS
	// configuration is specified, TLS will not be used for new connections.
	//
	// .. attention::
	//
	//   Server certificate verification is not enabled by default. Configure
	//   :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
	//   verification.
	TlsContext *auth.UpstreamTlsContext `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext" json:"tls_context,omitempty"`
	// Additional options when handling HTTP requests. These options will be applicable to both
	// HTTP1 and HTTP2 requests.
	CommonHttpProtocolOptions *core.HttpProtocolOptions `` /* 134-byte string literal not displayed */
	// Additional options when handling HTTP1 requests.
	HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions" json:"http_protocol_options,omitempty"`
	// Even if default HTTP2 protocol options are desired, this field must be
	// set so that Envoy will assume that the upstream supports HTTP/2 when
	// making new HTTP connection pool connections. Currently, Envoy only
	// supports prior knowledge for upstream connections. Even if TLS is used
	// with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
	// connections to happen over plain text.
	Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions" json:"http2_protocol_options,omitempty"`
	// The extension_protocol_options field is used to provide extension-specific protocol options
	// for upstream connections. The key should match the extension filter name, such as
	// "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
	// specific options.
	ExtensionProtocolOptions map[string]*types.Struct `` /* 210-byte string literal not displayed */
	// If the DNS refresh rate is specified and the cluster type is either
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
	// or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
	// this value is used as the cluster’s DNS refresh
	// rate. If this setting is not specified, the value defaults to 5000. For
	// cluster types other than
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
	// and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
	// this setting is ignored.
	DnsRefreshRate *time.Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,stdduration" json:"dns_refresh_rate,omitempty"`
	// The DNS IP address resolution policy. If this setting is not specified, the
	// value defaults to
	// :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
	DnsLookupFamily Cluster_DnsLookupFamily `` /* 152-byte string literal not displayed */
	// If DNS resolvers are specified and the cluster type is either
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
	// or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
	// this value is used to specify the cluster’s dns resolvers.
	// If this setting is not specified, the value defaults to the default
	// resolver, which uses /etc/resolv.conf for configuration. For cluster types
	// other than
	// :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
	// and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
	// this setting is ignored.
	DnsResolvers []*core.Address `protobuf:"bytes,18,rep,name=dns_resolvers,json=dnsResolvers" json:"dns_resolvers,omitempty"`
	// If specified, outlier detection will be enabled for this upstream cluster.
	// Each of the configuration values can be overridden via
	// :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
	OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,19,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"`
	// The interval for removing stale hosts from a cluster type
	// :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
	// Hosts are considered stale if they have not been used
	// as upstream destinations during this interval. New hosts are added
	// to original destination clusters on demand as new connections are
	// redirected to Envoy, causing the number of hosts in the cluster to
	// grow over time. Hosts that are not stale (they are actively used as
	// destinations) are kept in the cluster, which allows connections to
	// them remain open, saving the latency that would otherwise be spent
	// on opening new connections. If this setting is not specified, the
	// value defaults to 5000ms. For cluster types other than
	// :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
	// this setting is ignored.
	CleanupInterval *time.Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,stdduration" json:"cleanup_interval,omitempty"`
	// Optional configuration used to bind newly established upstream connections.
	// This overrides any bind_config specified in the bootstrap proto.
	// If the address and port are empty, no bind will be performed.
	UpstreamBindConfig *core.BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig" json:"upstream_bind_config,omitempty"`
	// Configuration for load balancing subsetting.
	LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig" json:"lb_subset_config,omitempty"`
	// Optional configuration for the load balancing algorithm selected by
	// LbPolicy. Currently only
	// :ref:`RING_HASH<envoy_api_enum_value_Cluster.LbPolicy.RING_HASH>`
	// has additional configuration options.
	// Specifying ring_hash_lb_config without setting the LbPolicy to
	// :ref:`RING_HASH<envoy_api_enum_value_Cluster.LbPolicy.RING_HASH>`
	// will generate an error at runtime.
	//
	// Types that are valid to be assigned to LbConfig:
	//	*Cluster_RingHashLbConfig_
	//	*Cluster_OriginalDstLbConfig_
	LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"`
	// Common configuration for all load balancer implementations.
	CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig" json:"common_lb_config,omitempty"`
	// Optional custom transport socket implementation to use for upstream connections.
	TransportSocket *core.TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket" json:"transport_socket,omitempty"`
	// The Metadata field can be used to provide additional information about the
	// cluster. It can be used for stats, logging, and varying filter behavior.
	// Fields should use reverse DNS notation to denote which entity within Envoy
	// will need the information. For instance, if the metadata is intended for
	// the Router filter, the filter name should be specified as *envoy.router*.
	Metadata *core.Metadata `protobuf:"bytes,25,opt,name=metadata" json:"metadata,omitempty"`
	// Determines how Envoy selects the protocol used to speak to upstream hosts.
	ProtocolSelection Cluster_ClusterProtocolSelection `` /* 165-byte string literal not displayed */
	// Optional options for upstream connections.
	UpstreamConnectionOptions *UpstreamConnectionOptions `` /* 132-byte string literal not displayed */
	// If an upstream host becomes unhealthy (as determined by the configured health checks
	// or outlier detection), immediately close all connections to the failed host.
	//
	// .. note::
	//
	//   This is currently only supported for connections created by tcp_proxy.
	//
	// .. note::
	//
	//   The current implementation of this feature closes all connections immediately when
	//   the unhealthy status is detected. If there are a large number of connections open
	//   to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
	//   time exclusively closing these connections, and not processing any other traffic.
	CloseConnectionsOnHostHealthFailure bool `` /* 176-byte string literal not displayed */
	// If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
	// connections from any hosts that are removed from service discovery.
	//
	// This only affects behavior for hosts that are being actively health checked.
	// If this flag is not set to true, Envoy will wait until the hosts fail active health
	// checking before removing it from the cluster.
	DrainConnectionsOnHostRemoval bool     `` /* 156-byte string literal not displayed */
	XXX_NoUnkeyedLiteral          struct{} `json:"-"`
	XXX_unrecognized              []byte   `json:"-"`
	XXX_sizecache                 int32    `json:"-"`
}

Configuration for a single upstream cluster. [#comment:next free field: 36]

func (*Cluster) Descriptor

func (*Cluster) Descriptor() ([]byte, []int)

func (*Cluster) Equal

func (this *Cluster) Equal(that interface{}) bool

func (*Cluster) GetAltStatName

func (m *Cluster) GetAltStatName() string

func (*Cluster) GetCircuitBreakers

func (m *Cluster) GetCircuitBreakers() *cluster.CircuitBreakers

func (*Cluster) GetCleanupInterval

func (m *Cluster) GetCleanupInterval() *time.Duration

func (*Cluster) GetCloseConnectionsOnHostHealthFailure

func (m *Cluster) GetCloseConnectionsOnHostHealthFailure() bool

func (*Cluster) GetCommonHttpProtocolOptions

func (m *Cluster) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions

func (*Cluster) GetCommonLbConfig

func (m *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig

func (*Cluster) GetConnectTimeout

func (m *Cluster) GetConnectTimeout() time.Duration

func (*Cluster) GetDnsLookupFamily

func (m *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily

func (*Cluster) GetDnsRefreshRate

func (m *Cluster) GetDnsRefreshRate() *time.Duration

func (*Cluster) GetDnsResolvers

func (m *Cluster) GetDnsResolvers() []*core.Address

func (*Cluster) GetDrainConnectionsOnHostRemoval

func (m *Cluster) GetDrainConnectionsOnHostRemoval() bool

func (*Cluster) GetEdsClusterConfig

func (m *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig

func (*Cluster) GetExtensionProtocolOptions

func (m *Cluster) GetExtensionProtocolOptions() map[string]*types.Struct

func (*Cluster) GetHealthChecks

func (m *Cluster) GetHealthChecks() []*core.HealthCheck

func (*Cluster) GetHosts deprecated

func (m *Cluster) GetHosts() []*core.Address

Deprecated: Do not use.

func (*Cluster) GetHttp2ProtocolOptions

func (m *Cluster) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions

func (*Cluster) GetHttpProtocolOptions

func (m *Cluster) GetHttpProtocolOptions() *core.Http1ProtocolOptions

func (*Cluster) GetLbConfig

func (m *Cluster) GetLbConfig() isCluster_LbConfig

func (*Cluster) GetLbPolicy

func (m *Cluster) GetLbPolicy() Cluster_LbPolicy

func (*Cluster) GetLbSubsetConfig

func (m *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig

func (*Cluster) GetLoadAssignment

func (m *Cluster) GetLoadAssignment() *ClusterLoadAssignment

func (*Cluster) GetMaxRequestsPerConnection

func (m *Cluster) GetMaxRequestsPerConnection() *types.UInt32Value

func (*Cluster) GetMetadata

func (m *Cluster) GetMetadata() *core.Metadata

func (*Cluster) GetName

func (m *Cluster) GetName() string

func (*Cluster) GetOriginalDstLbConfig

func (m *Cluster) GetOriginalDstLbConfig() *Cluster_OriginalDstLbConfig

func (*Cluster) GetOutlierDetection

func (m *Cluster) GetOutlierDetection() *cluster.OutlierDetection

func (*Cluster) GetPerConnectionBufferLimitBytes

func (m *Cluster) GetPerConnectionBufferLimitBytes() *types.UInt32Value

func (*Cluster) GetProtocolSelection

func (m *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection

func (*Cluster) GetRingHashLbConfig

func (m *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig

func (*Cluster) GetTlsContext

func (m *Cluster) GetTlsContext() *auth.UpstreamTlsContext

func (*Cluster) GetTransportSocket

func (m *Cluster) GetTransportSocket() *core.TransportSocket

func (*Cluster) GetType

func (m *Cluster) GetType() Cluster_DiscoveryType

func (*Cluster) GetUpstreamBindConfig

func (m *Cluster) GetUpstreamBindConfig() *core.BindConfig

func (*Cluster) GetUpstreamConnectionOptions

func (m *Cluster) GetUpstreamConnectionOptions() *UpstreamConnectionOptions

func (*Cluster) Marshal

func (m *Cluster) Marshal() (dAtA []byte, err error)

func (*Cluster) MarshalTo

func (m *Cluster) MarshalTo(dAtA []byte) (int, error)

func (*Cluster) ProtoMessage

func (*Cluster) ProtoMessage()

func (*Cluster) Reset

func (m *Cluster) Reset()

func (*Cluster) Size

func (m *Cluster) Size() (n int)

func (*Cluster) String

func (m *Cluster) String() string

func (*Cluster) Unmarshal

func (m *Cluster) Unmarshal(dAtA []byte) error

func (*Cluster) Validate

func (m *Cluster) Validate() error

Validate checks the field values on Cluster with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster) XXX_DiscardUnknown

func (m *Cluster) XXX_DiscardUnknown()

func (*Cluster) XXX_Marshal

func (m *Cluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster) XXX_Merge

func (dst *Cluster) XXX_Merge(src proto.Message)

func (*Cluster) XXX_OneofFuncs

func (*Cluster) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Cluster) XXX_Size

func (m *Cluster) XXX_Size() int

func (*Cluster) XXX_Unmarshal

func (m *Cluster) XXX_Unmarshal(b []byte) error

type ClusterDiscoveryServiceClient

type ClusterDiscoveryServiceClient interface {
	StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, error)
	IncrementalClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_IncrementalClustersClient, error)
	FetchClusters(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error)
}

func NewClusterDiscoveryServiceClient

func NewClusterDiscoveryServiceClient(cc *grpc.ClientConn) ClusterDiscoveryServiceClient

type ClusterDiscoveryServiceServer

type ClusterDiscoveryServiceServer interface {
	StreamClusters(ClusterDiscoveryService_StreamClustersServer) error
	IncrementalClusters(ClusterDiscoveryService_IncrementalClustersServer) error
	FetchClusters(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

type ClusterDiscoveryService_IncrementalClustersClient

type ClusterDiscoveryService_IncrementalClustersClient interface {
	Send(*IncrementalDiscoveryRequest) error
	Recv() (*IncrementalDiscoveryResponse, error)
	grpc.ClientStream
}

type ClusterDiscoveryService_IncrementalClustersServer

type ClusterDiscoveryService_IncrementalClustersServer interface {
	Send(*IncrementalDiscoveryResponse) error
	Recv() (*IncrementalDiscoveryRequest, error)
	grpc.ServerStream
}

type ClusterDiscoveryService_StreamClustersClient

type ClusterDiscoveryService_StreamClustersClient interface {
	Send(*DiscoveryRequest) error
	Recv() (*DiscoveryResponse, error)
	grpc.ClientStream
}

type ClusterDiscoveryService_StreamClustersServer

type ClusterDiscoveryService_StreamClustersServer interface {
	Send(*DiscoveryResponse) error
	Recv() (*DiscoveryRequest, error)
	grpc.ServerStream
}

type ClusterLoadAssignment

type ClusterLoadAssignment struct {
	// Name of the cluster. This will be the :ref:`service_name
	// <envoy_api_field_Cluster.EdsClusterConfig.service_name>` value if specified
	// in the cluster :ref:`EdsClusterConfig
	// <envoy_api_msg_Cluster.EdsClusterConfig>`.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// List of endpoints to load balance to.
	Endpoints []endpoint.LocalityLbEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints"`
	// Load balancing policy settings.
	Policy               *ClusterLoadAssignment_Policy `protobuf:"bytes,4,opt,name=policy" json:"policy,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

Each route from RDS will map to a single cluster or traffic split across clusters using weights expressed in the RDS WeightedCluster.

With EDS, each cluster is treated independently from a LB perspective, with LB taking place between the Localities within a cluster and at a finer granularity between the hosts within a locality. For a given cluster, the effective weight of a host is its load_balancing_weight multiplied by the load_balancing_weight of its Locality.

func (*ClusterLoadAssignment) Descriptor

func (*ClusterLoadAssignment) Descriptor() ([]byte, []int)

func (*ClusterLoadAssignment) Equal

func (this *ClusterLoadAssignment) Equal(that interface{}) bool

func (*ClusterLoadAssignment) GetClusterName

func (m *ClusterLoadAssignment) GetClusterName() string

func (*ClusterLoadAssignment) GetEndpoints

func (*ClusterLoadAssignment) GetPolicy

func (*ClusterLoadAssignment) Marshal

func (m *ClusterLoadAssignment) Marshal() (dAtA []byte, err error)

func (*ClusterLoadAssignment) MarshalTo

func (m *ClusterLoadAssignment) MarshalTo(dAtA []byte) (int, error)

func (*ClusterLoadAssignment) ProtoMessage

func (*ClusterLoadAssignment) ProtoMessage()

func (*ClusterLoadAssignment) Reset

func (m *ClusterLoadAssignment) Reset()

func (*ClusterLoadAssignment) Size

func (m *ClusterLoadAssignment) Size() (n int)

func (*ClusterLoadAssignment) String

func (m *ClusterLoadAssignment) String() string

func (*ClusterLoadAssignment) Unmarshal

func (m *ClusterLoadAssignment) Unmarshal(dAtA []byte) error

func (*ClusterLoadAssignment) Validate

func (m *ClusterLoadAssignment) Validate() error

Validate checks the field values on ClusterLoadAssignment with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*ClusterLoadAssignment) XXX_DiscardUnknown

func (m *ClusterLoadAssignment) XXX_DiscardUnknown()

func (*ClusterLoadAssignment) XXX_Marshal

func (m *ClusterLoadAssignment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClusterLoadAssignment) XXX_Merge

func (dst *ClusterLoadAssignment) XXX_Merge(src proto.Message)

func (*ClusterLoadAssignment) XXX_Size

func (m *ClusterLoadAssignment) XXX_Size() int

func (*ClusterLoadAssignment) XXX_Unmarshal

func (m *ClusterLoadAssignment) XXX_Unmarshal(b []byte) error

type ClusterLoadAssignmentValidationError

type ClusterLoadAssignmentValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ClusterLoadAssignmentValidationError is the validation error returned by ClusterLoadAssignment.Validate if the designated constraints aren't met.

func (ClusterLoadAssignmentValidationError) Error

Error satisfies the builtin error interface

type ClusterLoadAssignment_Policy

type ClusterLoadAssignment_Policy struct {
	// Action to trim the overall incoming traffic to protect the upstream
	// hosts. This action allows protection in case the hosts are unable to
	// recover from an outage, or unable to autoscale or unable to handle
	// incoming traffic volume for any reason.
	//
	// At the client each category is applied one after the other to generate
	// the 'actual' drop percentage on all outgoing traffic. For example:
	//
	// .. code-block:: json
	//
	//  { "drop_overloads": [
	//      { "category": "throttle", "drop_percentage": 60 }
	//      { "category": "lb", "drop_percentage": 50 }
	//  ]}
	//
	// The actual drop percentages applied to the traffic at the clients will be
	//    "throttle"_drop = 60%
	//    "lb"_drop = 20%  // 50% of the remaining 'actual' load, which is 40%.
	//    actual_outgoing_load = 20% // remaining after applying all categories.
	DropOverloads        []*ClusterLoadAssignment_Policy_DropOverload `protobuf:"bytes,2,rep,name=drop_overloads,json=dropOverloads" json:"drop_overloads,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
	XXX_unrecognized     []byte                                       `json:"-"`
	XXX_sizecache        int32                                        `json:"-"`
}

Load balancing policy settings.

func (*ClusterLoadAssignment_Policy) Descriptor

func (*ClusterLoadAssignment_Policy) Descriptor() ([]byte, []int)

func (*ClusterLoadAssignment_Policy) Equal

func (this *ClusterLoadAssignment_Policy) Equal(that interface{}) bool

func (*ClusterLoadAssignment_Policy) GetDropOverloads

func (*ClusterLoadAssignment_Policy) Marshal

func (m *ClusterLoadAssignment_Policy) Marshal() (dAtA []byte, err error)

func (*ClusterLoadAssignment_Policy) MarshalTo

func (m *ClusterLoadAssignment_Policy) MarshalTo(dAtA []byte) (int, error)

func (*ClusterLoadAssignment_Policy) ProtoMessage

func (*ClusterLoadAssignment_Policy) ProtoMessage()

func (*ClusterLoadAssignment_Policy) Reset

func (m *ClusterLoadAssignment_Policy) Reset()

func (*ClusterLoadAssignment_Policy) Size

func (m *ClusterLoadAssignment_Policy) Size() (n int)

func (*ClusterLoadAssignment_Policy) String

func (*ClusterLoadAssignment_Policy) Unmarshal

func (m *ClusterLoadAssignment_Policy) Unmarshal(dAtA []byte) error

func (*ClusterLoadAssignment_Policy) Validate

func (m *ClusterLoadAssignment_Policy) Validate() error

Validate checks the field values on ClusterLoadAssignment_Policy with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*ClusterLoadAssignment_Policy) XXX_DiscardUnknown

func (m *ClusterLoadAssignment_Policy) XXX_DiscardUnknown()

func (*ClusterLoadAssignment_Policy) XXX_Marshal

func (m *ClusterLoadAssignment_Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClusterLoadAssignment_Policy) XXX_Merge

func (dst *ClusterLoadAssignment_Policy) XXX_Merge(src proto.Message)

func (*ClusterLoadAssignment_Policy) XXX_Size

func (m *ClusterLoadAssignment_Policy) XXX_Size() int

func (*ClusterLoadAssignment_Policy) XXX_Unmarshal

func (m *ClusterLoadAssignment_Policy) XXX_Unmarshal(b []byte) error

type ClusterLoadAssignment_PolicyValidationError

type ClusterLoadAssignment_PolicyValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ClusterLoadAssignment_PolicyValidationError is the validation error returned by ClusterLoadAssignment_Policy.Validate if the designated constraints aren't met.

func (ClusterLoadAssignment_PolicyValidationError) Error

Error satisfies the builtin error interface

type ClusterLoadAssignment_Policy_DropOverload

type ClusterLoadAssignment_Policy_DropOverload struct {
	// Identifier for the policy specifying the drop.
	Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
	// Percentage of traffic that should be dropped for the category.
	DropPercentage       *_type.FractionalPercent `protobuf:"bytes,2,opt,name=drop_percentage,json=dropPercentage" json:"drop_percentage,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor

func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor() ([]byte, []int)

func (*ClusterLoadAssignment_Policy_DropOverload) Equal

func (this *ClusterLoadAssignment_Policy_DropOverload) Equal(that interface{}) bool

func (*ClusterLoadAssignment_Policy_DropOverload) GetCategory

func (*ClusterLoadAssignment_Policy_DropOverload) GetDropPercentage

func (*ClusterLoadAssignment_Policy_DropOverload) Marshal

func (m *ClusterLoadAssignment_Policy_DropOverload) Marshal() (dAtA []byte, err error)

func (*ClusterLoadAssignment_Policy_DropOverload) MarshalTo

func (m *ClusterLoadAssignment_Policy_DropOverload) MarshalTo(dAtA []byte) (int, error)

func (*ClusterLoadAssignment_Policy_DropOverload) ProtoMessage

func (*ClusterLoadAssignment_Policy_DropOverload) Reset

func (*ClusterLoadAssignment_Policy_DropOverload) Size

func (*ClusterLoadAssignment_Policy_DropOverload) String

func (*ClusterLoadAssignment_Policy_DropOverload) Unmarshal

func (*ClusterLoadAssignment_Policy_DropOverload) Validate

Validate checks the field values on ClusterLoadAssignment_Policy_DropOverload with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*ClusterLoadAssignment_Policy_DropOverload) XXX_DiscardUnknown

func (m *ClusterLoadAssignment_Policy_DropOverload) XXX_DiscardUnknown()

func (*ClusterLoadAssignment_Policy_DropOverload) XXX_Marshal

func (m *ClusterLoadAssignment_Policy_DropOverload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClusterLoadAssignment_Policy_DropOverload) XXX_Merge

func (*ClusterLoadAssignment_Policy_DropOverload) XXX_Size

func (*ClusterLoadAssignment_Policy_DropOverload) XXX_Unmarshal

type ClusterLoadAssignment_Policy_DropOverloadValidationError

type ClusterLoadAssignment_Policy_DropOverloadValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ClusterLoadAssignment_Policy_DropOverloadValidationError is the validation error returned by ClusterLoadAssignment_Policy_DropOverload.Validate if the designated constraints aren't met.

func (ClusterLoadAssignment_Policy_DropOverloadValidationError) Error

Error satisfies the builtin error interface

type ClusterValidationError

type ClusterValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ClusterValidationError is the validation error returned by Cluster.Validate if the designated constraints aren't met.

func (ClusterValidationError) Error

func (e ClusterValidationError) Error() string

Error satisfies the builtin error interface

type Cluster_ClusterProtocolSelection

type Cluster_ClusterProtocolSelection int32
const (
	// Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
	// If :ref:`http2_protocol_options <envoy_api_field_Cluster.http2_protocol_options>` are
	// present, HTTP2 will be used, otherwise HTTP1.1 will be used.
	Cluster_USE_CONFIGURED_PROTOCOL Cluster_ClusterProtocolSelection = 0
	// Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
	Cluster_USE_DOWNSTREAM_PROTOCOL Cluster_ClusterProtocolSelection = 1
)

func (Cluster_ClusterProtocolSelection) EnumDescriptor

func (Cluster_ClusterProtocolSelection) EnumDescriptor() ([]byte, []int)

func (Cluster_ClusterProtocolSelection) String

type Cluster_CommonLbConfig

type Cluster_CommonLbConfig struct {
	// Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
	// If not specified, the default is 50%.
	//
	// .. note::
	//   The specified percent will be truncated to the nearest 1%.
	HealthyPanicThreshold *_type.Percent `protobuf:"bytes,1,opt,name=healthy_panic_threshold,json=healthyPanicThreshold" json:"healthy_panic_threshold,omitempty"`
	// Types that are valid to be assigned to LocalityConfigSpecifier:
	//	*Cluster_CommonLbConfig_ZoneAwareLbConfig_
	//	*Cluster_CommonLbConfig_LocalityWeightedLbConfig_
	LocalityConfigSpecifier isCluster_CommonLbConfig_LocalityConfigSpecifier `protobuf_oneof:"locality_config_specifier"`
	// If set, all health check/weight/metadata updates that happen within this duration will be
	// merged and delivered in one shot when the duration expires. The start of the duration is when
	// the first update happens. This is useful for big clusters, with potentially noisy deploys
	// that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
	// or metadata updates. By default, this is not configured and updates apply immediately. Also,
	// the first set of updates to be seen apply immediately as well (e.g.: a new cluster).
	//
	// Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
	// because merging those updates isn't currently safe. See
	// https://github.com/envoyproxy/envoy/pull/3941.
	UpdateMergeWindow    *types.Duration `protobuf:"bytes,4,opt,name=update_merge_window,json=updateMergeWindow" json:"update_merge_window,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Common configuration for all load balancer implementations.

func (*Cluster_CommonLbConfig) Descriptor

func (*Cluster_CommonLbConfig) Descriptor() ([]byte, []int)

func (*Cluster_CommonLbConfig) Equal

func (this *Cluster_CommonLbConfig) Equal(that interface{}) bool

func (*Cluster_CommonLbConfig) GetHealthyPanicThreshold

func (m *Cluster_CommonLbConfig) GetHealthyPanicThreshold() *_type.Percent

func (*Cluster_CommonLbConfig) GetLocalityConfigSpecifier

func (m *Cluster_CommonLbConfig) GetLocalityConfigSpecifier() isCluster_CommonLbConfig_LocalityConfigSpecifier

func (*Cluster_CommonLbConfig) GetLocalityWeightedLbConfig

func (*Cluster_CommonLbConfig) GetUpdateMergeWindow

func (m *Cluster_CommonLbConfig) GetUpdateMergeWindow() *types.Duration

func (*Cluster_CommonLbConfig) GetZoneAwareLbConfig

func (*Cluster_CommonLbConfig) Marshal

func (m *Cluster_CommonLbConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_CommonLbConfig) MarshalTo

func (m *Cluster_CommonLbConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_CommonLbConfig) ProtoMessage

func (*Cluster_CommonLbConfig) ProtoMessage()

func (*Cluster_CommonLbConfig) Reset

func (m *Cluster_CommonLbConfig) Reset()

func (*Cluster_CommonLbConfig) Size

func (m *Cluster_CommonLbConfig) Size() (n int)

func (*Cluster_CommonLbConfig) String

func (m *Cluster_CommonLbConfig) String() string

func (*Cluster_CommonLbConfig) Unmarshal

func (m *Cluster_CommonLbConfig) Unmarshal(dAtA []byte) error

func (*Cluster_CommonLbConfig) Validate

func (m *Cluster_CommonLbConfig) Validate() error

Validate checks the field values on Cluster_CommonLbConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_CommonLbConfig) XXX_DiscardUnknown

func (m *Cluster_CommonLbConfig) XXX_DiscardUnknown()

func (*Cluster_CommonLbConfig) XXX_Marshal

func (m *Cluster_CommonLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_CommonLbConfig) XXX_Merge

func (dst *Cluster_CommonLbConfig) XXX_Merge(src proto.Message)

func (*Cluster_CommonLbConfig) XXX_OneofFuncs

func (*Cluster_CommonLbConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Cluster_CommonLbConfig) XXX_Size

func (m *Cluster_CommonLbConfig) XXX_Size() int

func (*Cluster_CommonLbConfig) XXX_Unmarshal

func (m *Cluster_CommonLbConfig) XXX_Unmarshal(b []byte) error

type Cluster_CommonLbConfigValidationError

type Cluster_CommonLbConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_CommonLbConfigValidationError is the validation error returned by Cluster_CommonLbConfig.Validate if the designated constraints aren't met.

func (Cluster_CommonLbConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_CommonLbConfig_LocalityWeightedLbConfig

type Cluster_CommonLbConfig_LocalityWeightedLbConfig struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Configuration for :ref:`locality weighted load balancing <arch_overview_load_balancing_locality_weighted_lb>`

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Descriptor

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Equal

func (this *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Equal(that interface{}) bool

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Marshal

func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) MarshalTo

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) ProtoMessage

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Reset

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Size

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) String

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Unmarshal

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) Validate

Validate checks the field values on Cluster_CommonLbConfig_LocalityWeightedLbConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_DiscardUnknown

func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_DiscardUnknown()

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Marshal

func (m *Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Merge

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Size

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig) XXX_Unmarshal

type Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError

type Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError is the validation error returned by Cluster_CommonLbConfig_LocalityWeightedLbConfig.Validate if the designated constraints aren't met.

func (Cluster_CommonLbConfig_LocalityWeightedLbConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_CommonLbConfig_LocalityWeightedLbConfig_

type Cluster_CommonLbConfig_LocalityWeightedLbConfig_ struct {
	LocalityWeightedLbConfig *Cluster_CommonLbConfig_LocalityWeightedLbConfig `protobuf:"bytes,3,opt,name=locality_weighted_lb_config,json=localityWeightedLbConfig,oneof"`
}

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) Equal

func (this *Cluster_CommonLbConfig_LocalityWeightedLbConfig_) Equal(that interface{}) bool

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) MarshalTo

func (*Cluster_CommonLbConfig_LocalityWeightedLbConfig_) Size

type Cluster_CommonLbConfig_ZoneAwareLbConfig

type Cluster_CommonLbConfig_ZoneAwareLbConfig struct {
	// 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>`.
	RoutingEnabled *_type.Percent `protobuf:"bytes,1,opt,name=routing_enabled,json=routingEnabled" json:"routing_enabled,omitempty"`
	// 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>`.
	MinClusterSize       *types.UInt64Value `protobuf:"bytes,2,opt,name=min_cluster_size,json=minClusterSize" json:"min_cluster_size,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

Configuration for :ref:`zone aware routing <arch_overview_load_balancing_zone_aware_routing>`.

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Descriptor() ([]byte, []int)

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Equal

func (this *Cluster_CommonLbConfig_ZoneAwareLbConfig) Equal(that interface{}) bool

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) GetMinClusterSize

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) GetRoutingEnabled() *_type.Percent

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Marshal

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) MarshalTo

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) ProtoMessage

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Reset

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Size

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) String

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Unmarshal

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) Validate

Validate checks the field values on Cluster_CommonLbConfig_ZoneAwareLbConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_DiscardUnknown

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_DiscardUnknown()

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Marshal

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Merge

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Size

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Unmarshal

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig) XXX_Unmarshal(b []byte) error

type Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError

type Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError is the validation error returned by Cluster_CommonLbConfig_ZoneAwareLbConfig.Validate if the designated constraints aren't met.

func (Cluster_CommonLbConfig_ZoneAwareLbConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_CommonLbConfig_ZoneAwareLbConfig_

type Cluster_CommonLbConfig_ZoneAwareLbConfig_ struct {
	ZoneAwareLbConfig *Cluster_CommonLbConfig_ZoneAwareLbConfig `protobuf:"bytes,2,opt,name=zone_aware_lb_config,json=zoneAwareLbConfig,oneof"`
}

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) Equal

func (this *Cluster_CommonLbConfig_ZoneAwareLbConfig_) Equal(that interface{}) bool

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) MarshalTo

func (m *Cluster_CommonLbConfig_ZoneAwareLbConfig_) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_CommonLbConfig_ZoneAwareLbConfig_) Size

type Cluster_DiscoveryType

type Cluster_DiscoveryType int32

Refer to :ref:`service discovery type <arch_overview_service_discovery_types>` for an explanation on each type.

const (
	// Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>`
	// for an explanation.
	Cluster_STATIC Cluster_DiscoveryType = 0
	// Refer to the :ref:`strict DNS discovery
	// type<arch_overview_service_discovery_types_strict_dns>`
	// for an explanation.
	Cluster_STRICT_DNS Cluster_DiscoveryType = 1
	// Refer to the :ref:`logical DNS discovery
	// type<arch_overview_service_discovery_types_logical_dns>`
	// for an explanation.
	Cluster_LOGICAL_DNS Cluster_DiscoveryType = 2
	// Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_sds>`
	// for an explanation.
	Cluster_EDS Cluster_DiscoveryType = 3
	// Refer to the :ref:`original destination discovery
	// type<arch_overview_service_discovery_types_original_destination>`
	// for an explanation.
	Cluster_ORIGINAL_DST Cluster_DiscoveryType = 4
)

func (Cluster_DiscoveryType) EnumDescriptor

func (Cluster_DiscoveryType) EnumDescriptor() ([]byte, []int)

func (Cluster_DiscoveryType) String

func (x Cluster_DiscoveryType) String() string

type Cluster_DnsLookupFamily

type Cluster_DnsLookupFamily int32

When V4_ONLY is selected, the DNS resolver will only perform a lookup for addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will only perform a lookup for addresses in the IPv6 family. If AUTO is specified, the DNS resolver will first perform a lookup for addresses in the IPv6 family and fallback to a lookup for addresses in the IPv4 family. For cluster types other than :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`, this setting is ignored.

const (
	Cluster_AUTO    Cluster_DnsLookupFamily = 0
	Cluster_V4_ONLY Cluster_DnsLookupFamily = 1
	Cluster_V6_ONLY Cluster_DnsLookupFamily = 2
)

func (Cluster_DnsLookupFamily) EnumDescriptor

func (Cluster_DnsLookupFamily) EnumDescriptor() ([]byte, []int)

func (Cluster_DnsLookupFamily) String

func (x Cluster_DnsLookupFamily) String() string

type Cluster_EdsClusterConfig

type Cluster_EdsClusterConfig struct {
	// Configuration for the source of EDS updates for this Cluster.
	EdsConfig *core.ConfigSource `protobuf:"bytes,1,opt,name=eds_config,json=edsConfig" json:"eds_config,omitempty"`
	// Optional alternative to cluster name to present to EDS. This does not
	// have the same restrictions as cluster name, i.e. it may be arbitrary
	// length.
	ServiceName          string   `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Only valid when discovery type is EDS.

func (*Cluster_EdsClusterConfig) Descriptor

func (*Cluster_EdsClusterConfig) Descriptor() ([]byte, []int)

func (*Cluster_EdsClusterConfig) Equal

func (this *Cluster_EdsClusterConfig) Equal(that interface{}) bool

func (*Cluster_EdsClusterConfig) GetEdsConfig

func (m *Cluster_EdsClusterConfig) GetEdsConfig() *core.ConfigSource

func (*Cluster_EdsClusterConfig) GetServiceName

func (m *Cluster_EdsClusterConfig) GetServiceName() string

func (*Cluster_EdsClusterConfig) Marshal

func (m *Cluster_EdsClusterConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_EdsClusterConfig) MarshalTo

func (m *Cluster_EdsClusterConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_EdsClusterConfig) ProtoMessage

func (*Cluster_EdsClusterConfig) ProtoMessage()

func (*Cluster_EdsClusterConfig) Reset

func (m *Cluster_EdsClusterConfig) Reset()

func (*Cluster_EdsClusterConfig) Size

func (m *Cluster_EdsClusterConfig) Size() (n int)

func (*Cluster_EdsClusterConfig) String

func (m *Cluster_EdsClusterConfig) String() string

func (*Cluster_EdsClusterConfig) Unmarshal

func (m *Cluster_EdsClusterConfig) Unmarshal(dAtA []byte) error

func (*Cluster_EdsClusterConfig) Validate

func (m *Cluster_EdsClusterConfig) Validate() error

Validate checks the field values on Cluster_EdsClusterConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_EdsClusterConfig) XXX_DiscardUnknown

func (m *Cluster_EdsClusterConfig) XXX_DiscardUnknown()

func (*Cluster_EdsClusterConfig) XXX_Marshal

func (m *Cluster_EdsClusterConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_EdsClusterConfig) XXX_Merge

func (dst *Cluster_EdsClusterConfig) XXX_Merge(src proto.Message)

func (*Cluster_EdsClusterConfig) XXX_Size

func (m *Cluster_EdsClusterConfig) XXX_Size() int

func (*Cluster_EdsClusterConfig) XXX_Unmarshal

func (m *Cluster_EdsClusterConfig) XXX_Unmarshal(b []byte) error

type Cluster_EdsClusterConfigValidationError

type Cluster_EdsClusterConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_EdsClusterConfigValidationError is the validation error returned by Cluster_EdsClusterConfig.Validate if the designated constraints aren't met.

func (Cluster_EdsClusterConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_LbPolicy

type Cluster_LbPolicy int32

Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture overview section for information on each type.

const (
	// Refer to the :ref:`round robin load balancing
	// policy<arch_overview_load_balancing_types_round_robin>`
	// for an explanation.
	Cluster_ROUND_ROBIN Cluster_LbPolicy = 0
	// Refer to the :ref:`least request load balancing
	// policy<arch_overview_load_balancing_types_least_request>`
	// for an explanation.
	Cluster_LEAST_REQUEST Cluster_LbPolicy = 1
	// Refer to the :ref:`ring hash load balancing
	// policy<arch_overview_load_balancing_types_ring_hash>`
	// for an explanation.
	Cluster_RING_HASH Cluster_LbPolicy = 2
	// Refer to the :ref:`random load balancing
	// policy<arch_overview_load_balancing_types_random>`
	// for an explanation.
	Cluster_RANDOM Cluster_LbPolicy = 3
	// Refer to the :ref:`original destination load balancing
	// policy<arch_overview_load_balancing_types_original_destination>`
	// for an explanation.
	Cluster_ORIGINAL_DST_LB Cluster_LbPolicy = 4
	// Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
	// for an explanation.
	Cluster_MAGLEV Cluster_LbPolicy = 5
)

func (Cluster_LbPolicy) EnumDescriptor

func (Cluster_LbPolicy) EnumDescriptor() ([]byte, []int)

func (Cluster_LbPolicy) String

func (x Cluster_LbPolicy) String() string

type Cluster_LbSubsetConfig

type Cluster_LbSubsetConfig struct {
	// The behavior used when no endpoint subset matches the selected route's
	// metadata. The value defaults to
	// :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
	FallbackPolicy Cluster_LbSubsetConfig_LbSubsetFallbackPolicy `` /* 168-byte string literal not displayed */
	// Specifies the default subset of endpoints used during fallback if
	// fallback_policy is
	// :ref:`DEFAULT_SUBSET<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
	// Each field in default_subset is
	// compared to the matching LbEndpoint.Metadata under the *envoy.lb*
	// namespace. It is valid for no hosts to match, in which case the behavior
	// is the same as a fallback_policy of
	// :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
	DefaultSubset *types.Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset" json:"default_subset,omitempty"`
	// For each entry, LbEndpoint.Metadata's
	// *envoy.lb* namespace is traversed and a subset is created for each unique
	// combination of key and value. For example:
	//
	// .. code-block:: json
	//
	//   { "subset_selectors": [
	//       { "keys": [ "version" ] },
	//       { "keys": [ "stage", "hardware_type" ] }
	//   ]}
	//
	// A subset is matched when the metadata from the selected route and
	// weighted cluster contains the same keys and values as the subset's
	// metadata. The same host may appear in multiple subsets.
	SubsetSelectors []*Cluster_LbSubsetConfig_LbSubsetSelector `protobuf:"bytes,3,rep,name=subset_selectors,json=subsetSelectors" json:"subset_selectors,omitempty"`
	// If true, routing to subsets will take into account the localities and locality weights of the
	// endpoints when making the routing decision.
	//
	// There are some potential pitfalls associated with enabling this feature, as the resulting
	// traffic split after applying both a subset match and locality weights might be undesirable.
	//
	// Consider for example a situation in which you have 50/50 split across two localities X/Y
	// which have 100 hosts each without subsetting. If the subset LB results in X having only 1
	// host selected but Y having 100, then a lot more load is being dumped on the single host in X
	// than originally anticipated in the load balancing assignment delivered via EDS.
	LocalityWeightAware  bool     `protobuf:"varint,4,opt,name=locality_weight_aware,json=localityWeightAware,proto3" json:"locality_weight_aware,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Optionally divide the endpoints in this cluster into subsets defined by endpoint metadata and selected by route and weighted cluster metadata.

func (*Cluster_LbSubsetConfig) Descriptor

func (*Cluster_LbSubsetConfig) Descriptor() ([]byte, []int)

func (*Cluster_LbSubsetConfig) Equal

func (this *Cluster_LbSubsetConfig) Equal(that interface{}) bool

func (*Cluster_LbSubsetConfig) GetDefaultSubset

func (m *Cluster_LbSubsetConfig) GetDefaultSubset() *types.Struct

func (*Cluster_LbSubsetConfig) GetFallbackPolicy

func (*Cluster_LbSubsetConfig) GetLocalityWeightAware

func (m *Cluster_LbSubsetConfig) GetLocalityWeightAware() bool

func (*Cluster_LbSubsetConfig) GetSubsetSelectors

func (*Cluster_LbSubsetConfig) Marshal

func (m *Cluster_LbSubsetConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_LbSubsetConfig) MarshalTo

func (m *Cluster_LbSubsetConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_LbSubsetConfig) ProtoMessage

func (*Cluster_LbSubsetConfig) ProtoMessage()

func (*Cluster_LbSubsetConfig) Reset

func (m *Cluster_LbSubsetConfig) Reset()

func (*Cluster_LbSubsetConfig) Size

func (m *Cluster_LbSubsetConfig) Size() (n int)

func (*Cluster_LbSubsetConfig) String

func (m *Cluster_LbSubsetConfig) String() string

func (*Cluster_LbSubsetConfig) Unmarshal

func (m *Cluster_LbSubsetConfig) Unmarshal(dAtA []byte) error

func (*Cluster_LbSubsetConfig) Validate

func (m *Cluster_LbSubsetConfig) Validate() error

Validate checks the field values on Cluster_LbSubsetConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_LbSubsetConfig) XXX_DiscardUnknown

func (m *Cluster_LbSubsetConfig) XXX_DiscardUnknown()

func (*Cluster_LbSubsetConfig) XXX_Marshal

func (m *Cluster_LbSubsetConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_LbSubsetConfig) XXX_Merge

func (dst *Cluster_LbSubsetConfig) XXX_Merge(src proto.Message)

func (*Cluster_LbSubsetConfig) XXX_Size

func (m *Cluster_LbSubsetConfig) XXX_Size() int

func (*Cluster_LbSubsetConfig) XXX_Unmarshal

func (m *Cluster_LbSubsetConfig) XXX_Unmarshal(b []byte) error

type Cluster_LbSubsetConfigValidationError

type Cluster_LbSubsetConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_LbSubsetConfigValidationError is the validation error returned by Cluster_LbSubsetConfig.Validate if the designated constraints aren't met.

func (Cluster_LbSubsetConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy

type Cluster_LbSubsetConfig_LbSubsetFallbackPolicy int32

If NO_FALLBACK is selected, a result equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected, any cluster endpoint may be returned (subject to policy, health checks, etc). If DEFAULT_SUBSET is selected, load balancing is performed over the endpoints matching the values from the default_subset field.

const (
	Cluster_LbSubsetConfig_NO_FALLBACK    Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 0
	Cluster_LbSubsetConfig_ANY_ENDPOINT   Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 1
	Cluster_LbSubsetConfig_DEFAULT_SUBSET Cluster_LbSubsetConfig_LbSubsetFallbackPolicy = 2
)

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor() ([]byte, []int)

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String

type Cluster_LbSubsetConfig_LbSubsetSelector

type Cluster_LbSubsetConfig_LbSubsetSelector struct {
	// List of keys to match with the weighted cluster metadata.
	Keys                 []string `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Specifications for subsets.

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor() ([]byte, []int)

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Equal

func (this *Cluster_LbSubsetConfig_LbSubsetSelector) Equal(that interface{}) bool

func (*Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Marshal

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Marshal() (dAtA []byte, err error)

func (*Cluster_LbSubsetConfig_LbSubsetSelector) MarshalTo

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Reset

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Size

func (*Cluster_LbSubsetConfig_LbSubsetSelector) String

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Unmarshal

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) Unmarshal(dAtA []byte) error

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Validate

Validate checks the field values on Cluster_LbSubsetConfig_LbSubsetSelector with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_LbSubsetConfig_LbSubsetSelector) XXX_DiscardUnknown

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_DiscardUnknown()

func (*Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Marshal

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Merge

func (*Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Size

func (*Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Unmarshal

func (m *Cluster_LbSubsetConfig_LbSubsetSelector) XXX_Unmarshal(b []byte) error

type Cluster_LbSubsetConfig_LbSubsetSelectorValidationError

type Cluster_LbSubsetConfig_LbSubsetSelectorValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_LbSubsetConfig_LbSubsetSelectorValidationError is the validation error returned by Cluster_LbSubsetConfig_LbSubsetSelector.Validate if the designated constraints aren't met.

func (Cluster_LbSubsetConfig_LbSubsetSelectorValidationError) Error

Error satisfies the builtin error interface

type Cluster_OriginalDstLbConfig

type Cluster_OriginalDstLbConfig struct {
	// When true, :ref:`x-envoy-orignal-dst-host
	// <config_http_conn_man_headers_x-envoy-original-dst-host>` can be used to override destination
	// address.
	//
	// .. attention::
	//
	//   This header isn't sanitized by default, so enabling this feature allows HTTP clients to
	//   route traffic to arbitrary hosts and/or ports, which may have serious security
	//   consequences.
	UseHttpHeader        bool     `protobuf:"varint,1,opt,name=use_http_header,json=useHttpHeader,proto3" json:"use_http_header,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Specific configuration for the :ref:`Original Destination <arch_overview_load_balancing_types_original_destination>` load balancing policy.

func (*Cluster_OriginalDstLbConfig) Descriptor

func (*Cluster_OriginalDstLbConfig) Descriptor() ([]byte, []int)

func (*Cluster_OriginalDstLbConfig) Equal

func (this *Cluster_OriginalDstLbConfig) Equal(that interface{}) bool

func (*Cluster_OriginalDstLbConfig) GetUseHttpHeader

func (m *Cluster_OriginalDstLbConfig) GetUseHttpHeader() bool

func (*Cluster_OriginalDstLbConfig) Marshal

func (m *Cluster_OriginalDstLbConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_OriginalDstLbConfig) MarshalTo

func (m *Cluster_OriginalDstLbConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_OriginalDstLbConfig) ProtoMessage

func (*Cluster_OriginalDstLbConfig) ProtoMessage()

func (*Cluster_OriginalDstLbConfig) Reset

func (m *Cluster_OriginalDstLbConfig) Reset()

func (*Cluster_OriginalDstLbConfig) Size

func (m *Cluster_OriginalDstLbConfig) Size() (n int)

func (*Cluster_OriginalDstLbConfig) String

func (m *Cluster_OriginalDstLbConfig) String() string

func (*Cluster_OriginalDstLbConfig) Unmarshal

func (m *Cluster_OriginalDstLbConfig) Unmarshal(dAtA []byte) error

func (*Cluster_OriginalDstLbConfig) Validate

func (m *Cluster_OriginalDstLbConfig) Validate() error

Validate checks the field values on Cluster_OriginalDstLbConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_OriginalDstLbConfig) XXX_DiscardUnknown

func (m *Cluster_OriginalDstLbConfig) XXX_DiscardUnknown()

func (*Cluster_OriginalDstLbConfig) XXX_Marshal

func (m *Cluster_OriginalDstLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_OriginalDstLbConfig) XXX_Merge

func (dst *Cluster_OriginalDstLbConfig) XXX_Merge(src proto.Message)

func (*Cluster_OriginalDstLbConfig) XXX_Size

func (m *Cluster_OriginalDstLbConfig) XXX_Size() int

func (*Cluster_OriginalDstLbConfig) XXX_Unmarshal

func (m *Cluster_OriginalDstLbConfig) XXX_Unmarshal(b []byte) error

type Cluster_OriginalDstLbConfigValidationError

type Cluster_OriginalDstLbConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_OriginalDstLbConfigValidationError is the validation error returned by Cluster_OriginalDstLbConfig.Validate if the designated constraints aren't met.

func (Cluster_OriginalDstLbConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_OriginalDstLbConfig_

type Cluster_OriginalDstLbConfig_ struct {
	OriginalDstLbConfig *Cluster_OriginalDstLbConfig `protobuf:"bytes,34,opt,name=original_dst_lb_config,json=originalDstLbConfig,oneof"`
}

func (*Cluster_OriginalDstLbConfig_) Equal

func (this *Cluster_OriginalDstLbConfig_) Equal(that interface{}) bool

func (*Cluster_OriginalDstLbConfig_) MarshalTo

func (m *Cluster_OriginalDstLbConfig_) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_OriginalDstLbConfig_) Size

func (m *Cluster_OriginalDstLbConfig_) Size() (n int)

type Cluster_RingHashLbConfig

type Cluster_RingHashLbConfig struct {
	// Minimum hash ring size, i.e. total virtual nodes. A larger size
	// will provide better request distribution since each host in the
	// cluster will have more virtual nodes. Defaults to 1024. In the case
	// that total number of hosts is greater than the minimum, each host will
	// be allocated a single virtual node. This field is limited to 8M to bound
	// resource use.
	MinimumRingSize *types.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize" json:"minimum_ring_size,omitempty"`
	// Deprecated settings from v1 config.
	// [#not-implemented-hide:] Hide from docs.
	DeprecatedV1         *Cluster_RingHashLbConfig_DeprecatedV1 `protobuf:"bytes,2,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"` // Deprecated: Do not use.
	XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
	XXX_unrecognized     []byte                                 `json:"-"`
	XXX_sizecache        int32                                  `json:"-"`
}

Specific configuration for the :ref:`RingHash<arch_overview_load_balancing_types_ring_hash>` load balancing policy.

func (*Cluster_RingHashLbConfig) Descriptor

func (*Cluster_RingHashLbConfig) Descriptor() ([]byte, []int)

func (*Cluster_RingHashLbConfig) Equal

func (this *Cluster_RingHashLbConfig) Equal(that interface{}) bool

func (*Cluster_RingHashLbConfig) GetDeprecatedV1 deprecated

Deprecated: Do not use.

func (*Cluster_RingHashLbConfig) GetMinimumRingSize

func (m *Cluster_RingHashLbConfig) GetMinimumRingSize() *types.UInt64Value

func (*Cluster_RingHashLbConfig) Marshal

func (m *Cluster_RingHashLbConfig) Marshal() (dAtA []byte, err error)

func (*Cluster_RingHashLbConfig) MarshalTo

func (m *Cluster_RingHashLbConfig) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_RingHashLbConfig) ProtoMessage

func (*Cluster_RingHashLbConfig) ProtoMessage()

func (*Cluster_RingHashLbConfig) Reset

func (m *Cluster_RingHashLbConfig) Reset()

func (*Cluster_RingHashLbConfig) Size

func (m *Cluster_RingHashLbConfig) Size() (n int)

func (*Cluster_RingHashLbConfig) String

func (m *Cluster_RingHashLbConfig) String() string

func (*Cluster_RingHashLbConfig) Unmarshal

func (m *Cluster_RingHashLbConfig) Unmarshal(dAtA []byte) error

func (*Cluster_RingHashLbConfig) Validate

func (m *Cluster_RingHashLbConfig) Validate() error

Validate checks the field values on Cluster_RingHashLbConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_RingHashLbConfig) XXX_DiscardUnknown

func (m *Cluster_RingHashLbConfig) XXX_DiscardUnknown()

func (*Cluster_RingHashLbConfig) XXX_Marshal

func (m *Cluster_RingHashLbConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_RingHashLbConfig) XXX_Merge

func (dst *Cluster_RingHashLbConfig) XXX_Merge(src proto.Message)

func (*Cluster_RingHashLbConfig) XXX_Size

func (m *Cluster_RingHashLbConfig) XXX_Size() int

func (*Cluster_RingHashLbConfig) XXX_Unmarshal

func (m *Cluster_RingHashLbConfig) XXX_Unmarshal(b []byte) error

type Cluster_RingHashLbConfigValidationError

type Cluster_RingHashLbConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_RingHashLbConfigValidationError is the validation error returned by Cluster_RingHashLbConfig.Validate if the designated constraints aren't met.

func (Cluster_RingHashLbConfigValidationError) Error

Error satisfies the builtin error interface

type Cluster_RingHashLbConfig_

type Cluster_RingHashLbConfig_ struct {
	RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,oneof"`
}

func (*Cluster_RingHashLbConfig_) Equal

func (this *Cluster_RingHashLbConfig_) Equal(that interface{}) bool

func (*Cluster_RingHashLbConfig_) MarshalTo

func (m *Cluster_RingHashLbConfig_) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_RingHashLbConfig_) Size

func (m *Cluster_RingHashLbConfig_) Size() (n int)

type Cluster_RingHashLbConfig_DeprecatedV1

type Cluster_RingHashLbConfig_DeprecatedV1 struct {
	// Defaults to true, meaning that std::hash is used to hash hosts onto
	// the ketama ring. std::hash can vary by platform. For this reason,
	// Envoy will eventually use `xxHash <https://github.com/Cyan4973/xxHash>`_
	// by default. This field exists for
	// migration purposes and will eventually be deprecated. Set it to false
	// to use `xxHash <https://github.com/Cyan4973/xxHash>`_ now.
	UseStdHash           *types.BoolValue `protobuf:"bytes,1,opt,name=use_std_hash,json=useStdHash" json:"use_std_hash,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

[#not-implemented-hide:] Hide from docs.

func (*Cluster_RingHashLbConfig_DeprecatedV1) Descriptor

func (*Cluster_RingHashLbConfig_DeprecatedV1) Descriptor() ([]byte, []int)

func (*Cluster_RingHashLbConfig_DeprecatedV1) Equal

func (this *Cluster_RingHashLbConfig_DeprecatedV1) Equal(that interface{}) bool

func (*Cluster_RingHashLbConfig_DeprecatedV1) GetUseStdHash

func (*Cluster_RingHashLbConfig_DeprecatedV1) Marshal

func (m *Cluster_RingHashLbConfig_DeprecatedV1) Marshal() (dAtA []byte, err error)

func (*Cluster_RingHashLbConfig_DeprecatedV1) MarshalTo

func (m *Cluster_RingHashLbConfig_DeprecatedV1) MarshalTo(dAtA []byte) (int, error)

func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoMessage

func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoMessage()

func (*Cluster_RingHashLbConfig_DeprecatedV1) Reset

func (*Cluster_RingHashLbConfig_DeprecatedV1) Size

func (*Cluster_RingHashLbConfig_DeprecatedV1) String

func (*Cluster_RingHashLbConfig_DeprecatedV1) Unmarshal

func (m *Cluster_RingHashLbConfig_DeprecatedV1) Unmarshal(dAtA []byte) error

func (*Cluster_RingHashLbConfig_DeprecatedV1) Validate

Validate checks the field values on Cluster_RingHashLbConfig_DeprecatedV1 with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Cluster_RingHashLbConfig_DeprecatedV1) XXX_DiscardUnknown

func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_DiscardUnknown()

func (*Cluster_RingHashLbConfig_DeprecatedV1) XXX_Marshal

func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Cluster_RingHashLbConfig_DeprecatedV1) XXX_Merge

func (*Cluster_RingHashLbConfig_DeprecatedV1) XXX_Size

func (*Cluster_RingHashLbConfig_DeprecatedV1) XXX_Unmarshal

func (m *Cluster_RingHashLbConfig_DeprecatedV1) XXX_Unmarshal(b []byte) error

type Cluster_RingHashLbConfig_DeprecatedV1ValidationError

type Cluster_RingHashLbConfig_DeprecatedV1ValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Cluster_RingHashLbConfig_DeprecatedV1ValidationError is the validation error returned by Cluster_RingHashLbConfig_DeprecatedV1.Validate if the designated constraints aren't met.

func (Cluster_RingHashLbConfig_DeprecatedV1ValidationError) Error

Error satisfies the builtin error interface

type DiscoveryRequest

type DiscoveryRequest struct {
	// The version_info provided in the request messages will be the version_info
	// received with the most recent successfully processed response or empty on
	// the first request. It is expected that no new request is sent after a
	// response is received until the Envoy instance is ready to ACK/NACK the new
	// configuration. ACK/NACK takes place by returning the new API config version
	// as applied or the previous API config version respectively. Each type_url
	// (see below) has an independent version associated with it.
	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
	// The node making the request.
	Node *core.Node `protobuf:"bytes,2,opt,name=node" json:"node,omitempty"`
	// List of resources to subscribe to, e.g. list of cluster names or a route
	// configuration name. If this is empty, all resources for the API are
	// returned. LDS/CDS expect empty resource_names, since this is global
	// discovery for the Envoy instance. The LDS and CDS responses will then imply
	// a number of resources that need to be fetched via EDS/RDS, which will be
	// explicitly enumerated in resource_names.
	ResourceNames []string `protobuf:"bytes,3,rep,name=resource_names,json=resourceNames" json:"resource_names,omitempty"`
	// Type of the resource that is being requested, e.g.
	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
	// in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
	// required for ADS.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
	// discussion on version_info and the DiscoveryResponse nonce comment. This
	// may be empty if no nonce is available, e.g. at startup or for non-stream
	// xDS implementations.
	ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_api_msg_DiscoveryResponse>`
	// failed to update configuration. The *message* field in *error_details* provides the Envoy
	// internal exception related to the failure. It is only intended for consumption during manual
	// debugging, the string provided is not guaranteed to be stable across Envoy versions.
	ErrorDetail          *rpc.Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail" json:"error_detail,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

A DiscoveryRequest requests a set of versioned resources of the same type for a given Envoy node on some API.

func (*DiscoveryRequest) Descriptor

func (*DiscoveryRequest) Descriptor() ([]byte, []int)

func (*DiscoveryRequest) Equal

func (this *DiscoveryRequest) Equal(that interface{}) bool

func (*DiscoveryRequest) GetErrorDetail

func (m *DiscoveryRequest) GetErrorDetail() *rpc.Status

func (*DiscoveryRequest) GetNode

func (m *DiscoveryRequest) GetNode() *core.Node

func (*DiscoveryRequest) GetResourceNames

func (m *DiscoveryRequest) GetResourceNames() []string

func (*DiscoveryRequest) GetResponseNonce

func (m *DiscoveryRequest) GetResponseNonce() string

func (*DiscoveryRequest) GetTypeUrl

func (m *DiscoveryRequest) GetTypeUrl() string

func (*DiscoveryRequest) GetVersionInfo

func (m *DiscoveryRequest) GetVersionInfo() string

func (*DiscoveryRequest) Marshal

func (m *DiscoveryRequest) Marshal() (dAtA []byte, err error)

func (*DiscoveryRequest) MarshalTo

func (m *DiscoveryRequest) MarshalTo(dAtA []byte) (int, error)

func (*DiscoveryRequest) ProtoMessage

func (*DiscoveryRequest) ProtoMessage()

func (*DiscoveryRequest) Reset

func (m *DiscoveryRequest) Reset()

func (*DiscoveryRequest) Size

func (m *DiscoveryRequest) Size() (n int)

func (*DiscoveryRequest) String

func (m *DiscoveryRequest) String() string

func (*DiscoveryRequest) Unmarshal

func (m *DiscoveryRequest) Unmarshal(dAtA []byte) error

func (*DiscoveryRequest) Validate

func (m *DiscoveryRequest) Validate() error

Validate checks the field values on DiscoveryRequest with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*DiscoveryRequest) XXX_DiscardUnknown

func (m *DiscoveryRequest) XXX_DiscardUnknown()

func (*DiscoveryRequest) XXX_Marshal

func (m *DiscoveryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DiscoveryRequest) XXX_Merge

func (dst *DiscoveryRequest) XXX_Merge(src proto.Message)

func (*DiscoveryRequest) XXX_Size

func (m *DiscoveryRequest) XXX_Size() int

func (*DiscoveryRequest) XXX_Unmarshal

func (m *DiscoveryRequest) XXX_Unmarshal(b []byte) error

type DiscoveryRequestValidationError

type DiscoveryRequestValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

DiscoveryRequestValidationError is the validation error returned by DiscoveryRequest.Validate if the designated constraints aren't met.

func (DiscoveryRequestValidationError) Error

Error satisfies the builtin error interface

type DiscoveryResponse

type DiscoveryResponse struct {
	// The version of the response data.
	VersionInfo string `protobuf:"bytes,1,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"`
	// The response resources. These resources are typed and depend on the API being called.
	Resources []types.Any `protobuf:"bytes,2,rep,name=resources" json:"resources"`
	// [#not-implemented-hide:]
	// Canary is used to support two Envoy command line flags:
	//
	// * --terminate-on-canary-transition-failure. When set, Envoy is able to
	//   terminate if it detects that configuration is stuck at canary. Consider
	//   this example sequence of updates:
	//   - Management server applies a canary config successfully.
	//   - Management server rolls back to a production config.
	//   - Envoy rejects the new production config.
	//   Since there is no sensible way to continue receiving configuration
	//   updates, Envoy will then terminate and apply production config from a
	//   clean slate.
	// * --dry-run-canary. When set, a canary response will never be applied, only
	//   validated via a dry run.
	Canary bool `protobuf:"varint,3,opt,name=canary,proto3" json:"canary,omitempty"`
	// Type URL for resources. This must be consistent with the type_url in the
	// Any messages for resources if resources is non-empty. This effectively
	// identifies the xDS API when muxing over ADS.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// For gRPC based subscriptions, the nonce provides a way to explicitly ack a
	// specific DiscoveryResponse in a following DiscoveryRequest. Additional
	// messages may have been sent by Envoy to the management server for the
	// previous version on the stream prior to this DiscoveryResponse, that were
	// unprocessed at response send time. The nonce allows the management server
	// to ignore any further DiscoveryRequests for the previous version until a
	// DiscoveryRequest bearing the nonce. The nonce is optional and is not
	// required for non-stream based xDS implementations.
	Nonce                string   `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*DiscoveryResponse) Descriptor

func (*DiscoveryResponse) Descriptor() ([]byte, []int)

func (*DiscoveryResponse) Equal

func (this *DiscoveryResponse) Equal(that interface{}) bool

func (*DiscoveryResponse) GetCanary

func (m *DiscoveryResponse) GetCanary() bool

func (*DiscoveryResponse) GetNonce

func (m *DiscoveryResponse) GetNonce() string

func (*DiscoveryResponse) GetResources

func (m *DiscoveryResponse) GetResources() []types.Any

func (*DiscoveryResponse) GetTypeUrl

func (m *DiscoveryResponse) GetTypeUrl() string

func (*DiscoveryResponse) GetVersionInfo

func (m *DiscoveryResponse) GetVersionInfo() string

func (*DiscoveryResponse) Marshal

func (m *DiscoveryResponse) Marshal() (dAtA []byte, err error)

func (*DiscoveryResponse) MarshalTo

func (m *DiscoveryResponse) MarshalTo(dAtA []byte) (int, error)

func (*DiscoveryResponse) ProtoMessage

func (*DiscoveryResponse) ProtoMessage()

func (*DiscoveryResponse) Reset

func (m *DiscoveryResponse) Reset()

func (*DiscoveryResponse) Size

func (m *DiscoveryResponse) Size() (n int)

func (*DiscoveryResponse) String

func (m *DiscoveryResponse) String() string

func (*DiscoveryResponse) Unmarshal

func (m *DiscoveryResponse) Unmarshal(dAtA []byte) error

func (*DiscoveryResponse) Validate

func (m *DiscoveryResponse) Validate() error

Validate checks the field values on DiscoveryResponse with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*DiscoveryResponse) XXX_DiscardUnknown

func (m *DiscoveryResponse) XXX_DiscardUnknown()

func (*DiscoveryResponse) XXX_Marshal

func (m *DiscoveryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DiscoveryResponse) XXX_Merge

func (dst *DiscoveryResponse) XXX_Merge(src proto.Message)

func (*DiscoveryResponse) XXX_Size

func (m *DiscoveryResponse) XXX_Size() int

func (*DiscoveryResponse) XXX_Unmarshal

func (m *DiscoveryResponse) XXX_Unmarshal(b []byte) error

type DiscoveryResponseValidationError

type DiscoveryResponseValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

DiscoveryResponseValidationError is the validation error returned by DiscoveryResponse.Validate if the designated constraints aren't met.

func (DiscoveryResponseValidationError) Error

Error satisfies the builtin error interface

type EndpointDiscoveryServiceClient

type EndpointDiscoveryServiceClient interface {
	// The resource_names field in DiscoveryRequest specifies a list of clusters
	// to subscribe to updates for.
	StreamEndpoints(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamEndpointsClient, error)
	FetchEndpoints(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error)
}

func NewEndpointDiscoveryServiceClient

func NewEndpointDiscoveryServiceClient(cc *grpc.ClientConn) EndpointDiscoveryServiceClient

type EndpointDiscoveryServiceServer

type EndpointDiscoveryServiceServer interface {
	// The resource_names field in DiscoveryRequest specifies a list of clusters
	// to subscribe to updates for.
	StreamEndpoints(EndpointDiscoveryService_StreamEndpointsServer) error
	FetchEndpoints(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

type EndpointDiscoveryService_StreamEndpointsClient

type EndpointDiscoveryService_StreamEndpointsClient interface {
	Send(*DiscoveryRequest) error
	Recv() (*DiscoveryResponse, error)
	grpc.ClientStream
}

type EndpointDiscoveryService_StreamEndpointsServer

type EndpointDiscoveryService_StreamEndpointsServer interface {
	Send(*DiscoveryResponse) error
	Recv() (*DiscoveryRequest, error)
	grpc.ServerStream
}

type IncrementalDiscoveryRequest

type IncrementalDiscoveryRequest struct {
	// The node making the request.
	Node *core.Node `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
	// Type of the resource that is being requested, e.g.
	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
	// in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
	// required for ADS.
	TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// IncrementalDiscoveryRequests allow the client to add or remove individual
	// resources to the set of tracked resources in the context of a stream.
	// All resource names in the resource_names_subscribe list are added to the
	// set of tracked resources and all resource names in the resource_names_unsubscribe
	// list are removed from the set of tracked resources.
	// Unlike in non incremental xDS, an empty resource_names_subscribe or
	// resource_names_unsubscribe list simply means that no resources are to be
	// added or removed to the resource list.
	// The xDS server must send updates for all tracked resources but can also
	// send updates for resources the client has not subscribed to. This behavior
	// is similar to non incremental xDS.
	// These two fields can be set for all types of IncrementalDiscoveryRequests
	// (initial, ACK/NACK or spontaneous).
	//
	// A list of Resource names to add to the list of tracked resources.
	ResourceNamesSubscribe []string `protobuf:"bytes,3,rep,name=resource_names_subscribe,json=resourceNamesSubscribe" json:"resource_names_subscribe,omitempty"`
	// A list of Resource names to remove from the list of tracked resources.
	ResourceNamesUnsubscribe []string `` /* 128-byte string literal not displayed */
	// This map must be populated when the IncrementalDiscoveryRequest is the
	// first in a stream. The keys are the resources names of the xDS resources
	// known to the xDS client. The values in the map are the associated resource
	// level version info.
	InitialResourceVersions map[string]string `` /* 213-byte string literal not displayed */
	// When the IncrementalDiscoveryRequest is a ACK or NACK message in response
	// to a previous IncrementalDiscoveryResponse, the response_nonce must be the
	// nonce in the IncrementalDiscoveryResponse.
	// Otherwise response_nonce must be omitted.
	ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_api_msg_DiscoveryResponse>`
	// failed to update configuration. The *message* field in *error_details*
	// provides the Envoy internal exception related to the failure.
	ErrorDetail          *rpc.Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail" json:"error_detail,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

IncrementalDiscoveryRequest and IncrementalDiscoveryResponse are used in a new gRPC endpoint for Incremental xDS. The feature is not supported for REST management servers.

With Incremental xDS, the IncrementalDiscoveryResponses do not need to include a full snapshot of the tracked resources. Instead IncrementalDiscoveryResponses are a diff to the state of a xDS client. In Incremental XDS there are per resource versions which allows to track state at the resource granularity. An xDS Incremental session is always in the context of a gRPC bidirectional stream. This allows the xDS server to keep track of the state of xDS clients connected to it.

In Incremental xDS the nonce field is required and used to pair IncrementalDiscoveryResponse to a IncrementalDiscoveryRequest ACK or NACK. Optionaly, a response message level system_version_info is present for debugging purposes only.

IncrementalDiscoveryRequest can be sent in 3 situations:

  1. Initial message in a xDS bidirectional gRPC stream.
  2. As a ACK or NACK response to a previous IncrementalDiscoveryResponse. In this case the response_nonce is set to the nonce value in the Response. ACK or NACK is determined by the absence or presence of error_detail.
  3. Spontaneous IncrementalDiscoveryRequest from the client. This can be done to dynamically add or remove elements from the tracked resource_names set. In this case response_nonce must be omitted.

func (*IncrementalDiscoveryRequest) Descriptor

func (*IncrementalDiscoveryRequest) Descriptor() ([]byte, []int)

func (*IncrementalDiscoveryRequest) Equal

func (this *IncrementalDiscoveryRequest) Equal(that interface{}) bool

func (*IncrementalDiscoveryRequest) GetErrorDetail

func (m *IncrementalDiscoveryRequest) GetErrorDetail() *rpc.Status

func (*IncrementalDiscoveryRequest) GetInitialResourceVersions

func (m *IncrementalDiscoveryRequest) GetInitialResourceVersions() map[string]string

func (*IncrementalDiscoveryRequest) GetNode

func (m *IncrementalDiscoveryRequest) GetNode() *core.Node

func (*IncrementalDiscoveryRequest) GetResourceNamesSubscribe

func (m *IncrementalDiscoveryRequest) GetResourceNamesSubscribe() []string

func (*IncrementalDiscoveryRequest) GetResourceNamesUnsubscribe

func (m *IncrementalDiscoveryRequest) GetResourceNamesUnsubscribe() []string

func (*IncrementalDiscoveryRequest) GetResponseNonce

func (m *IncrementalDiscoveryRequest) GetResponseNonce() string

func (*IncrementalDiscoveryRequest) GetTypeUrl

func (m *IncrementalDiscoveryRequest) GetTypeUrl() string

func (*IncrementalDiscoveryRequest) Marshal

func (m *IncrementalDiscoveryRequest) Marshal() (dAtA []byte, err error)

func (*IncrementalDiscoveryRequest) MarshalTo

func (m *IncrementalDiscoveryRequest) MarshalTo(dAtA []byte) (int, error)

func (*IncrementalDiscoveryRequest) ProtoMessage

func (*IncrementalDiscoveryRequest) ProtoMessage()

func (*IncrementalDiscoveryRequest) Reset

func (m *IncrementalDiscoveryRequest) Reset()

func (*IncrementalDiscoveryRequest) Size

func (m *IncrementalDiscoveryRequest) Size() (n int)

func (*IncrementalDiscoveryRequest) String

func (m *IncrementalDiscoveryRequest) String() string

func (*IncrementalDiscoveryRequest) Unmarshal

func (m *IncrementalDiscoveryRequest) Unmarshal(dAtA []byte) error

func (*IncrementalDiscoveryRequest) Validate

func (m *IncrementalDiscoveryRequest) Validate() error

Validate checks the field values on IncrementalDiscoveryRequest with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*IncrementalDiscoveryRequest) XXX_DiscardUnknown

func (m *IncrementalDiscoveryRequest) XXX_DiscardUnknown()

func (*IncrementalDiscoveryRequest) XXX_Marshal

func (m *IncrementalDiscoveryRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IncrementalDiscoveryRequest) XXX_Merge

func (dst *IncrementalDiscoveryRequest) XXX_Merge(src proto.Message)

func (*IncrementalDiscoveryRequest) XXX_Size

func (m *IncrementalDiscoveryRequest) XXX_Size() int

func (*IncrementalDiscoveryRequest) XXX_Unmarshal

func (m *IncrementalDiscoveryRequest) XXX_Unmarshal(b []byte) error

type IncrementalDiscoveryRequestValidationError

type IncrementalDiscoveryRequestValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

IncrementalDiscoveryRequestValidationError is the validation error returned by IncrementalDiscoveryRequest.Validate if the designated constraints aren't met.

func (IncrementalDiscoveryRequestValidationError) Error

Error satisfies the builtin error interface

type IncrementalDiscoveryResponse

type IncrementalDiscoveryResponse struct {
	// The version of the response data (used for debugging).
	SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
	// The response resources. These are typed resources that match the type url
	// in the IncrementalDiscoveryRequest.
	Resources []Resource `protobuf:"bytes,2,rep,name=resources" json:"resources"`
	// Resources names of resources that have be deleted and to be removed from the xDS Client.
	// Removed resources for missing resources can be ignored.
	RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources" json:"removed_resources,omitempty"`
	// The nonce provides a way for IncrementalDiscoveryRequests to uniquely
	// reference a IncrementalDiscoveryResponse. The nonce is required.
	Nonce                string   `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*IncrementalDiscoveryResponse) Descriptor

func (*IncrementalDiscoveryResponse) Descriptor() ([]byte, []int)

func (*IncrementalDiscoveryResponse) Equal

func (this *IncrementalDiscoveryResponse) Equal(that interface{}) bool

func (*IncrementalDiscoveryResponse) GetNonce

func (m *IncrementalDiscoveryResponse) GetNonce() string

func (*IncrementalDiscoveryResponse) GetRemovedResources

func (m *IncrementalDiscoveryResponse) GetRemovedResources() []string

func (*IncrementalDiscoveryResponse) GetResources

func (m *IncrementalDiscoveryResponse) GetResources() []Resource

func (*IncrementalDiscoveryResponse) GetSystemVersionInfo

func (m *IncrementalDiscoveryResponse) GetSystemVersionInfo() string

func (*IncrementalDiscoveryResponse) Marshal

func (m *IncrementalDiscoveryResponse) Marshal() (dAtA []byte, err error)

func (*IncrementalDiscoveryResponse) MarshalTo

func (m *IncrementalDiscoveryResponse) MarshalTo(dAtA []byte) (int, error)

func (*IncrementalDiscoveryResponse) ProtoMessage

func (*IncrementalDiscoveryResponse) ProtoMessage()

func (*IncrementalDiscoveryResponse) Reset

func (m *IncrementalDiscoveryResponse) Reset()

func (*IncrementalDiscoveryResponse) Size

func (m *IncrementalDiscoveryResponse) Size() (n int)

func (*IncrementalDiscoveryResponse) String

func (*IncrementalDiscoveryResponse) Unmarshal

func (m *IncrementalDiscoveryResponse) Unmarshal(dAtA []byte) error

func (*IncrementalDiscoveryResponse) Validate

func (m *IncrementalDiscoveryResponse) Validate() error

Validate checks the field values on IncrementalDiscoveryResponse with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*IncrementalDiscoveryResponse) XXX_DiscardUnknown

func (m *IncrementalDiscoveryResponse) XXX_DiscardUnknown()

func (*IncrementalDiscoveryResponse) XXX_Marshal

func (m *IncrementalDiscoveryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IncrementalDiscoveryResponse) XXX_Merge

func (dst *IncrementalDiscoveryResponse) XXX_Merge(src proto.Message)

func (*IncrementalDiscoveryResponse) XXX_Size

func (m *IncrementalDiscoveryResponse) XXX_Size() int

func (*IncrementalDiscoveryResponse) XXX_Unmarshal

func (m *IncrementalDiscoveryResponse) XXX_Unmarshal(b []byte) error

type IncrementalDiscoveryResponseValidationError

type IncrementalDiscoveryResponseValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

IncrementalDiscoveryResponseValidationError is the validation error returned by IncrementalDiscoveryResponse.Validate if the designated constraints aren't met.

func (IncrementalDiscoveryResponseValidationError) Error

Error satisfies the builtin error interface

type Listener

type Listener struct {
	// The unique name by which this listener is known. If no name is provided,
	// Envoy will allocate an internal UUID for the listener. If the listener is to be dynamically
	// updated or removed via :ref:`LDS <config_listeners_lds>` a unique name must be provided.
	// By default, the maximum length of a listener's name is limited to 60 characters. This limit can
	// be increased by setting the :option:`--max-obj-name-len` command line argument to the desired
	// value.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The address that the listener should listen on. In general, the address must be unique, though
	// that is governed by the bind rules of the OS. E.g., multiple listeners can listen on port 0 on
	// Linux as the actual port will be allocated by the OS.
	Address core.Address `protobuf:"bytes,2,opt,name=address" json:"address"`
	// A list of filter chains to consider for this listener. The
	// :ref:`FilterChain <envoy_api_msg_listener.FilterChain>` with the most specific
	// :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` criteria is used on a
	// connection.
	//
	// Example using SNI for filter chain selection can be found in the
	// :ref:`FAQ entry <faq_how_to_setup_sni>`.
	FilterChains []listener.FilterChain `protobuf:"bytes,3,rep,name=filter_chains,json=filterChains" json:"filter_chains"`
	// If a connection is redirected using *iptables*, the port on which the proxy
	// receives it might be different from the original destination address. When this flag is set to
	// true, the listener hands off redirected connections to the listener associated with the
	// original destination address. If there is no listener associated with the original destination
	// address, the connection is handled by the listener that receives it. Defaults to false.
	//
	// .. attention::
	//
	//   This field is deprecated. Use :ref:`an original_dst <config_listener_filters_original_dst>`
	//   :ref:`listener filter <envoy_api_field_Listener.listener_filters>` instead.
	//
	//   Note that hand off to another listener is *NOT* performed without this flag. Once
	//   :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` is implemented this flag
	//   will be removed, as filter chain matching can be used to select a filter chain based on the
	//   restored destination address.
	UseOriginalDst *types.BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst" json:"use_original_dst,omitempty"` // Deprecated: Do not use.
	// Soft limit on size of the listener’s new connection read and write buffers.
	// If unspecified, an implementation defined default is applied (1MiB).
	PerConnectionBufferLimitBytes *types.UInt32Value `` /* 147-byte string literal not displayed */
	// Listener metadata.
	Metadata *core.Metadata `protobuf:"bytes,6,opt,name=metadata" json:"metadata,omitempty"`
	// [#not-implemented-hide:]
	DeprecatedV1 *Listener_DeprecatedV1 `protobuf:"bytes,7,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"`
	// The type of draining to perform at a listener-wide level.
	DrainType Listener_DrainType `` /* 126-byte string literal not displayed */
	// Listener filters have the opportunity to manipulate and augment the connection metadata that
	// is used in connection filter chain matching, for example. These filters are run before any in
	// :ref:`filter_chains <envoy_api_field_Listener.filter_chains>`. Order matters as the
	// filters are processed sequentially right after a socket has been accepted by the listener, and
	// before a connection is created.
	ListenerFilters []listener.ListenerFilter `protobuf:"bytes,9,rep,name=listener_filters,json=listenerFilters" json:"listener_filters"`
	// Whether the listener should be set as a transparent socket.
	// When this flag is set to true, connections can be redirected to the listener using an
	// *iptables* *TPROXY* target, in which case the original source and destination addresses and
	// ports are preserved on accepted connections. This flag should be used in combination with
	// :ref:`an original_dst <config_listener_filters_original_dst>` :ref:`listener filter
	// <envoy_api_field_Listener.listener_filters>` to mark the connections' local addresses as
	// "restored." This can be used to hand off each redirected connection to another listener
	// associated with the connection's destination address. Direct connections to the socket without
	// using *TPROXY* cannot be distinguished from connections redirected using *TPROXY* and are
	// therefore treated as if they were redirected.
	// When this flag is set to false, the listener's socket is explicitly reset as non-transparent.
	// Setting this flag requires Envoy to run with the *CAP_NET_ADMIN* capability.
	// When this flag is not set (default), the socket is not modified, i.e. the transparent option
	// is neither set nor reset.
	Transparent *types.BoolValue `protobuf:"bytes,10,opt,name=transparent" json:"transparent,omitempty"`
	// Whether the listener should set the *IP_FREEBIND* socket option. When this
	// flag is set to true, listeners can be bound to an IP address that is not
	// configured on the system running Envoy. When this flag is set to false, the
	// option *IP_FREEBIND* is disabled on the socket. When this flag is not set
	// (default), the socket is not modified, i.e. the option is neither enabled
	// nor disabled.
	Freebind *types.BoolValue `protobuf:"bytes,11,opt,name=freebind" json:"freebind,omitempty"`
	// Additional socket options that may not be present in Envoy source code or
	// precompiled binaries.
	SocketOptions []*core.SocketOption `protobuf:"bytes,13,rep,name=socket_options,json=socketOptions" json:"socket_options,omitempty"`
	// Whether the listener should accept TCP Fast Open (TFO) connections.
	// When this flag is set to a value greater than 0, the option TCP_FASTOPEN is enabled on
	// the socket, with a queue length of the specified size
	// (see `details in RFC7413 <https://tools.ietf.org/html/rfc7413#section-5.1>`_).
	// When this flag is set to 0, the option TCP_FASTOPEN is disabled on the socket.
	// When this flag is not set (default), the socket is not modified,
	// i.e. the option is neither enabled nor disabled.
	//
	// On Linux, the net.ipv4.tcp_fastopen kernel parameter must include flag 0x2 to enable
	// TCP_FASTOPEN.
	// See `ip-sysctl.txt <https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt>`_.
	//
	// On macOS, only values of 0, 1, and unset are valid; other values may result in an error.
	// To set the queue length on macOS, set the net.inet.tcp.fastopen_backlog kernel parameter.
	TcpFastOpenQueueLength *types.UInt32Value `` /* 127-byte string literal not displayed */
	XXX_NoUnkeyedLiteral   struct{}           `json:"-"`
	XXX_unrecognized       []byte             `json:"-"`
	XXX_sizecache          int32              `json:"-"`
}

func (*Listener) Descriptor

func (*Listener) Descriptor() ([]byte, []int)

func (*Listener) Equal

func (this *Listener) Equal(that interface{}) bool

func (*Listener) GetAddress

func (m *Listener) GetAddress() core.Address

func (*Listener) GetDeprecatedV1

func (m *Listener) GetDeprecatedV1() *Listener_DeprecatedV1

func (*Listener) GetDrainType

func (m *Listener) GetDrainType() Listener_DrainType

func (*Listener) GetFilterChains

func (m *Listener) GetFilterChains() []listener.FilterChain

func (*Listener) GetFreebind

func (m *Listener) GetFreebind() *types.BoolValue

func (*Listener) GetListenerFilters

func (m *Listener) GetListenerFilters() []listener.ListenerFilter

func (*Listener) GetMetadata

func (m *Listener) GetMetadata() *core.Metadata

func (*Listener) GetName

func (m *Listener) GetName() string

func (*Listener) GetPerConnectionBufferLimitBytes

func (m *Listener) GetPerConnectionBufferLimitBytes() *types.UInt32Value

func (*Listener) GetSocketOptions

func (m *Listener) GetSocketOptions() []*core.SocketOption

func (*Listener) GetTcpFastOpenQueueLength

func (m *Listener) GetTcpFastOpenQueueLength() *types.UInt32Value

func (*Listener) GetTransparent

func (m *Listener) GetTransparent() *types.BoolValue

func (*Listener) GetUseOriginalDst deprecated

func (m *Listener) GetUseOriginalDst() *types.BoolValue

Deprecated: Do not use.

func (*Listener) Marshal

func (m *Listener) Marshal() (dAtA []byte, err error)

func (*Listener) MarshalTo

func (m *Listener) MarshalTo(dAtA []byte) (int, error)

func (*Listener) ProtoMessage

func (*Listener) ProtoMessage()

func (*Listener) Reset

func (m *Listener) Reset()

func (*Listener) Size

func (m *Listener) Size() (n int)

func (*Listener) String

func (m *Listener) String() string

func (*Listener) Unmarshal

func (m *Listener) Unmarshal(dAtA []byte) error

func (*Listener) Validate

func (m *Listener) Validate() error

Validate checks the field values on Listener with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Listener) XXX_DiscardUnknown

func (m *Listener) XXX_DiscardUnknown()

func (*Listener) XXX_Marshal

func (m *Listener) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Listener) XXX_Merge

func (dst *Listener) XXX_Merge(src proto.Message)

func (*Listener) XXX_Size

func (m *Listener) XXX_Size() int

func (*Listener) XXX_Unmarshal

func (m *Listener) XXX_Unmarshal(b []byte) error

type ListenerDiscoveryServiceClient

type ListenerDiscoveryServiceClient interface {
	StreamListeners(ctx context.Context, opts ...grpc.CallOption) (ListenerDiscoveryService_StreamListenersClient, error)
	FetchListeners(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error)
}

func NewListenerDiscoveryServiceClient

func NewListenerDiscoveryServiceClient(cc *grpc.ClientConn) ListenerDiscoveryServiceClient

type ListenerDiscoveryServiceServer

type ListenerDiscoveryServiceServer interface {
	StreamListeners(ListenerDiscoveryService_StreamListenersServer) error
	FetchListeners(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

type ListenerDiscoveryService_StreamListenersClient

type ListenerDiscoveryService_StreamListenersClient interface {
	Send(*DiscoveryRequest) error
	Recv() (*DiscoveryResponse, error)
	grpc.ClientStream
}

type ListenerDiscoveryService_StreamListenersServer

type ListenerDiscoveryService_StreamListenersServer interface {
	Send(*DiscoveryResponse) error
	Recv() (*DiscoveryRequest, error)
	grpc.ServerStream
}

type ListenerValidationError

type ListenerValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ListenerValidationError is the validation error returned by Listener.Validate if the designated constraints aren't met.

func (ListenerValidationError) Error

func (e ListenerValidationError) Error() string

Error satisfies the builtin error interface

type Listener_DeprecatedV1

type Listener_DeprecatedV1 struct {
	// Whether the listener should bind to the port. A listener that doesn’t
	// bind can only receive connections redirected from other listeners that
	// set use_original_dst parameter to true. Default is true.
	//
	// [V2-API-DIFF] This is deprecated in v2, all Listeners will bind to their
	// port. An additional filter chain must be created for every original
	// destination port this listener may redirect to in v2, with the original
	// port specified in the FilterChainMatch destination_port field.
	BindToPort           *types.BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort" json:"bind_to_port,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

[#not-implemented-hide:]

func (*Listener_DeprecatedV1) Descriptor

func (*Listener_DeprecatedV1) Descriptor() ([]byte, []int)

func (*Listener_DeprecatedV1) Equal

func (this *Listener_DeprecatedV1) Equal(that interface{}) bool

func (*Listener_DeprecatedV1) GetBindToPort

func (m *Listener_DeprecatedV1) GetBindToPort() *types.BoolValue

func (*Listener_DeprecatedV1) Marshal

func (m *Listener_DeprecatedV1) Marshal() (dAtA []byte, err error)

func (*Listener_DeprecatedV1) MarshalTo

func (m *Listener_DeprecatedV1) MarshalTo(dAtA []byte) (int, error)

func (*Listener_DeprecatedV1) ProtoMessage

func (*Listener_DeprecatedV1) ProtoMessage()

func (*Listener_DeprecatedV1) Reset

func (m *Listener_DeprecatedV1) Reset()

func (*Listener_DeprecatedV1) Size

func (m *Listener_DeprecatedV1) Size() (n int)

func (*Listener_DeprecatedV1) String

func (m *Listener_DeprecatedV1) String() string

func (*Listener_DeprecatedV1) Unmarshal

func (m *Listener_DeprecatedV1) Unmarshal(dAtA []byte) error

func (*Listener_DeprecatedV1) Validate

func (m *Listener_DeprecatedV1) Validate() error

Validate checks the field values on Listener_DeprecatedV1 with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Listener_DeprecatedV1) XXX_DiscardUnknown

func (m *Listener_DeprecatedV1) XXX_DiscardUnknown()

func (*Listener_DeprecatedV1) XXX_Marshal

func (m *Listener_DeprecatedV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Listener_DeprecatedV1) XXX_Merge

func (dst *Listener_DeprecatedV1) XXX_Merge(src proto.Message)

func (*Listener_DeprecatedV1) XXX_Size

func (m *Listener_DeprecatedV1) XXX_Size() int

func (*Listener_DeprecatedV1) XXX_Unmarshal

func (m *Listener_DeprecatedV1) XXX_Unmarshal(b []byte) error

type Listener_DeprecatedV1ValidationError

type Listener_DeprecatedV1ValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

Listener_DeprecatedV1ValidationError is the validation error returned by Listener_DeprecatedV1.Validate if the designated constraints aren't met.

func (Listener_DeprecatedV1ValidationError) Error

Error satisfies the builtin error interface

type Listener_DrainType

type Listener_DrainType int32
const (
	// Drain in response to calling /healthcheck/fail admin endpoint (along with the health check
	// filter), listener removal/modification, and hot restart.
	Listener_DEFAULT Listener_DrainType = 0
	// Drain in response to listener removal/modification and hot restart. This setting does not
	// include /healthcheck/fail. This setting may be desirable if Envoy is hosting both ingress
	// and egress listeners.
	Listener_MODIFY_ONLY Listener_DrainType = 1
)

func (Listener_DrainType) EnumDescriptor

func (Listener_DrainType) EnumDescriptor() ([]byte, []int)

func (Listener_DrainType) String

func (x Listener_DrainType) String() string

type Resource

type Resource struct {
	// The resource level version. It allows xDS to track the state of individual
	// resources.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// The resource being tracked.
	Resource             *types.Any `protobuf:"bytes,2,opt,name=resource" json:"resource,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (*Resource) Descriptor

func (*Resource) Descriptor() ([]byte, []int)

func (*Resource) Equal

func (this *Resource) Equal(that interface{}) bool

func (*Resource) GetResource

func (m *Resource) GetResource() *types.Any

func (*Resource) GetVersion

func (m *Resource) GetVersion() string

func (*Resource) Marshal

func (m *Resource) Marshal() (dAtA []byte, err error)

func (*Resource) MarshalTo

func (m *Resource) MarshalTo(dAtA []byte) (int, error)

func (*Resource) ProtoMessage

func (*Resource) ProtoMessage()

func (*Resource) Reset

func (m *Resource) Reset()

func (*Resource) Size

func (m *Resource) Size() (n int)

func (*Resource) String

func (m *Resource) String() string

func (*Resource) Unmarshal

func (m *Resource) Unmarshal(dAtA []byte) error

func (*Resource) Validate

func (m *Resource) Validate() error

Validate checks the field values on Resource with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*Resource) XXX_DiscardUnknown

func (m *Resource) XXX_DiscardUnknown()

func (*Resource) XXX_Marshal

func (m *Resource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Resource) XXX_Merge

func (dst *Resource) XXX_Merge(src proto.Message)

func (*Resource) XXX_Size

func (m *Resource) XXX_Size() int

func (*Resource) XXX_Unmarshal

func (m *Resource) XXX_Unmarshal(b []byte) error

type ResourceValidationError

type ResourceValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

ResourceValidationError is the validation error returned by Resource.Validate if the designated constraints aren't met.

func (ResourceValidationError) Error

func (e ResourceValidationError) Error() string

Error satisfies the builtin error interface

type RouteConfiguration

type RouteConfiguration struct {
	// The name of the route configuration. For example, it might match
	// :ref:`route_config_name
	// <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
	// :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// An array of virtual hosts that make up the route table.
	VirtualHosts []route.VirtualHost `protobuf:"bytes,2,rep,name=virtual_hosts,json=virtualHosts" json:"virtual_hosts"`
	// Optionally specifies a list of HTTP headers that the connection manager
	// will consider to be internal only. If they are found on external requests they will be cleaned
	// prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
	// information.
	InternalOnlyHeaders []string `protobuf:"bytes,3,rep,name=internal_only_headers,json=internalOnlyHeaders" json:"internal_only_headers,omitempty"`
	// Specifies a list of HTTP headers that should be added to each response that
	// the connection manager encodes. Headers specified at this level are applied
	// after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
	// :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
	// header value syntax, see the documentation on :ref:`custom request headers
	// <config_http_conn_man_headers_custom_request_headers>`.
	ResponseHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,4,rep,name=response_headers_to_add,json=responseHeadersToAdd" json:"response_headers_to_add,omitempty"`
	// Specifies a list of HTTP headers that should be removed from each response
	// that the connection manager encodes.
	ResponseHeadersToRemove []string `` /* 127-byte string literal not displayed */
	// Specifies a list of HTTP headers that should be added to each request
	// routed by the HTTP connection manager. Headers specified at this level are
	// applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
	// :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
	// header value syntax, see the documentation on :ref:`custom request headers
	// <config_http_conn_man_headers_custom_request_headers>`.
	RequestHeadersToAdd []*core.HeaderValueOption `protobuf:"bytes,6,rep,name=request_headers_to_add,json=requestHeadersToAdd" json:"request_headers_to_add,omitempty"`
	// An optional boolean that specifies whether the clusters that the route
	// table refers to will be validated by the cluster manager. If set to true
	// and a route refers to a non-existent cluster, the route table will not
	// load. If set to false and a route refers to a non-existent cluster, the
	// route table will load and the router filter will return a 404 if the route
	// is selected at runtime. This setting defaults to true if the route table
	// is statically defined via the :ref:`route_config
	// <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
	// option. This setting default to false if the route table is loaded dynamically via the
	// :ref:`rds
	// <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
	// option. Users may which to override the default behavior in certain cases (for example when
	// using CDS with a static route table).
	ValidateClusters     *types.BoolValue `protobuf:"bytes,7,opt,name=validate_clusters,json=validateClusters" json:"validate_clusters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (*RouteConfiguration) Descriptor

func (*RouteConfiguration) Descriptor() ([]byte, []int)

func (*RouteConfiguration) Equal

func (this *RouteConfiguration) Equal(that interface{}) bool

func (*RouteConfiguration) GetInternalOnlyHeaders

func (m *RouteConfiguration) GetInternalOnlyHeaders() []string

func (*RouteConfiguration) GetName

func (m *RouteConfiguration) GetName() string

func (*RouteConfiguration) GetRequestHeadersToAdd

func (m *RouteConfiguration) GetRequestHeadersToAdd() []*core.HeaderValueOption

func (*RouteConfiguration) GetResponseHeadersToAdd

func (m *RouteConfiguration) GetResponseHeadersToAdd() []*core.HeaderValueOption

func (*RouteConfiguration) GetResponseHeadersToRemove

func (m *RouteConfiguration) GetResponseHeadersToRemove() []string

func (*RouteConfiguration) GetValidateClusters

func (m *RouteConfiguration) GetValidateClusters() *types.BoolValue

func (*RouteConfiguration) GetVirtualHosts

func (m *RouteConfiguration) GetVirtualHosts() []route.VirtualHost

func (*RouteConfiguration) Marshal

func (m *RouteConfiguration) Marshal() (dAtA []byte, err error)

func (*RouteConfiguration) MarshalTo

func (m *RouteConfiguration) MarshalTo(dAtA []byte) (int, error)

func (*RouteConfiguration) ProtoMessage

func (*RouteConfiguration) ProtoMessage()

func (*RouteConfiguration) Reset

func (m *RouteConfiguration) Reset()

func (*RouteConfiguration) Size

func (m *RouteConfiguration) Size() (n int)

func (*RouteConfiguration) String

func (m *RouteConfiguration) String() string

func (*RouteConfiguration) Unmarshal

func (m *RouteConfiguration) Unmarshal(dAtA []byte) error

func (*RouteConfiguration) Validate

func (m *RouteConfiguration) Validate() error

Validate checks the field values on RouteConfiguration with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*RouteConfiguration) XXX_DiscardUnknown

func (m *RouteConfiguration) XXX_DiscardUnknown()

func (*RouteConfiguration) XXX_Marshal

func (m *RouteConfiguration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*RouteConfiguration) XXX_Merge

func (dst *RouteConfiguration) XXX_Merge(src proto.Message)

func (*RouteConfiguration) XXX_Size

func (m *RouteConfiguration) XXX_Size() int

func (*RouteConfiguration) XXX_Unmarshal

func (m *RouteConfiguration) XXX_Unmarshal(b []byte) error

type RouteConfigurationValidationError

type RouteConfigurationValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

RouteConfigurationValidationError is the validation error returned by RouteConfiguration.Validate if the designated constraints aren't met.

func (RouteConfigurationValidationError) Error

Error satisfies the builtin error interface

type RouteDiscoveryServiceClient

type RouteDiscoveryServiceClient interface {
	StreamRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_StreamRoutesClient, error)
	IncrementalRoutes(ctx context.Context, opts ...grpc.CallOption) (RouteDiscoveryService_IncrementalRoutesClient, error)
	FetchRoutes(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error)
}

func NewRouteDiscoveryServiceClient

func NewRouteDiscoveryServiceClient(cc *grpc.ClientConn) RouteDiscoveryServiceClient

type RouteDiscoveryService_IncrementalRoutesClient

type RouteDiscoveryService_IncrementalRoutesClient interface {
	Send(*IncrementalDiscoveryRequest) error
	Recv() (*IncrementalDiscoveryResponse, error)
	grpc.ClientStream
}

type RouteDiscoveryService_IncrementalRoutesServer

type RouteDiscoveryService_IncrementalRoutesServer interface {
	Send(*IncrementalDiscoveryResponse) error
	Recv() (*IncrementalDiscoveryRequest, error)
	grpc.ServerStream
}

type RouteDiscoveryService_StreamRoutesClient

type RouteDiscoveryService_StreamRoutesClient interface {
	Send(*DiscoveryRequest) error
	Recv() (*DiscoveryResponse, error)
	grpc.ClientStream
}

type RouteDiscoveryService_StreamRoutesServer

type RouteDiscoveryService_StreamRoutesServer interface {
	Send(*DiscoveryResponse) error
	Recv() (*DiscoveryRequest, error)
	grpc.ServerStream
}

type UpstreamBindConfig

type UpstreamBindConfig struct {
	// The address Envoy should bind to when establishing upstream connections.
	SourceAddress        *core.Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress" json:"source_address,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

An extensible structure containing the address Envoy should bind to when establishing upstream connections.

func (*UpstreamBindConfig) Descriptor

func (*UpstreamBindConfig) Descriptor() ([]byte, []int)

func (*UpstreamBindConfig) Equal

func (this *UpstreamBindConfig) Equal(that interface{}) bool

func (*UpstreamBindConfig) GetSourceAddress

func (m *UpstreamBindConfig) GetSourceAddress() *core.Address

func (*UpstreamBindConfig) Marshal

func (m *UpstreamBindConfig) Marshal() (dAtA []byte, err error)

func (*UpstreamBindConfig) MarshalTo

func (m *UpstreamBindConfig) MarshalTo(dAtA []byte) (int, error)

func (*UpstreamBindConfig) ProtoMessage

func (*UpstreamBindConfig) ProtoMessage()

func (*UpstreamBindConfig) Reset

func (m *UpstreamBindConfig) Reset()

func (*UpstreamBindConfig) Size

func (m *UpstreamBindConfig) Size() (n int)

func (*UpstreamBindConfig) String

func (m *UpstreamBindConfig) String() string

func (*UpstreamBindConfig) Unmarshal

func (m *UpstreamBindConfig) Unmarshal(dAtA []byte) error

func (*UpstreamBindConfig) Validate

func (m *UpstreamBindConfig) Validate() error

Validate checks the field values on UpstreamBindConfig with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*UpstreamBindConfig) XXX_DiscardUnknown

func (m *UpstreamBindConfig) XXX_DiscardUnknown()

func (*UpstreamBindConfig) XXX_Marshal

func (m *UpstreamBindConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpstreamBindConfig) XXX_Merge

func (dst *UpstreamBindConfig) XXX_Merge(src proto.Message)

func (*UpstreamBindConfig) XXX_Size

func (m *UpstreamBindConfig) XXX_Size() int

func (*UpstreamBindConfig) XXX_Unmarshal

func (m *UpstreamBindConfig) XXX_Unmarshal(b []byte) error

type UpstreamBindConfigValidationError

type UpstreamBindConfigValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

UpstreamBindConfigValidationError is the validation error returned by UpstreamBindConfig.Validate if the designated constraints aren't met.

func (UpstreamBindConfigValidationError) Error

Error satisfies the builtin error interface

type UpstreamConnectionOptions

type UpstreamConnectionOptions struct {
	// If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
	TcpKeepalive         *core.TcpKeepalive `protobuf:"bytes,1,opt,name=tcp_keepalive,json=tcpKeepalive" json:"tcp_keepalive,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (*UpstreamConnectionOptions) Descriptor

func (*UpstreamConnectionOptions) Descriptor() ([]byte, []int)

func (*UpstreamConnectionOptions) Equal

func (this *UpstreamConnectionOptions) Equal(that interface{}) bool

func (*UpstreamConnectionOptions) GetTcpKeepalive

func (m *UpstreamConnectionOptions) GetTcpKeepalive() *core.TcpKeepalive

func (*UpstreamConnectionOptions) Marshal

func (m *UpstreamConnectionOptions) Marshal() (dAtA []byte, err error)

func (*UpstreamConnectionOptions) MarshalTo

func (m *UpstreamConnectionOptions) MarshalTo(dAtA []byte) (int, error)

func (*UpstreamConnectionOptions) ProtoMessage

func (*UpstreamConnectionOptions) ProtoMessage()

func (*UpstreamConnectionOptions) Reset

func (m *UpstreamConnectionOptions) Reset()

func (*UpstreamConnectionOptions) Size

func (m *UpstreamConnectionOptions) Size() (n int)

func (*UpstreamConnectionOptions) String

func (m *UpstreamConnectionOptions) String() string

func (*UpstreamConnectionOptions) Unmarshal

func (m *UpstreamConnectionOptions) Unmarshal(dAtA []byte) error

func (*UpstreamConnectionOptions) Validate

func (m *UpstreamConnectionOptions) Validate() error

Validate checks the field values on UpstreamConnectionOptions with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

func (*UpstreamConnectionOptions) XXX_DiscardUnknown

func (m *UpstreamConnectionOptions) XXX_DiscardUnknown()

func (*UpstreamConnectionOptions) XXX_Marshal

func (m *UpstreamConnectionOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UpstreamConnectionOptions) XXX_Merge

func (dst *UpstreamConnectionOptions) XXX_Merge(src proto.Message)

func (*UpstreamConnectionOptions) XXX_Size

func (m *UpstreamConnectionOptions) XXX_Size() int

func (*UpstreamConnectionOptions) XXX_Unmarshal

func (m *UpstreamConnectionOptions) XXX_Unmarshal(b []byte) error

type UpstreamConnectionOptionsValidationError

type UpstreamConnectionOptionsValidationError struct {
	Field  string
	Reason string
	Cause  error
	Key    bool
}

UpstreamConnectionOptionsValidationError is the validation error returned by UpstreamConnectionOptions.Validate if the designated constraints aren't met.

func (UpstreamConnectionOptionsValidationError) Error

Error satisfies the builtin error interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL