api

package
v0.0.0-...-84cf697 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2018 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package api is a generated protocol buffer package.

It is generated from these files:

api/address.proto
api/auth.proto
api/base.proto
api/bootstrap.proto
api/cds.proto
api/discovery.proto
api/eds.proto
api/hds.proto
api/health_check.proto
api/lds.proto
api/metrics_service.proto
api/protocol.proto
api/rds.proto
api/rls.proto
api/sds.proto
api/stats.proto
api/trace.proto

It has these top-level messages:

Pipe
SocketAddress
BindConfig
Address
CidrRange
AuthAction
Locality
Node
Endpoint
Metadata
RuntimeUInt32
HeaderValue
HeaderValueOption
ApiConfigSource
AggregatedConfigSource
ConfigSource
TransportSocket
Bootstrap
Admin
ClusterManager
Watchdog
Runtime
RateLimitServiceConfig
Cluster
UpstreamBindConfig
CircuitBreakers
DiscoveryRequest
DiscoveryResponse
LbEndpoint
LocalityLbEndpoints
EndpointLoadMetricStats
UpstreamLocalityStats
ClusterStats
LoadStatsRequest
ClusterLoadAssignment
LoadStatsResponse
Capability
HealthCheckRequest
EndpointHealth
EndpointHealthResponse
HealthCheckRequestOrEndpointHealthResponse
LocalityEndpoints
ClusterHealthCheck
HealthCheckSpecifier
HealthCheck
Listener
Filter
FilterChainMatch
FilterChain
StreamMetricsResponse
StreamMetricsMessage
MetricsServiceConfig
TcpProtocolOptions
Http1ProtocolOptions
Http2ProtocolOptions
GrpcProtocolOptions
RouteConfiguration
VirtualHost
Route
WeightedCluster
RouteMatch
CorsPolicy
RouteAction
RedirectAction
Decorator
VirtualCluster
RateLimit
HeaderMatcher
RateLimitRequest
RateLimitDescriptor
RateLimitResponse
DataSource
TlsParameters
TlsCertificate
TlsSessionTicketKeys
CertificateValidationContext
CommonTlsContext
UpstreamTlsContext
DownstreamTlsContext
SdsSecretConfig
Secret
StatsSink
StatsConfig
TagSpecifier
StatsdSink
DogStatsdSink
Tracing
LightstepConfig
ZipkinConfig

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthAddress = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAddress   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthAuth = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAuth   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthBase = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowBase   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthBootstrap = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowBootstrap   = fmt.Errorf("proto: integer overflow")
)
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 (
	ErrInvalidLengthHds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowHds   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthHealthCheck = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowHealthCheck   = 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 (
	ErrInvalidLengthProtocol = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowProtocol   = 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 (
	ErrInvalidLengthRls = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRls   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthSds = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowSds   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthStats = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowStats   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthTrace = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTrace   = fmt.Errorf("proto: integer overflow")
)
View Source
var ApiConfigSource_ApiType_name = map[int32]string{
	0: "REST_LEGACY",
	1: "REST",
	2: "GRPC",
}
View Source
var ApiConfigSource_ApiType_value = map[string]int32{
	"REST_LEGACY": 0,
	"REST":        1,
	"GRPC":        2,
}
View Source
var AuthAction_ActionType_name = map[int32]string{
	0: "ALLOW",
	1: "DENY",
}
View Source
var AuthAction_ActionType_value = map[string]int32{
	"ALLOW": 0,
	"DENY":  1,
}
View Source
var Capability_Protocol_name = map[int32]string{
	0: "HTTP",
	1: "TCP",
	2: "REDIS",
}
View Source
var Capability_Protocol_value = map[string]int32{
	"HTTP":  0,
	"TCP":   1,
	"REDIS": 2,
}
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",
}
View Source
var Cluster_LbPolicy_value = map[string]int32{
	"ROUND_ROBIN":     0,
	"LEAST_REQUEST":   1,
	"RING_HASH":       2,
	"RANDOM":          3,
	"ORIGINAL_DST_LB": 4,
}
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 HealthStatus_name = map[int32]string{
	0: "UNKNOWN",
	1: "HEALTHY",
	2: "UNHEALTHY",
	3: "DRAINING",
	4: "TIMEOUT",
}
View Source
var HealthStatus_value = map[string]int32{
	"UNKNOWN":   0,
	"HEALTHY":   1,
	"UNHEALTHY": 2,
	"DRAINING":  3,
	"TIMEOUT":   4,
}
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,
}
View Source
var RateLimitResponse_Code_name = map[int32]string{
	0: "UNKNOWN",
	1: "OK",
	2: "OVER_LIMIT",
}
View Source
var RateLimitResponse_Code_value = map[string]int32{
	"UNKNOWN":    0,
	"OK":         1,
	"OVER_LIMIT": 2,
}
View Source
var RateLimitResponse_RateLimit_Unit_name = map[int32]string{
	0: "UNKNOWN",
	1: "SECOND",
	2: "MINUTE",
	3: "HOUR",
	4: "DAY",
}
View Source
var RateLimitResponse_RateLimit_Unit_value = map[string]int32{
	"UNKNOWN": 0,
	"SECOND":  1,
	"MINUTE":  2,
	"HOUR":    3,
	"DAY":     4,
}
View Source
var RedirectAction_RedirectResponseCode_name = map[int32]string{
	0: "MOVED_PERMANENTLY",
	1: "FOUND",
	2: "SEE_OTHER",
	3: "TEMPORARY_REDIRECT",
	4: "PERMANENT_REDIRECT",
}
View Source
var RedirectAction_RedirectResponseCode_value = map[string]int32{
	"MOVED_PERMANENTLY":  0,
	"FOUND":              1,
	"SEE_OTHER":          2,
	"TEMPORARY_REDIRECT": 3,
	"PERMANENT_REDIRECT": 4,
}
View Source
var RequestMethod_name = map[int32]string{
	0: "METHOD_UNSPECIFIED",
	1: "GET",
	2: "HEAD",
	3: "POST",
	4: "PUT",
	5: "DELETE",
	6: "CONNECT",
	7: "OPTIONS",
	8: "TRACE",
}
View Source
var RequestMethod_value = map[string]int32{
	"METHOD_UNSPECIFIED": 0,
	"GET":                1,
	"HEAD":               2,
	"POST":               3,
	"PUT":                4,
	"DELETE":             5,
	"CONNECT":            6,
	"OPTIONS":            7,
	"TRACE":              8,
}
View Source
var RouteAction_ClusterNotFoundResponseCode_name = map[int32]string{
	0: "SERVICE_UNAVAILABLE",
	1: "NOT_FOUND",
}
View Source
var RouteAction_ClusterNotFoundResponseCode_value = map[string]int32{
	"SERVICE_UNAVAILABLE": 0,
	"NOT_FOUND":           1,
}
View Source
var RoutingPriority_name = map[int32]string{
	0: "DEFAULT",
	1: "HIGH",
}
View Source
var RoutingPriority_value = map[string]int32{
	"DEFAULT": 0,
	"HIGH":    1,
}
View Source
var SocketAddress_Protocol_name = map[int32]string{
	0: "TCP",
	1: "UDP",
}
View Source
var SocketAddress_Protocol_value = map[string]int32{
	"TCP": 0,
	"UDP": 1,
}
View Source
var TlsParameters_TlsProtocol_name = map[int32]string{
	0: "TLS_AUTO",
	1: "TLSv1_0",
	2: "TLSv1_1",
	3: "TLSv1_2",
	4: "TLSv1_3",
}
View Source
var TlsParameters_TlsProtocol_value = map[string]int32{
	"TLS_AUTO": 0,
	"TLSv1_0":  1,
	"TLSv1_1":  2,
	"TLSv1_2":  3,
	"TLSv1_3":  4,
}
View Source
var VirtualHost_TlsRequirementType_name = map[int32]string{
	0: "NONE",
	1: "EXTERNAL_ONLY",
	2: "ALL",
}
View Source
var VirtualHost_TlsRequirementType_value = map[string]int32{
	"NONE":          0,
	"EXTERNAL_ONLY": 1,
	"ALL":           2,
}

Functions

func RegisterAggregatedDiscoveryServiceServer

func RegisterAggregatedDiscoveryServiceServer(s *grpc.Server, srv AggregatedDiscoveryServiceServer)

func RegisterClusterDiscoveryServiceServer

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

func RegisterEndpointDiscoveryServiceServer

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

func RegisterHealthDiscoveryServiceServer

func RegisterHealthDiscoveryServiceServer(s *grpc.Server, srv HealthDiscoveryServiceServer)

func RegisterListenerDiscoveryServiceServer

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

func RegisterRateLimitServiceServer

func RegisterRateLimitServiceServer(s *grpc.Server, srv RateLimitServiceServer)

func RegisterRouteDiscoveryServiceServer

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

func RegisterSecretDiscoveryServiceServer

func RegisterSecretDiscoveryServiceServer(s *grpc.Server, srv SecretDiscoveryServiceServer)

Types

type Address

type Address struct {
	// Types that are valid to be assigned to Address:
	//	*Address_SocketAddress
	//	*Address_Pipe
	Address isAddress_Address `protobuf_oneof:"address"`
}

Addresses specify either a logical or physical address and port, which are used to tell Envoy where to bind/listen, connect to upstream and find management servers.

func (*Address) Descriptor

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

func (*Address) GetAddress

func (m *Address) GetAddress() isAddress_Address

func (*Address) GetPipe

func (m *Address) GetPipe() *Pipe

func (*Address) GetSocketAddress

func (m *Address) GetSocketAddress() *SocketAddress

func (*Address) Marshal

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

func (*Address) MarshalTo

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

func (*Address) ProtoMessage

func (*Address) ProtoMessage()

func (*Address) Reset

func (m *Address) Reset()

func (*Address) Size

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

func (*Address) String

func (m *Address) String() string

func (*Address) Unmarshal

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

func (*Address) XXX_OneofFuncs

func (*Address) 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.

type Address_Pipe

type Address_Pipe struct {
	Pipe *Pipe `protobuf:"bytes,2,opt,name=pipe,oneof"`
}

func (*Address_Pipe) MarshalTo

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

func (*Address_Pipe) Size

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

type Address_SocketAddress

type Address_SocketAddress struct {
	SocketAddress *SocketAddress `protobuf:"bytes,1,opt,name=socket_address,json=socketAddress,oneof"`
}

func (*Address_SocketAddress) MarshalTo

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

func (*Address_SocketAddress) Size

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

type Admin

type Admin struct {
	// The path to write the access log for the administration server. If no
	// access log is desired specify ‘/dev/null’.
	AccessLogPath string `protobuf:"bytes,1,opt,name=access_log_path,json=accessLogPath,proto3" json:"access_log_path,omitempty"`
	// The cpu profiler output path for the administration server. If no profile
	// path is specified, the default is ‘/var/log/envoy/envoy.prof’.
	ProfilePath string `protobuf:"bytes,2,opt,name=profile_path,json=profilePath,proto3" json:"profile_path,omitempty"`
	// The TCP address that the administration server will listen on.
	Address Address `protobuf:"bytes,3,opt,name=address" json:"address"`
}

Administration interface :ref:`operations documentation <operations_admin_interface>`.

func (*Admin) Descriptor

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

func (*Admin) GetAccessLogPath

func (m *Admin) GetAccessLogPath() string

func (*Admin) GetAddress

func (m *Admin) GetAddress() Address

func (*Admin) GetProfilePath

func (m *Admin) GetProfilePath() string

func (*Admin) Marshal

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

func (*Admin) MarshalTo

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

func (*Admin) ProtoMessage

func (*Admin) ProtoMessage()

func (*Admin) Reset

func (m *Admin) Reset()

func (*Admin) Size

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

func (*Admin) String

func (m *Admin) String() string

func (*Admin) Unmarshal

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

type AggregatedConfigSource

type AggregatedConfigSource struct {
}

Aggregated Discovery Service (ADS) options. This is currently empty, but when set in :ref:`ConfigSource <envoy_api_msg_ConfigSource>` can be used to specify that ADS is to be used.

func (*AggregatedConfigSource) Descriptor

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

func (*AggregatedConfigSource) Marshal

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

func (*AggregatedConfigSource) MarshalTo

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

func (*AggregatedConfigSource) ProtoMessage

func (*AggregatedConfigSource) ProtoMessage()

func (*AggregatedConfigSource) Reset

func (m *AggregatedConfigSource) Reset()

func (*AggregatedConfigSource) Size

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

func (*AggregatedConfigSource) String

func (m *AggregatedConfigSource) String() string

func (*AggregatedConfigSource) Unmarshal

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

type AggregatedDiscoveryServiceClient

type AggregatedDiscoveryServiceClient interface {
	// This is a gRPC-only API.
	StreamAggregatedResources(ctx context.Context, opts ...grpc.CallOption) (AggregatedDiscoveryService_StreamAggregatedResourcesClient, error)
}

func NewAggregatedDiscoveryServiceClient

func NewAggregatedDiscoveryServiceClient(cc *grpc.ClientConn) AggregatedDiscoveryServiceClient

type AggregatedDiscoveryServiceServer

type AggregatedDiscoveryServiceServer interface {
	// This is a gRPC-only API.
	StreamAggregatedResources(AggregatedDiscoveryService_StreamAggregatedResourcesServer) error
}

type AggregatedDiscoveryService_StreamAggregatedResourcesClient

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

type AggregatedDiscoveryService_StreamAggregatedResourcesServer

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

type ApiConfigSource

type ApiConfigSource struct {
	ApiType ApiConfigSource_ApiType `protobuf:"varint,1,opt,name=api_type,json=apiType,proto3,enum=envoy.api.v2.ApiConfigSource_ApiType" json:"api_type,omitempty"`
	// Multiple cluster names may be provided. If > 1 cluster is defined, clusters
	// will be cycled through if any kind of failure occurs.
	ClusterName []string `protobuf:"bytes,2,rep,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
	// For REST APIs, the delay between successive polls.
	RefreshDelay *time.Duration `protobuf:"bytes,3,opt,name=refresh_delay,json=refreshDelay,stdduration" json:"refresh_delay,omitempty"`
}

API configuration source. This identifies the API type and cluster that Envoy will use to fetch an xDS API.

func (*ApiConfigSource) Descriptor

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

func (*ApiConfigSource) GetApiType

func (m *ApiConfigSource) GetApiType() ApiConfigSource_ApiType

func (*ApiConfigSource) GetClusterName

func (m *ApiConfigSource) GetClusterName() []string

func (*ApiConfigSource) GetRefreshDelay

func (m *ApiConfigSource) GetRefreshDelay() *time.Duration

func (*ApiConfigSource) Marshal

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

func (*ApiConfigSource) MarshalTo

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

func (*ApiConfigSource) ProtoMessage

func (*ApiConfigSource) ProtoMessage()

func (*ApiConfigSource) Reset

func (m *ApiConfigSource) Reset()

func (*ApiConfigSource) Size

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

func (*ApiConfigSource) String

func (m *ApiConfigSource) String() string

func (*ApiConfigSource) Unmarshal

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

type ApiConfigSource_ApiType

type ApiConfigSource_ApiType int32

APIs may be fetched via either REST or gRPC.

const (
	// REST-JSON legacy corresponds to the v1 API.
	ApiConfigSource_REST_LEGACY ApiConfigSource_ApiType = 0
	// REST-JSON v2 API. The `canonical JSON encoding
	// <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
	// the v2 protos is used.
	ApiConfigSource_REST ApiConfigSource_ApiType = 1
	// gRPC v2 API.
	ApiConfigSource_GRPC ApiConfigSource_ApiType = 2
)

func (ApiConfigSource_ApiType) EnumDescriptor

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

func (ApiConfigSource_ApiType) String

func (x ApiConfigSource_ApiType) String() string

type AuthAction

type AuthAction struct {
	ActionType AuthAction_ActionType `` /* 137-byte string literal not displayed */
	// List of rules
	Rule []*AuthAction_Rule `protobuf:"bytes,2,rep,name=rule" json:"rule,omitempty"`
}

func (*AuthAction) Descriptor

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

func (*AuthAction) GetActionType

func (m *AuthAction) GetActionType() AuthAction_ActionType

func (*AuthAction) GetRule

func (m *AuthAction) GetRule() []*AuthAction_Rule

func (*AuthAction) Marshal

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

func (*AuthAction) MarshalTo

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

func (*AuthAction) ProtoMessage

func (*AuthAction) ProtoMessage()

func (*AuthAction) Reset

func (m *AuthAction) Reset()

func (*AuthAction) Size

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

func (*AuthAction) String

func (m *AuthAction) String() string

func (*AuthAction) Unmarshal

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

type AuthAction_ActionType

type AuthAction_ActionType int32

Should we do white-list or black-list style access control.

const (
	// Request matches all rules are allowed, otherwise denied.
	AuthAction_ALLOW AuthAction_ActionType = 0
	// Request matches all rules or missing required auth fields are denied,
	// otherwise allowed.
	AuthAction_DENY AuthAction_ActionType = 1
)

func (AuthAction_ActionType) EnumDescriptor

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

func (AuthAction_ActionType) String

func (x AuthAction_ActionType) String() string

type AuthAction_AndRule

type AuthAction_AndRule struct {
	Rules []*AuthAction_Rule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
}

Logic AND that requires all rules match.

func (*AuthAction_AndRule) Descriptor

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

func (*AuthAction_AndRule) GetRules

func (m *AuthAction_AndRule) GetRules() []*AuthAction_Rule

func (*AuthAction_AndRule) Marshal

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

func (*AuthAction_AndRule) MarshalTo

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

func (*AuthAction_AndRule) ProtoMessage

func (*AuthAction_AndRule) ProtoMessage()

func (*AuthAction_AndRule) Reset

func (m *AuthAction_AndRule) Reset()

func (*AuthAction_AndRule) Size

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

func (*AuthAction_AndRule) String

func (m *AuthAction_AndRule) String() string

func (*AuthAction_AndRule) Unmarshal

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

type AuthAction_OrRule

type AuthAction_OrRule struct {
	Rules []*AuthAction_Rule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
}

Logic OR that requires at least one rule matches.

func (*AuthAction_OrRule) Descriptor

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

func (*AuthAction_OrRule) GetRules

func (m *AuthAction_OrRule) GetRules() []*AuthAction_Rule

func (*AuthAction_OrRule) Marshal

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

func (*AuthAction_OrRule) MarshalTo

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

func (*AuthAction_OrRule) ProtoMessage

func (*AuthAction_OrRule) ProtoMessage()

func (*AuthAction_OrRule) Reset

func (m *AuthAction_OrRule) Reset()

func (*AuthAction_OrRule) Size

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

func (*AuthAction_OrRule) String

func (m *AuthAction_OrRule) String() string

func (*AuthAction_OrRule) Unmarshal

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

type AuthAction_Rule

type AuthAction_Rule struct {
	// Types that are valid to be assigned to RuleSpecifier:
	//	*AuthAction_Rule_AndRule
	//	*AuthAction_Rule_OrRule
	//	*AuthAction_Rule_X509Rule
	RuleSpecifier isAuthAction_Rule_RuleSpecifier `protobuf_oneof:"rule_specifier"`
}

Element type of AndRule/OrRule, it chooses among different type of rule.

func (*AuthAction_Rule) Descriptor

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

func (*AuthAction_Rule) GetAndRule

func (m *AuthAction_Rule) GetAndRule() *AuthAction_AndRule

func (*AuthAction_Rule) GetOrRule

func (m *AuthAction_Rule) GetOrRule() *AuthAction_OrRule

func (*AuthAction_Rule) GetRuleSpecifier

func (m *AuthAction_Rule) GetRuleSpecifier() isAuthAction_Rule_RuleSpecifier

func (*AuthAction_Rule) GetX509Rule

func (m *AuthAction_Rule) GetX509Rule() *AuthAction_X509Rule

func (*AuthAction_Rule) Marshal

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

func (*AuthAction_Rule) MarshalTo

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

func (*AuthAction_Rule) ProtoMessage

func (*AuthAction_Rule) ProtoMessage()

func (*AuthAction_Rule) Reset

func (m *AuthAction_Rule) Reset()

func (*AuthAction_Rule) Size

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

func (*AuthAction_Rule) String

func (m *AuthAction_Rule) String() string

func (*AuthAction_Rule) Unmarshal

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

func (*AuthAction_Rule) XXX_OneofFuncs

func (*AuthAction_Rule) 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.

type AuthAction_Rule_AndRule

type AuthAction_Rule_AndRule struct {
	AndRule *AuthAction_AndRule `protobuf:"bytes,1,opt,name=and_rule,json=andRule,oneof"`
}

func (*AuthAction_Rule_AndRule) MarshalTo

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

func (*AuthAction_Rule_AndRule) Size

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

type AuthAction_Rule_OrRule

type AuthAction_Rule_OrRule struct {
	OrRule *AuthAction_OrRule `protobuf:"bytes,2,opt,name=or_rule,json=orRule,oneof"`
}

func (*AuthAction_Rule_OrRule) MarshalTo

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

func (*AuthAction_Rule_OrRule) Size

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

type AuthAction_Rule_X509Rule

type AuthAction_Rule_X509Rule struct {
	X509Rule *AuthAction_X509Rule `protobuf:"bytes,3,opt,name=x509_rule,json=x509Rule,oneof"`
}

func (*AuthAction_Rule_X509Rule) MarshalTo

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

func (*AuthAction_Rule_X509Rule) Size

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

type AuthAction_X509Rule

type AuthAction_X509Rule struct {
	// How to validate peer certificates.
	ValidationContext *CertificateValidationContext `protobuf:"bytes,3,opt,name=validation_context,json=validationContext" json:"validation_context,omitempty"`
}

Check peer identity using X.509 certificate.

func (*AuthAction_X509Rule) Descriptor

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

func (*AuthAction_X509Rule) GetValidationContext

func (m *AuthAction_X509Rule) GetValidationContext() *CertificateValidationContext

func (*AuthAction_X509Rule) Marshal

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

func (*AuthAction_X509Rule) MarshalTo

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

func (*AuthAction_X509Rule) ProtoMessage

func (*AuthAction_X509Rule) ProtoMessage()

func (*AuthAction_X509Rule) Reset

func (m *AuthAction_X509Rule) Reset()

func (*AuthAction_X509Rule) Size

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

func (*AuthAction_X509Rule) String

func (m *AuthAction_X509Rule) String() string

func (*AuthAction_X509Rule) Unmarshal

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

type BindConfig

type BindConfig struct {
	// The address to bind to when creating a socket.
	SourceAddress SocketAddress `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress" json:"source_address"`
}

func (*BindConfig) Descriptor

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

func (*BindConfig) GetSourceAddress

func (m *BindConfig) GetSourceAddress() SocketAddress

func (*BindConfig) Marshal

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

func (*BindConfig) MarshalTo

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

func (*BindConfig) ProtoMessage

func (*BindConfig) ProtoMessage()

func (*BindConfig) Reset

func (m *BindConfig) Reset()

func (*BindConfig) Size

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

func (*BindConfig) String

func (m *BindConfig) String() string

func (*BindConfig) Unmarshal

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

type Bootstrap

type Bootstrap struct {
	// Node identity to present to the management server and for instance
	// identification purposes (e.g. in generated headers).
	Node *Node `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
	// Statically specified resources.
	StaticResources *Bootstrap_StaticResources `protobuf:"bytes,2,opt,name=static_resources,json=staticResources" json:"static_resources,omitempty"`
	// xDS configuration sources.
	DynamicResources *Bootstrap_DynamicResources `protobuf:"bytes,3,opt,name=dynamic_resources,json=dynamicResources" json:"dynamic_resources,omitempty"`
	// Configuration for the cluster manager which owns all upstream clusters
	// within the server.
	ClusterManager *ClusterManager `protobuf:"bytes,4,opt,name=cluster_manager,json=clusterManager" json:"cluster_manager,omitempty"`
	// Optional file system path to search for startup flag files.
	FlagsPath string `protobuf:"bytes,5,opt,name=flags_path,json=flagsPath,proto3" json:"flags_path,omitempty"`
	// Optional set of stats sinks.
	StatsSinks []*StatsSink `protobuf:"bytes,6,rep,name=stats_sinks,json=statsSinks" json:"stats_sinks,omitempty"`
	// Configuration for internal processing of stats.
	StatsConfig *StatsConfig `protobuf:"bytes,13,opt,name=stats_config,json=statsConfig" json:"stats_config,omitempty"`
	// Optional duration between flushes to configured stats sinks. For
	// performance reasons Envoy latches counters and only flushes counters and
	// gauges at a periodic interval. If not specified the default is 5000ms (5
	// seconds).
	StatsFlushInterval *time.Duration `protobuf:"bytes,7,opt,name=stats_flush_interval,json=statsFlushInterval,stdduration" json:"stats_flush_interval,omitempty"`
	// Optional watchdog configuration.
	Watchdog *Watchdog `protobuf:"bytes,8,opt,name=watchdog" json:"watchdog,omitempty"`
	// Configuration for an external tracing provider. If not specified, no
	// tracing will be performed.
	Tracing *Tracing `protobuf:"bytes,9,opt,name=tracing" json:"tracing,omitempty"`
	// Configuration for an external rate limit service provider. If not
	// specified, any calls to the rate limit service will immediately return
	// success.
	RateLimitService *RateLimitServiceConfig `protobuf:"bytes,10,opt,name=rate_limit_service,json=rateLimitService" json:"rate_limit_service,omitempty"`
	// Configuration for the runtime configuration provider. If not specified, a
	// “null” provider will be used which will result in all defaults being used.
	Runtime *Runtime `protobuf:"bytes,11,opt,name=runtime" json:"runtime,omitempty"`
	// Configuration for the local administration HTTP server.
	Admin Admin `protobuf:"bytes,12,opt,name=admin" json:"admin"`
}

Bootstrap :ref:`configuration overview <config_overview_v2_bootstrap>`.

func (*Bootstrap) Descriptor

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

func (*Bootstrap) GetAdmin

func (m *Bootstrap) GetAdmin() Admin

func (*Bootstrap) GetClusterManager

func (m *Bootstrap) GetClusterManager() *ClusterManager

func (*Bootstrap) GetDynamicResources

func (m *Bootstrap) GetDynamicResources() *Bootstrap_DynamicResources

func (*Bootstrap) GetFlagsPath

func (m *Bootstrap) GetFlagsPath() string

func (*Bootstrap) GetNode

func (m *Bootstrap) GetNode() *Node

func (*Bootstrap) GetRateLimitService

func (m *Bootstrap) GetRateLimitService() *RateLimitServiceConfig

func (*Bootstrap) GetRuntime

func (m *Bootstrap) GetRuntime() *Runtime

func (*Bootstrap) GetStaticResources

func (m *Bootstrap) GetStaticResources() *Bootstrap_StaticResources

func (*Bootstrap) GetStatsConfig

func (m *Bootstrap) GetStatsConfig() *StatsConfig

func (*Bootstrap) GetStatsFlushInterval

func (m *Bootstrap) GetStatsFlushInterval() *time.Duration

func (*Bootstrap) GetStatsSinks

func (m *Bootstrap) GetStatsSinks() []*StatsSink

func (*Bootstrap) GetTracing

func (m *Bootstrap) GetTracing() *Tracing

func (*Bootstrap) GetWatchdog

func (m *Bootstrap) GetWatchdog() *Watchdog

func (*Bootstrap) Marshal

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

func (*Bootstrap) MarshalTo

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

func (*Bootstrap) ProtoMessage

func (*Bootstrap) ProtoMessage()

func (*Bootstrap) Reset

func (m *Bootstrap) Reset()

func (*Bootstrap) Size

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

func (*Bootstrap) String

func (m *Bootstrap) String() string

func (*Bootstrap) Unmarshal

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

type Bootstrap_DynamicResources

type Bootstrap_DynamicResources struct {
	// All :ref:`Listeners <envoy_api_msg_Listener>` are provided by a single
	// :ref:`LDS <arch_overview_dynamic_config_lds>` configuration source.
	LdsConfig *ConfigSource `protobuf:"bytes,1,opt,name=lds_config,json=ldsConfig" json:"lds_config,omitempty"`
	// All post-bootstrap :ref:`Cluster <envoy_api_msg_Cluster>` definitions are
	// provided by a single :ref:`CDS <arch_overview_dynamic_config_cds>`
	// configuration source.
	CdsConfig *ConfigSource `protobuf:"bytes,2,opt,name=cds_config,json=cdsConfig" json:"cds_config,omitempty"`
	// A single :ref:`ADS <config_overview_v2_ads>` source may be optionally
	// specified. This must have :ref:`api_type
	// <envoy_api_field_ApiConfigSource.api_type>` :ref:`GRPC
	// <envoy_api_enum_value_ApiConfigSource.ApiType.GRPC>`. Only
	// :ref:`ConfigSources <envoy_api_msg_ConfigSource>` that have
	// the :ref:`ads <envoy_api_field_ConfigSource.ads>` field set will be
	// streamed on the ADS channel.
	AdsConfig    *ApiConfigSource                         `protobuf:"bytes,3,opt,name=ads_config,json=adsConfig" json:"ads_config,omitempty"`
	DeprecatedV1 *Bootstrap_DynamicResources_DeprecatedV1 `protobuf:"bytes,4,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"`
}

func (*Bootstrap_DynamicResources) Descriptor

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

func (*Bootstrap_DynamicResources) GetAdsConfig

func (m *Bootstrap_DynamicResources) GetAdsConfig() *ApiConfigSource

func (*Bootstrap_DynamicResources) GetCdsConfig

func (m *Bootstrap_DynamicResources) GetCdsConfig() *ConfigSource

func (*Bootstrap_DynamicResources) GetDeprecatedV1

func (*Bootstrap_DynamicResources) GetLdsConfig

func (m *Bootstrap_DynamicResources) GetLdsConfig() *ConfigSource

func (*Bootstrap_DynamicResources) Marshal

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

func (*Bootstrap_DynamicResources) MarshalTo

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

func (*Bootstrap_DynamicResources) ProtoMessage

func (*Bootstrap_DynamicResources) ProtoMessage()

func (*Bootstrap_DynamicResources) Reset

func (m *Bootstrap_DynamicResources) Reset()

func (*Bootstrap_DynamicResources) Size

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

func (*Bootstrap_DynamicResources) String

func (m *Bootstrap_DynamicResources) String() string

func (*Bootstrap_DynamicResources) Unmarshal

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

type Bootstrap_DynamicResources_DeprecatedV1

type Bootstrap_DynamicResources_DeprecatedV1 struct {
	// This is the global :ref:`SDS <arch_overview_dynamic_config_sds>` config
	// when using v1 REST for :ref:`CDS
	// <arch_overview_dynamic_config_cds>`/:ref:`EDS
	// <arch_overview_dynamic_config_sds>`.
	SdsConfig *ConfigSource `protobuf:"bytes,1,opt,name=sds_config,json=sdsConfig" json:"sds_config,omitempty"`
}

func (*Bootstrap_DynamicResources_DeprecatedV1) Descriptor

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

func (*Bootstrap_DynamicResources_DeprecatedV1) GetSdsConfig

func (*Bootstrap_DynamicResources_DeprecatedV1) Marshal

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

func (*Bootstrap_DynamicResources_DeprecatedV1) MarshalTo

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

func (*Bootstrap_DynamicResources_DeprecatedV1) ProtoMessage

func (*Bootstrap_DynamicResources_DeprecatedV1) Reset

func (*Bootstrap_DynamicResources_DeprecatedV1) Size

func (*Bootstrap_DynamicResources_DeprecatedV1) String

func (*Bootstrap_DynamicResources_DeprecatedV1) Unmarshal

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

type Bootstrap_StaticResources

type Bootstrap_StaticResources struct {
	// Static :ref:`Listeners <envoy_api_msg_Listener>`. These listeners are
	// available regardless of LDS configuration.
	Listeners []*Listener `protobuf:"bytes,1,rep,name=listeners" json:"listeners,omitempty"`
	// If a network based configuration source is specified for :ref:`cds_config
	// <envoy_api_field_Bootstrap.DynamicResources.cds_config>`, it's necessary
	// to have some initial cluster definitions available to allow Envoy to know
	// how to speak to the management server. These cluster definitions may not
	// use :ref:`EDS <arch_overview_dynamic_config_sds>` (i.e. they should be static
	// IP or DNS-based).
	Clusters []*Cluster `protobuf:"bytes,2,rep,name=clusters" json:"clusters,omitempty"`
	// [#not-implemented-hide:]
	Secrets []*Secret `protobuf:"bytes,3,rep,name=secrets" json:"secrets,omitempty"`
}

func (*Bootstrap_StaticResources) Descriptor

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

func (*Bootstrap_StaticResources) GetClusters

func (m *Bootstrap_StaticResources) GetClusters() []*Cluster

func (*Bootstrap_StaticResources) GetListeners

func (m *Bootstrap_StaticResources) GetListeners() []*Listener

func (*Bootstrap_StaticResources) GetSecrets

func (m *Bootstrap_StaticResources) GetSecrets() []*Secret

func (*Bootstrap_StaticResources) Marshal

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

func (*Bootstrap_StaticResources) MarshalTo

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

func (*Bootstrap_StaticResources) ProtoMessage

func (*Bootstrap_StaticResources) ProtoMessage()

func (*Bootstrap_StaticResources) Reset

func (m *Bootstrap_StaticResources) Reset()

func (*Bootstrap_StaticResources) Size

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

func (*Bootstrap_StaticResources) String

func (m *Bootstrap_StaticResources) String() string

func (*Bootstrap_StaticResources) Unmarshal

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

type Capability

type Capability struct {
	HealthCheckProtocol []Capability_Protocol `` /* 159-byte string literal not displayed */
}

Defines supported protocols etc, so the management server can assign proper endpoints to healthcheck.

func (*Capability) Descriptor

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

func (*Capability) GetHealthCheckProtocol

func (m *Capability) GetHealthCheckProtocol() []Capability_Protocol

func (*Capability) Marshal

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

func (*Capability) MarshalTo

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

func (*Capability) ProtoMessage

func (*Capability) ProtoMessage()

func (*Capability) Reset

func (m *Capability) Reset()

func (*Capability) Size

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

func (*Capability) String

func (m *Capability) String() string

func (*Capability) Unmarshal

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

type Capability_Protocol

type Capability_Protocol int32

Different Envoy instances may have different capabilities (e.g. Redis) and/or have ports enabled for different protocols.

const (
	Capability_HTTP  Capability_Protocol = 0
	Capability_TCP   Capability_Protocol = 1
	Capability_REDIS Capability_Protocol = 2
)

func (Capability_Protocol) EnumDescriptor

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

func (Capability_Protocol) String

func (x Capability_Protocol) String() string

type CertificateValidationContext

type CertificateValidationContext struct {
	// TLS certificate data containing certificate authority certificates to use in verifying
	// a presented peer certificate (e.g. server certificate for clusters or client certificate
	// for listeners). If not specified and a peer certificate is presented it will not be
	// verified. By default, a client certificate is optional, unless one of the additional
	// options (:ref:`require_client_certificate
	// <envoy_api_field_DownstreamTlsContext.require_client_certificate>`,
	// :ref:`verify_certificate_hash
	// <envoy_api_field_CertificateValidationContext.verify_certificate_hash>`, or
	// :ref:`verify_subject_alt_name
	// <envoy_api_field_CertificateValidationContext.verify_subject_alt_name>`) is also specified.
	//
	// See :ref:`the TLS overview <arch_overview_ssl_enabling_verification>` for a list of common
	// system CA locations.
	TrustedCa *DataSource `protobuf:"bytes,1,opt,name=trusted_ca,json=trustedCa" json:"trusted_ca,omitempty"`
	// If specified, Envoy will verify (pin) the hex-encoded SHA-256 hash of
	// the presented certificate.
	VerifyCertificateHash []string `protobuf:"bytes,2,rep,name=verify_certificate_hash,json=verifyCertificateHash" json:"verify_certificate_hash,omitempty"`
	// If specified, Envoy will verify (pin) base64-encoded SHA-256 hash of
	// the Subject Public Key Information (SPKI) of the presented certificate.
	// This is the same format as used in HTTP Public Key Pinning.
	// [#not-implemented-hide:]
	VerifySpkiSha256 []string `protobuf:"bytes,3,rep,name=verify_spki_sha256,json=verifySpkiSha256" json:"verify_spki_sha256,omitempty"`
	// An optional list of subject alternative names. If specified, Envoy will verify that
	// the certificate’s subject alternative name matches one of the specified values.
	VerifySubjectAltName []string `protobuf:"bytes,4,rep,name=verify_subject_alt_name,json=verifySubjectAltName" json:"verify_subject_alt_name,omitempty"`
	// [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
	RequireOcspStaple *google_protobuf.BoolValue `protobuf:"bytes,5,opt,name=require_ocsp_staple,json=requireOcspStaple" json:"require_ocsp_staple,omitempty"`
	// [#not-implemented-hide:] Must present signed certificate time-stamp.
	RequireSignedCertificateTimestamp *google_protobuf.BoolValue `` /* 157-byte string literal not displayed */
}

func (*CertificateValidationContext) Descriptor

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

func (*CertificateValidationContext) GetRequireOcspStaple

func (m *CertificateValidationContext) GetRequireOcspStaple() *google_protobuf.BoolValue

func (*CertificateValidationContext) GetRequireSignedCertificateTimestamp

func (m *CertificateValidationContext) GetRequireSignedCertificateTimestamp() *google_protobuf.BoolValue

func (*CertificateValidationContext) GetTrustedCa

func (m *CertificateValidationContext) GetTrustedCa() *DataSource

func (*CertificateValidationContext) GetVerifyCertificateHash

func (m *CertificateValidationContext) GetVerifyCertificateHash() []string

func (*CertificateValidationContext) GetVerifySpkiSha256

func (m *CertificateValidationContext) GetVerifySpkiSha256() []string

func (*CertificateValidationContext) GetVerifySubjectAltName

func (m *CertificateValidationContext) GetVerifySubjectAltName() []string

func (*CertificateValidationContext) Marshal

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

func (*CertificateValidationContext) MarshalTo

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

func (*CertificateValidationContext) ProtoMessage

func (*CertificateValidationContext) ProtoMessage()

func (*CertificateValidationContext) Reset

func (m *CertificateValidationContext) Reset()

func (*CertificateValidationContext) Size

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

func (*CertificateValidationContext) String

func (*CertificateValidationContext) Unmarshal

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

type CidrRange

type CidrRange struct {
	// IPv4 or IPv6 address, e.g. “192.0.0.0“ or “2001:db8::“.
	AddressPrefix string `protobuf:"bytes,1,opt,name=address_prefix,json=addressPrefix,proto3" json:"address_prefix,omitempty"`
	// Length of prefix, e.g. 0, 32.
	PrefixLen *google_protobuf.UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"`
}

CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.

func (*CidrRange) Descriptor

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

func (*CidrRange) GetAddressPrefix

func (m *CidrRange) GetAddressPrefix() string

func (*CidrRange) GetPrefixLen

func (m *CidrRange) GetPrefixLen() *google_protobuf.UInt32Value

func (*CidrRange) Marshal

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

func (*CidrRange) MarshalTo

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

func (*CidrRange) ProtoMessage

func (*CidrRange) ProtoMessage()

func (*CidrRange) Reset

func (m *CidrRange) Reset()

func (*CidrRange) Size

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

func (*CidrRange) String

func (m *CidrRange) String() string

func (*CidrRange) Unmarshal

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

type CircuitBreakers

type CircuitBreakers struct {
	// If multiple :ref:`Thresholds<envoy_api_msg_CircuitBreakers.Thresholds>`
	// are defined with the same :ref:`RoutingPriority<envoy_api_enum_RoutingPriority>`,
	// the first one in the list is used. If no Thresholds is defined for a given
	// :ref:`RoutingPriority<envoy_api_enum_RoutingPriority>`, the default values
	// are used.
	Thresholds []*CircuitBreakers_Thresholds `protobuf:"bytes,1,rep,name=thresholds" json:"thresholds,omitempty"`
}

:ref:`Circuit breaking<arch_overview_circuit_break>` settings can be specified individually for each defined priority.

func (*CircuitBreakers) Descriptor

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

func (*CircuitBreakers) GetThresholds

func (m *CircuitBreakers) GetThresholds() []*CircuitBreakers_Thresholds

func (*CircuitBreakers) Marshal

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

func (*CircuitBreakers) MarshalTo

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

func (*CircuitBreakers) ProtoMessage

func (*CircuitBreakers) ProtoMessage()

func (*CircuitBreakers) Reset

func (m *CircuitBreakers) Reset()

func (*CircuitBreakers) Size

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

func (*CircuitBreakers) String

func (m *CircuitBreakers) String() string

func (*CircuitBreakers) Unmarshal

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

type CircuitBreakers_Thresholds

type CircuitBreakers_Thresholds struct {
	// The :ref:`RoutingPriority<envoy_api_enum_RoutingPriority>`
	// the specified CircuitBreaker settings apply to.
	// [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
	// https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
	Priority RoutingPriority `protobuf:"varint,1,opt,name=priority,proto3,enum=envoy.api.v2.RoutingPriority" json:"priority,omitempty"`
	// The maximum number of connections that Envoy will make to the upstream
	// cluster. If not specified, the default is 1024.
	MaxConnections *google_protobuf.UInt32Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections" json:"max_connections,omitempty"`
	// The maximum number of pending requests that Envoy will allow to the
	// upstream cluster. If not specified, the default is 1024.
	MaxPendingRequests *google_protobuf.UInt32Value `protobuf:"bytes,3,opt,name=max_pending_requests,json=maxPendingRequests" json:"max_pending_requests,omitempty"`
	// The maximum number of parallel requests that Envoy will make to the
	// upstream cluster. If not specified, the default is 1024.
	MaxRequests *google_protobuf.UInt32Value `protobuf:"bytes,4,opt,name=max_requests,json=maxRequests" json:"max_requests,omitempty"`
	// The maximum number of parallel retries that Envoy will allow to the
	// upstream cluster. If not specified, the default is 3.
	MaxRetries *google_protobuf.UInt32Value `protobuf:"bytes,5,opt,name=max_retries,json=maxRetries" json:"max_retries,omitempty"`
}

A Thresholds defines CircuitBreaker settings for a :ref:`RoutingPriority<envoy_api_enum_RoutingPriority>`.

func (*CircuitBreakers_Thresholds) Descriptor

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

func (*CircuitBreakers_Thresholds) GetMaxConnections

func (m *CircuitBreakers_Thresholds) GetMaxConnections() *google_protobuf.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxPendingRequests

func (m *CircuitBreakers_Thresholds) GetMaxPendingRequests() *google_protobuf.UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxRequests

func (*CircuitBreakers_Thresholds) GetMaxRetries

func (*CircuitBreakers_Thresholds) GetPriority

func (*CircuitBreakers_Thresholds) Marshal

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

func (*CircuitBreakers_Thresholds) MarshalTo

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

func (*CircuitBreakers_Thresholds) ProtoMessage

func (*CircuitBreakers_Thresholds) ProtoMessage()

func (*CircuitBreakers_Thresholds) Reset

func (m *CircuitBreakers_Thresholds) Reset()

func (*CircuitBreakers_Thresholds) Size

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

func (*CircuitBreakers_Thresholds) String

func (m *CircuitBreakers_Thresholds) String() string

func (*CircuitBreakers_Thresholds) Unmarshal

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

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>`.
	// 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"`
	// 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 *google_protobuf.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.
	Hosts []*Address `protobuf:"bytes,7,rep,name=hosts" json:"hosts,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 []*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 *google_protobuf.UInt32Value `` /* 130-byte string literal not displayed */
	// Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
	CircuitBreakers *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_CertificateValidationContext.trusted_ca>` to enable
	//   verification.
	TlsContext *UpstreamTlsContext `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext" json:"tls_context,omitempty"`
	// Types that are valid to be assigned to ProtocolOptions:
	//	*Cluster_TcpProtocolOptions
	//	*Cluster_HttpProtocolOptions
	//	*Cluster_Http2ProtocolOptions
	//	*Cluster_GrpcProtocolOptions
	ProtocolOptions isCluster_ProtocolOptions `protobuf_oneof:"protocol_options"`
	// 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:`V4_ONLY<envoy_api_enum_value_Cluster.DnsLookupFamily.V4_ONLY>`.
	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 []*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 addres and port are empty, no bind will be performed.
	UpstreamBindConfig *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_
	LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"`
	// See :ref:`base.TransportSocket<envoy_api_msg_TransportSocket>` description.
	TransportSocket *TransportSocket `protobuf:"bytes,24,opt,name=transport_socket,json=transportSocket" json:"transport_socket,omitempty"`
	// [#not-implemented-hide:] 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 *Metadata `protobuf:"bytes,25,opt,name=metadata" json:"metadata,omitempty"`
}

func (*Cluster) Descriptor

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

func (*Cluster) GetCircuitBreakers

func (m *Cluster) GetCircuitBreakers() *CircuitBreakers

func (*Cluster) GetCleanupInterval

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

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() []*Address

func (*Cluster) GetEdsClusterConfig

func (m *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig

func (*Cluster) GetGrpcProtocolOptions

func (m *Cluster) GetGrpcProtocolOptions() *GrpcProtocolOptions

func (*Cluster) GetHealthChecks

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

func (*Cluster) GetHosts

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

func (*Cluster) GetHttp2ProtocolOptions

func (m *Cluster) GetHttp2ProtocolOptions() *Http2ProtocolOptions

func (*Cluster) GetHttpProtocolOptions

func (m *Cluster) GetHttpProtocolOptions() *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) GetMaxRequestsPerConnection

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

func (*Cluster) GetMetadata

func (m *Cluster) GetMetadata() *Metadata

func (*Cluster) GetName

func (m *Cluster) GetName() string

func (*Cluster) GetOutlierDetection

func (m *Cluster) GetOutlierDetection() *Cluster_OutlierDetection

func (*Cluster) GetPerConnectionBufferLimitBytes

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

func (*Cluster) GetProtocolOptions

func (m *Cluster) GetProtocolOptions() isCluster_ProtocolOptions

func (*Cluster) GetRingHashLbConfig

func (m *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig

func (*Cluster) GetTcpProtocolOptions

func (m *Cluster) GetTcpProtocolOptions() *TcpProtocolOptions

func (*Cluster) GetTlsContext

func (m *Cluster) GetTlsContext() *UpstreamTlsContext

func (*Cluster) GetTransportSocket

func (m *Cluster) GetTransportSocket() *TransportSocket

func (*Cluster) GetType

func (m *Cluster) GetType() Cluster_DiscoveryType

func (*Cluster) GetUpstreamBindConfig

func (m *Cluster) GetUpstreamBindConfig() *BindConfig

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) 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.

type ClusterDiscoveryServiceClient

type ClusterDiscoveryServiceClient interface {
	StreamClusters(ctx context.Context, opts ...grpc.CallOption) (ClusterDiscoveryService_StreamClustersClient, 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
	FetchClusters(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

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 ClusterHealthCheck

type ClusterHealthCheck struct {
	ClusterName  string               `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	HealthChecks []*HealthCheck       `protobuf:"bytes,2,rep,name=health_checks,json=healthChecks" json:"health_checks,omitempty"`
	Endpoints    []*LocalityEndpoints `protobuf:"bytes,3,rep,name=endpoints" json:"endpoints,omitempty"`
}

The cluster name and locality is provided to Envoy for the endpoints that it health checks to support statistics reporting, logging and debugging by the Envoy instance (outside of HDS). For maximum usefulness, it should match the same cluster structure as that provided by EDS.

func (*ClusterHealthCheck) Descriptor

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

func (*ClusterHealthCheck) GetClusterName

func (m *ClusterHealthCheck) GetClusterName() string

func (*ClusterHealthCheck) GetEndpoints

func (m *ClusterHealthCheck) GetEndpoints() []*LocalityEndpoints

func (*ClusterHealthCheck) GetHealthChecks

func (m *ClusterHealthCheck) GetHealthChecks() []*HealthCheck

func (*ClusterHealthCheck) Marshal

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

func (*ClusterHealthCheck) MarshalTo

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

func (*ClusterHealthCheck) ProtoMessage

func (*ClusterHealthCheck) ProtoMessage()

func (*ClusterHealthCheck) Reset

func (m *ClusterHealthCheck) Reset()

func (*ClusterHealthCheck) Size

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

func (*ClusterHealthCheck) String

func (m *ClusterHealthCheck) String() string

func (*ClusterHealthCheck) Unmarshal

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

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 []*LocalityLbEndpoints `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"`
	// Load balancing policy settings.
	Policy *ClusterLoadAssignment_Policy `protobuf:"bytes,4,opt,name=policy" json:"policy,omitempty"`
}

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) GetClusterName

func (m *ClusterLoadAssignment) GetClusterName() string

func (*ClusterLoadAssignment) GetEndpoints

func (m *ClusterLoadAssignment) GetEndpoints() []*LocalityLbEndpoints

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

type ClusterLoadAssignment_Policy

type ClusterLoadAssignment_Policy struct {
	// Percentage of traffic (0-100) that should be dropped. This
	// action allows protection of upstream hosts should they unable to
	// recover from an outage or should they be unable to autoscale and hence
	// overall incoming traffic volume need to be trimmed to protect them.
	// [#v2-api-diff: This is known as maintenance mode in v1.]
	DropOverload float64 `protobuf:"fixed64,1,opt,name=drop_overload,json=dropOverload,proto3" json:"drop_overload,omitempty"`
}

Load balancing policy settings.

func (*ClusterLoadAssignment_Policy) Descriptor

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

func (*ClusterLoadAssignment_Policy) GetDropOverload

func (m *ClusterLoadAssignment_Policy) GetDropOverload() float64

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

type ClusterManager

type ClusterManager struct {
	// Name of the local cluster (i.e., the cluster that owns the Envoy running
	// this configuration). In order to enable :ref:`zone aware routing
	// <arch_overview_load_balancing_zone_aware_routing>` this option must be set.
	// If *local_cluster_name* is defined then :ref:`clusters
	// <config_cluster_manager_clusters>` must be defined in the :ref:`Bootstrap
	// static cluster resources
	// <envoy_api_field_Bootstrap.StaticResources.clusters>`. This is unrelated to
	// the :option:`--service-cluster` option which does not `affect zone aware
	// routing <https://github.com/envoyproxy/envoy/issues/774>`_.
	LocalClusterName string `protobuf:"bytes,1,opt,name=local_cluster_name,json=localClusterName,proto3" json:"local_cluster_name,omitempty"`
	// Optional global configuration for outlier detection.
	OutlierDetection *ClusterManager_OutlierDetection `protobuf:"bytes,2,opt,name=outlier_detection,json=outlierDetection" json:"outlier_detection,omitempty"`
	// Optional configuration used to bind newly established upstream connections.
	// This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config.
	UpstreamBindConfig *BindConfig `protobuf:"bytes,3,opt,name=upstream_bind_config,json=upstreamBindConfig" json:"upstream_bind_config,omitempty"`
	// A management server endpoint to stream load stats to via
	// *StreamLoadStats*. This must have :ref:`api_type <envoy_api_field_ApiConfigSource.api_type>`
	// :ref:`GRPC <envoy_api_enum_value_ApiConfigSource.ApiType.GRPC>`.
	LoadStatsConfig *ApiConfigSource `protobuf:"bytes,4,opt,name=load_stats_config,json=loadStatsConfig" json:"load_stats_config,omitempty"`
}

Cluster manager :ref:`architecture overview <arch_overview_cluster_manager>`.

func (*ClusterManager) Descriptor

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

func (*ClusterManager) GetLoadStatsConfig

func (m *ClusterManager) GetLoadStatsConfig() *ApiConfigSource

func (*ClusterManager) GetLocalClusterName

func (m *ClusterManager) GetLocalClusterName() string

func (*ClusterManager) GetOutlierDetection

func (m *ClusterManager) GetOutlierDetection() *ClusterManager_OutlierDetection

func (*ClusterManager) GetUpstreamBindConfig

func (m *ClusterManager) GetUpstreamBindConfig() *BindConfig

func (*ClusterManager) Marshal

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

func (*ClusterManager) MarshalTo

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

func (*ClusterManager) ProtoMessage

func (*ClusterManager) ProtoMessage()

func (*ClusterManager) Reset

func (m *ClusterManager) Reset()

func (*ClusterManager) Size

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

func (*ClusterManager) String

func (m *ClusterManager) String() string

func (*ClusterManager) Unmarshal

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

type ClusterManager_OutlierDetection

type ClusterManager_OutlierDetection struct {
	// Specifies the path to the outlier event log.
	EventLogPath string `protobuf:"bytes,1,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"`
}

func (*ClusterManager_OutlierDetection) Descriptor

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

func (*ClusterManager_OutlierDetection) GetEventLogPath

func (m *ClusterManager_OutlierDetection) GetEventLogPath() string

func (*ClusterManager_OutlierDetection) Marshal

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

func (*ClusterManager_OutlierDetection) MarshalTo

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

func (*ClusterManager_OutlierDetection) ProtoMessage

func (*ClusterManager_OutlierDetection) ProtoMessage()

func (*ClusterManager_OutlierDetection) Reset

func (*ClusterManager_OutlierDetection) Size

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

func (*ClusterManager_OutlierDetection) String

func (*ClusterManager_OutlierDetection) Unmarshal

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

type ClusterStats

type ClusterStats struct {
	// The name of the cluster.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// Need at least one.
	UpstreamLocalityStats []*UpstreamLocalityStats `protobuf:"bytes,2,rep,name=upstream_locality_stats,json=upstreamLocalityStats" json:"upstream_locality_stats,omitempty"`
	// Cluster-level stats such as total_successful_requests may be computed by
	// summing upstream_locality_stats. In addition, below there are additional
	// cluster-wide stats. The following total_requests equality holds at the
	// cluster-level:
	//
	// .. code-block:: none
	//
	//   sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
	//     sum_locality(total_error_requests) + total_dropped_requests`
	//
	// The total number of dropped requests. This covers requests
	// deliberately dropped by the drop_overload policy and circuit breaking.
	TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"`
}

Per cluster load stats. Envoy reports these stats a management server in a :ref:`LoadStatsRequest<envoy_api_msg_LoadStatsRequest>` [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.

func (*ClusterStats) Descriptor

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

func (*ClusterStats) GetClusterName

func (m *ClusterStats) GetClusterName() string

func (*ClusterStats) GetTotalDroppedRequests

func (m *ClusterStats) GetTotalDroppedRequests() uint64

func (*ClusterStats) GetUpstreamLocalityStats

func (m *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats

func (*ClusterStats) Marshal

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

func (*ClusterStats) MarshalTo

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

func (*ClusterStats) ProtoMessage

func (*ClusterStats) ProtoMessage()

func (*ClusterStats) Reset

func (m *ClusterStats) Reset()

func (*ClusterStats) Size

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

func (*ClusterStats) String

func (m *ClusterStats) String() string

func (*ClusterStats) Unmarshal

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

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 *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"`
}

Only valid when discovery type is EDS.

func (*Cluster_EdsClusterConfig) Descriptor

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

func (*Cluster_EdsClusterConfig) GetEdsConfig

func (m *Cluster_EdsClusterConfig) GetEdsConfig() *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

type Cluster_GrpcProtocolOptions

type Cluster_GrpcProtocolOptions struct {
	GrpcProtocolOptions *GrpcProtocolOptions `protobuf:"bytes,15,opt,name=grpc_protocol_options,json=grpcProtocolOptions,oneof"`
}

func (*Cluster_GrpcProtocolOptions) MarshalTo

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

func (*Cluster_GrpcProtocolOptions) Size

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

type Cluster_Http2ProtocolOptions

type Cluster_Http2ProtocolOptions struct {
	Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,14,opt,name=http2_protocol_options,json=http2ProtocolOptions,oneof"`
}

func (*Cluster_Http2ProtocolOptions) MarshalTo

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

func (*Cluster_Http2ProtocolOptions) Size

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

type Cluster_HttpProtocolOptions

type Cluster_HttpProtocolOptions struct {
	HttpProtocolOptions *Http1ProtocolOptions `protobuf:"bytes,13,opt,name=http_protocol_options,json=httpProtocolOptions,oneof"`
}

func (*Cluster_HttpProtocolOptions) MarshalTo

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

func (*Cluster_HttpProtocolOptions) Size

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

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
)

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 *google_protobuf4.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"`
}

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) GetDefaultSubset

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

func (*Cluster_LbSubsetConfig) GetFallbackPolicy

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

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"`
}

Specifications for subsets.

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor

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

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

type Cluster_OutlierDetection

type Cluster_OutlierDetection struct {
	// The number of consecutive 5xx responses before a consecutive 5xx ejection
	// occurs. Defaults to 5.
	Consecutive_5Xx *google_protobuf.UInt32Value `protobuf:"bytes,1,opt,name=consecutive_5xx,json=consecutive5xx" json:"consecutive_5xx,omitempty"`
	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as hosts being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *google_protobuf2.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"`
	// The base time that a host is ejected for. The real time is equal to the
	// base time multiplied by the number of times the host has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *google_protobuf2.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime" json:"base_ejection_time,omitempty"`
	// The maximum % of an upstream cluster that can be ejected due to outlier
	// detection. Defaults to 10%.
	MaxEjectionPercent *google_protobuf.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent" json:"max_ejection_percent,omitempty"`
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive 5xx. This setting can be used to disable
	// ejection or to ramp it up slowly. Defaults to 100.
	EnforcingConsecutive_5Xx *google_protobuf.UInt32Value `protobuf:"bytes,5,opt,name=enforcing_consecutive_5xx,json=enforcingConsecutive5xx" json:"enforcing_consecutive_5xx,omitempty"`
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcingSuccessRate *google_protobuf.UInt32Value `protobuf:"bytes,6,opt,name=enforcing_success_rate,json=enforcingSuccessRate" json:"enforcing_success_rate,omitempty"`
	// The number of hosts in a cluster that must have enough request volume to
	// detect success rate outliers. If the number of hosts is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any host in the cluster. Defaults to 5.
	SuccessRateMinimumHosts *google_protobuf.UInt32Value `` /* 127-byte string literal not displayed */
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this host
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that host. Defaults to 100.
	SuccessRateRequestVolume *google_protobuf.UInt32Value `` /* 130-byte string literal not displayed */
	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	SuccessRateStdevFactor *google_protobuf.UInt32Value `protobuf:"bytes,9,opt,name=success_rate_stdev_factor,json=successRateStdevFactor" json:"success_rate_stdev_factor,omitempty"`
	// The number of consecutive gateway failures (502, 503, 504 status or
	// connection errors that are mapped to one of those status codes) before a
	// consecutive gateway failure ejection occurs. Defaults to 5.
	ConsecutiveGatewayFailure *google_protobuf.UInt32Value `` /* 132-byte string literal not displayed */
	// The % chance that a host will be actually ejected when an outlier status
	// is detected through consecutive gateway failures. This setting can be
	// used to disable ejection or to ramp it up slowly. Defaults to 0.
	EnforcingConsecutiveGatewayFailure *google_protobuf.UInt32Value `` /* 161-byte string literal not displayed */
}

See the :ref:`architecture overview <arch_overview_outlier_detection>` for more information on outlier detection.

func (*Cluster_OutlierDetection) Descriptor

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

func (*Cluster_OutlierDetection) GetBaseEjectionTime

func (m *Cluster_OutlierDetection) GetBaseEjectionTime() *google_protobuf2.Duration

func (*Cluster_OutlierDetection) GetConsecutiveGatewayFailure

func (m *Cluster_OutlierDetection) GetConsecutiveGatewayFailure() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetConsecutive_5Xx

func (m *Cluster_OutlierDetection) GetConsecutive_5Xx() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetEnforcingConsecutiveGatewayFailure

func (m *Cluster_OutlierDetection) GetEnforcingConsecutiveGatewayFailure() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetEnforcingConsecutive_5Xx

func (m *Cluster_OutlierDetection) GetEnforcingConsecutive_5Xx() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetEnforcingSuccessRate

func (m *Cluster_OutlierDetection) GetEnforcingSuccessRate() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetInterval

func (*Cluster_OutlierDetection) GetMaxEjectionPercent

func (m *Cluster_OutlierDetection) GetMaxEjectionPercent() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetSuccessRateMinimumHosts

func (m *Cluster_OutlierDetection) GetSuccessRateMinimumHosts() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetSuccessRateRequestVolume

func (m *Cluster_OutlierDetection) GetSuccessRateRequestVolume() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) GetSuccessRateStdevFactor

func (m *Cluster_OutlierDetection) GetSuccessRateStdevFactor() *google_protobuf.UInt32Value

func (*Cluster_OutlierDetection) Marshal

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

func (*Cluster_OutlierDetection) MarshalTo

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

func (*Cluster_OutlierDetection) ProtoMessage

func (*Cluster_OutlierDetection) ProtoMessage()

func (*Cluster_OutlierDetection) Reset

func (m *Cluster_OutlierDetection) Reset()

func (*Cluster_OutlierDetection) Size

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

func (*Cluster_OutlierDetection) String

func (m *Cluster_OutlierDetection) String() string

func (*Cluster_OutlierDetection) Unmarshal

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

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.
	MinimumRingSize *google_protobuf.UInt64Value `protobuf:"bytes,1,opt,name=minimum_ring_size,json=minimumRingSize" json:"minimum_ring_size,omitempty"`
	// Deprecated settings from v1 config.
	DeprecatedV1 *Cluster_RingHashLbConfig_DeprecatedV1 `protobuf:"bytes,2,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"`
}

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) GetDeprecatedV1

func (*Cluster_RingHashLbConfig) GetMinimumRingSize

func (m *Cluster_RingHashLbConfig) GetMinimumRingSize() *google_protobuf.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

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_) 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 *google_protobuf.BoolValue `protobuf:"bytes,1,opt,name=use_std_hash,json=useStdHash" json:"use_std_hash,omitempty"`
}

func (*Cluster_RingHashLbConfig_DeprecatedV1) Descriptor

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

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

type Cluster_TcpProtocolOptions

type Cluster_TcpProtocolOptions struct {
	TcpProtocolOptions *TcpProtocolOptions `protobuf:"bytes,12,opt,name=tcp_protocol_options,json=tcpProtocolOptions,oneof"`
}

func (*Cluster_TcpProtocolOptions) MarshalTo

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

func (*Cluster_TcpProtocolOptions) Size

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

type CommonTlsContext

type CommonTlsContext struct {
	// TLS protocol versions, cipher suites etc.
	TlsParams *TlsParameters `protobuf:"bytes,1,opt,name=tls_params,json=tlsParams" json:"tls_params,omitempty"`
	// Multiple TLS certificates can be associated with the same context.
	// E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
	//
	// .. attention::
	//
	//   Although this is a list, currently only a single certificate is supported. This will be
	//   relaxed in the future.
	TlsCertificates []*TlsCertificate `protobuf:"bytes,2,rep,name=tls_certificates,json=tlsCertificates" json:"tls_certificates,omitempty"`
	// [#not-implemented-hide:]
	TlsCertificateSdsSecretConfigs []*SdsSecretConfig `` /* 150-byte string literal not displayed */
	// How to validate peer certificates.
	ValidationContext *CertificateValidationContext `protobuf:"bytes,3,opt,name=validation_context,json=validationContext" json:"validation_context,omitempty"`
	// Supplies the list of ALPN protocols that the listener should expose. In
	// practice this is likely to be set to one of two values (see the
	// :ref:`codec_type <config_http_conn_man_codec_type>` parameter in the HTTP connection
	// manager for more information):
	//
	// * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
	// * "http/1.1" If the listener is only going to support HTTP/1.1.
	//
	// There is no default for this parameter. If empty, Envoy will not expose ALPN.
	AlpnProtocols []string `protobuf:"bytes,4,rep,name=alpn_protocols,json=alpnProtocols" json:"alpn_protocols,omitempty"`
	// [#not-implemented-hide:]
	DeprecatedV1 *CommonTlsContext_DeprecatedV1 `protobuf:"bytes,5,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"`
}

TLS context shared by both client and server TLS contexts.

func (*CommonTlsContext) Descriptor

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

func (*CommonTlsContext) GetAlpnProtocols

func (m *CommonTlsContext) GetAlpnProtocols() []string

func (*CommonTlsContext) GetDeprecatedV1

func (m *CommonTlsContext) GetDeprecatedV1() *CommonTlsContext_DeprecatedV1

func (*CommonTlsContext) GetTlsCertificateSdsSecretConfigs

func (m *CommonTlsContext) GetTlsCertificateSdsSecretConfigs() []*SdsSecretConfig

func (*CommonTlsContext) GetTlsCertificates

func (m *CommonTlsContext) GetTlsCertificates() []*TlsCertificate

func (*CommonTlsContext) GetTlsParams

func (m *CommonTlsContext) GetTlsParams() *TlsParameters

func (*CommonTlsContext) GetValidationContext

func (m *CommonTlsContext) GetValidationContext() *CertificateValidationContext

func (*CommonTlsContext) Marshal

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

func (*CommonTlsContext) MarshalTo

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

func (*CommonTlsContext) ProtoMessage

func (*CommonTlsContext) ProtoMessage()

func (*CommonTlsContext) Reset

func (m *CommonTlsContext) Reset()

func (*CommonTlsContext) Size

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

func (*CommonTlsContext) String

func (m *CommonTlsContext) String() string

func (*CommonTlsContext) Unmarshal

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

type CommonTlsContext_DeprecatedV1

type CommonTlsContext_DeprecatedV1 struct {
	AltAlpnProtocols string `protobuf:"bytes,1,opt,name=alt_alpn_protocols,json=altAlpnProtocols,proto3" json:"alt_alpn_protocols,omitempty"`
}

These fields are deprecated and only are used during the interim v1 -> v2 transition period for internal purposes. They should not be used outside of the Envoy binary. [#not-implemented-hide:]

func (*CommonTlsContext_DeprecatedV1) Descriptor

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

func (*CommonTlsContext_DeprecatedV1) GetAltAlpnProtocols

func (m *CommonTlsContext_DeprecatedV1) GetAltAlpnProtocols() string

func (*CommonTlsContext_DeprecatedV1) Marshal

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

func (*CommonTlsContext_DeprecatedV1) MarshalTo

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

func (*CommonTlsContext_DeprecatedV1) ProtoMessage

func (*CommonTlsContext_DeprecatedV1) ProtoMessage()

func (*CommonTlsContext_DeprecatedV1) Reset

func (m *CommonTlsContext_DeprecatedV1) Reset()

func (*CommonTlsContext_DeprecatedV1) Size

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

func (*CommonTlsContext_DeprecatedV1) String

func (*CommonTlsContext_DeprecatedV1) Unmarshal

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

type ConfigSource

type ConfigSource struct {
	// Types that are valid to be assigned to ConfigSourceSpecifier:
	//	*ConfigSource_Path
	//	*ConfigSource_ApiConfigSource
	//	*ConfigSource_Ads
	ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
}

Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters <config_cluster_manager_cluster>`, :ref:`routes <config_http_conn_man_route_table>`, :ref:`endpoints <arch_overview_service_discovery>` etc. may either be sourced from the filesystem or from an xDS API source. Filesystem configs are watched with inotify for updates.

func (*ConfigSource) Descriptor

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

func (*ConfigSource) GetAds

func (m *ConfigSource) GetAds() *AggregatedConfigSource

func (*ConfigSource) GetApiConfigSource

func (m *ConfigSource) GetApiConfigSource() *ApiConfigSource

func (*ConfigSource) GetConfigSourceSpecifier

func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier

func (*ConfigSource) GetPath

func (m *ConfigSource) GetPath() string

func (*ConfigSource) Marshal

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

func (*ConfigSource) MarshalTo

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

func (*ConfigSource) ProtoMessage

func (*ConfigSource) ProtoMessage()

func (*ConfigSource) Reset

func (m *ConfigSource) Reset()

func (*ConfigSource) Size

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

func (*ConfigSource) String

func (m *ConfigSource) String() string

func (*ConfigSource) Unmarshal

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

func (*ConfigSource) XXX_OneofFuncs

func (*ConfigSource) 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.

type ConfigSource_Ads

type ConfigSource_Ads struct {
	Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,oneof"`
}

func (*ConfigSource_Ads) MarshalTo

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

func (*ConfigSource_Ads) Size

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

type ConfigSource_ApiConfigSource

type ConfigSource_ApiConfigSource struct {
	ApiConfigSource *ApiConfigSource `protobuf:"bytes,2,opt,name=api_config_source,json=apiConfigSource,oneof"`
}

func (*ConfigSource_ApiConfigSource) MarshalTo

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

func (*ConfigSource_ApiConfigSource) Size

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

type ConfigSource_Path

type ConfigSource_Path struct {
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

func (*ConfigSource_Path) MarshalTo

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

func (*ConfigSource_Path) Size

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

type CorsPolicy

type CorsPolicy struct {
	// Specifies the origins that will be allowed to do CORS requests.
	AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin" json:"allow_origin,omitempty"`
	// Specifies the content for the *access-control-allow-methods* header.
	AllowMethods string `protobuf:"bytes,2,opt,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
	// Specifies the content for the *access-control-allow-headers* header.
	AllowHeaders string `protobuf:"bytes,3,opt,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
	// Specifies the content for the *access-control-expose-headers* header.
	ExposeHeaders string `protobuf:"bytes,4,opt,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
	// Specifies the content for the *access-control-max-age* header.
	MaxAge string `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
	// Specifies whether the resource allows credentials.
	AllowCredentials *google_protobuf.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials" json:"allow_credentials,omitempty"`
	// Specifies if CORS is enabled. Defaults to true. Only effective on route.
	Enabled *google_protobuf.BoolValue `protobuf:"bytes,7,opt,name=enabled" json:"enabled,omitempty"`
}

func (*CorsPolicy) Descriptor

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

func (*CorsPolicy) GetAllowCredentials

func (m *CorsPolicy) GetAllowCredentials() *google_protobuf.BoolValue

func (*CorsPolicy) GetAllowHeaders

func (m *CorsPolicy) GetAllowHeaders() string

func (*CorsPolicy) GetAllowMethods

func (m *CorsPolicy) GetAllowMethods() string

func (*CorsPolicy) GetAllowOrigin

func (m *CorsPolicy) GetAllowOrigin() []string

func (*CorsPolicy) GetEnabled

func (m *CorsPolicy) GetEnabled() *google_protobuf.BoolValue

func (*CorsPolicy) GetExposeHeaders

func (m *CorsPolicy) GetExposeHeaders() string

func (*CorsPolicy) GetMaxAge

func (m *CorsPolicy) GetMaxAge() string

func (*CorsPolicy) Marshal

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

func (*CorsPolicy) MarshalTo

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

func (*CorsPolicy) ProtoMessage

func (*CorsPolicy) ProtoMessage()

func (*CorsPolicy) Reset

func (m *CorsPolicy) Reset()

func (*CorsPolicy) Size

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

func (*CorsPolicy) String

func (m *CorsPolicy) String() string

func (*CorsPolicy) Unmarshal

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

type DataSource

type DataSource struct {
	// Types that are valid to be assigned to Specifier:
	//	*DataSource_Filename
	//	*DataSource_Inline
	Specifier isDataSource_Specifier `protobuf_oneof:"specifier"`
}

func (*DataSource) Descriptor

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

func (*DataSource) GetFilename

func (m *DataSource) GetFilename() string

func (*DataSource) GetInline

func (m *DataSource) GetInline() []byte

func (*DataSource) GetSpecifier

func (m *DataSource) GetSpecifier() isDataSource_Specifier

func (*DataSource) Marshal

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

func (*DataSource) MarshalTo

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

func (*DataSource) ProtoMessage

func (*DataSource) ProtoMessage()

func (*DataSource) Reset

func (m *DataSource) Reset()

func (*DataSource) Size

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

func (*DataSource) String

func (m *DataSource) String() string

func (*DataSource) Unmarshal

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

func (*DataSource) XXX_OneofFuncs

func (*DataSource) 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.

type DataSource_Filename

type DataSource_Filename struct {
	Filename string `protobuf:"bytes,1,opt,name=filename,proto3,oneof"`
}

func (*DataSource_Filename) MarshalTo

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

func (*DataSource_Filename) Size

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

type DataSource_Inline

type DataSource_Inline struct {
	Inline []byte `protobuf:"bytes,2,opt,name=inline,proto3,oneof"`
}

func (*DataSource_Inline) MarshalTo

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

func (*DataSource_Inline) Size

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

type Decorator

type Decorator struct {
	// The operation name associated with the request matched to this route. If tracing is
	// enabled, this information will be used as the span name reported for this request.
	//
	// .. note::
	//
	//   For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden
	//   by the :ref:`x-envoy-decorator-operation
	//   <config_http_filters_router_x-envoy-decorator-operation>` header.
	Operation string `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"`
}

func (*Decorator) Descriptor

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

func (*Decorator) GetOperation

func (m *Decorator) GetOperation() string

func (*Decorator) Marshal

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

func (*Decorator) MarshalTo

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

func (*Decorator) ProtoMessage

func (*Decorator) ProtoMessage()

func (*Decorator) Reset

func (m *Decorator) Reset()

func (*Decorator) Size

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

func (*Decorator) String

func (m *Decorator) String() string

func (*Decorator) Unmarshal

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

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 *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"`
}

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) GetNode

func (m *DiscoveryRequest) GetNode() *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

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 []*google_protobuf5.Any `protobuf:"bytes,2,rep,name=resources" json:"resources,omitempty"`
	// [#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"`
}

func (*DiscoveryResponse) Descriptor

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

func (*DiscoveryResponse) GetCanary

func (m *DiscoveryResponse) GetCanary() bool

func (*DiscoveryResponse) GetNonce

func (m *DiscoveryResponse) GetNonce() string

func (*DiscoveryResponse) GetResources

func (m *DiscoveryResponse) GetResources() []*google_protobuf5.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

type DogStatsdSink

type DogStatsdSink struct {
	// Types that are valid to be assigned to DogStatsdSpecifier:
	//	*DogStatsdSink_Address
	//	*DogStatsdSink_TcpClusterName
	DogStatsdSpecifier isDogStatsdSink_DogStatsdSpecifier `protobuf_oneof:"dog_statsd_specifier"`
}

Stats configuration proto schema for built-in *envoy.dog_statsd* sink. The sink emits stats with `DogStatsD <https://docs.datadoghq.com/guides/dogstatsd/>`_ compatible tags. Tags are configurable via :ref:`StatsConfig <envoy_api_msg_StatsConfig>`.

func (*DogStatsdSink) Descriptor

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

func (*DogStatsdSink) GetAddress

func (m *DogStatsdSink) GetAddress() *Address

func (*DogStatsdSink) GetDogStatsdSpecifier

func (m *DogStatsdSink) GetDogStatsdSpecifier() isDogStatsdSink_DogStatsdSpecifier

func (*DogStatsdSink) GetTcpClusterName

func (m *DogStatsdSink) GetTcpClusterName() string

func (*DogStatsdSink) Marshal

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

func (*DogStatsdSink) MarshalTo

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

func (*DogStatsdSink) ProtoMessage

func (*DogStatsdSink) ProtoMessage()

func (*DogStatsdSink) Reset

func (m *DogStatsdSink) Reset()

func (*DogStatsdSink) Size

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

func (*DogStatsdSink) String

func (m *DogStatsdSink) String() string

func (*DogStatsdSink) Unmarshal

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

func (*DogStatsdSink) XXX_OneofFuncs

func (*DogStatsdSink) 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.

type DogStatsdSink_Address

type DogStatsdSink_Address struct {
	Address *Address `protobuf:"bytes,1,opt,name=address,oneof"`
}

func (*DogStatsdSink_Address) MarshalTo

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

func (*DogStatsdSink_Address) Size

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

type DogStatsdSink_TcpClusterName

type DogStatsdSink_TcpClusterName struct {
	TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"`
}

func (*DogStatsdSink_TcpClusterName) MarshalTo

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

func (*DogStatsdSink_TcpClusterName) Size

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

type DownstreamTlsContext

type DownstreamTlsContext struct {
	// Common TLS context settings.
	CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext" json:"common_tls_context,omitempty"`
	// If specified, Envoy will reject connections without a valid client
	// certificate.
	RequireClientCertificate *google_protobuf.BoolValue `` /* 128-byte string literal not displayed */
	// If specified, Envoy will reject connections without a valid and matching SNI.
	// [#not-implemented-hide:]
	RequireSni *google_protobuf.BoolValue `protobuf:"bytes,3,opt,name=require_sni,json=requireSni" json:"require_sni,omitempty"`
	// Types that are valid to be assigned to SessionTicketKeysType:
	//	*DownstreamTlsContext_SessionTicketKeys
	//	*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig
	SessionTicketKeysType isDownstreamTlsContext_SessionTicketKeysType `protobuf_oneof:"session_ticket_keys_type"`
}

func (*DownstreamTlsContext) Descriptor

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

func (*DownstreamTlsContext) GetCommonTlsContext

func (m *DownstreamTlsContext) GetCommonTlsContext() *CommonTlsContext

func (*DownstreamTlsContext) GetRequireClientCertificate

func (m *DownstreamTlsContext) GetRequireClientCertificate() *google_protobuf.BoolValue

func (*DownstreamTlsContext) GetRequireSni

func (m *DownstreamTlsContext) GetRequireSni() *google_protobuf.BoolValue

func (*DownstreamTlsContext) GetSessionTicketKeys

func (m *DownstreamTlsContext) GetSessionTicketKeys() *TlsSessionTicketKeys

func (*DownstreamTlsContext) GetSessionTicketKeysSdsSecretConfig

func (m *DownstreamTlsContext) GetSessionTicketKeysSdsSecretConfig() *SdsSecretConfig

func (*DownstreamTlsContext) GetSessionTicketKeysType

func (m *DownstreamTlsContext) GetSessionTicketKeysType() isDownstreamTlsContext_SessionTicketKeysType

func (*DownstreamTlsContext) Marshal

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

func (*DownstreamTlsContext) MarshalTo

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

func (*DownstreamTlsContext) ProtoMessage

func (*DownstreamTlsContext) ProtoMessage()

func (*DownstreamTlsContext) Reset

func (m *DownstreamTlsContext) Reset()

func (*DownstreamTlsContext) Size

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

func (*DownstreamTlsContext) String

func (m *DownstreamTlsContext) String() string

func (*DownstreamTlsContext) Unmarshal

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

func (*DownstreamTlsContext) XXX_OneofFuncs

func (*DownstreamTlsContext) 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.

type DownstreamTlsContext_SessionTicketKeys

type DownstreamTlsContext_SessionTicketKeys struct {
	SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,4,opt,name=session_ticket_keys,json=sessionTicketKeys,oneof"`
}

func (*DownstreamTlsContext_SessionTicketKeys) MarshalTo

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

func (*DownstreamTlsContext_SessionTicketKeys) Size

type DownstreamTlsContext_SessionTicketKeysSdsSecretConfig

type DownstreamTlsContext_SessionTicketKeysSdsSecretConfig struct {
	SessionTicketKeysSdsSecretConfig *SdsSecretConfig `protobuf:"bytes,5,opt,name=session_ticket_keys_sds_secret_config,json=sessionTicketKeysSdsSecretConfig,oneof"`
}

func (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig) MarshalTo

func (*DownstreamTlsContext_SessionTicketKeysSdsSecretConfig) Size

type Endpoint

type Endpoint struct {
	Address *Address `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}

Upstream host identifier.

func (*Endpoint) Descriptor

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

func (*Endpoint) GetAddress

func (m *Endpoint) GetAddress() *Address

func (*Endpoint) Marshal

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

func (*Endpoint) MarshalTo

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

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) Reset

func (m *Endpoint) Reset()

func (*Endpoint) Size

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

func (*Endpoint) String

func (m *Endpoint) String() string

func (*Endpoint) Unmarshal

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

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)
	// Advanced API to allow for multi-dimensional load balancing by remote
	// server. For receiving LB assignments, the steps are:
	// 1, The management server is configured with per cluster/zone/load metric
	//    capacity configuration. The capacity configuration definition is
	//    outside of the scope of this document.
	// 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters
	//    to balance.
	//
	// Independently, Envoy will initiate a StreamLoadStats bidi stream with a
	// management server:
	// 1. Once a connection establishes, the management server publishes a
	//    LoadStatsResponse for all clusters it is interested in learning load
	//    stats about.
	// 2. For each cluster, Envoy load balances incoming traffic to upstream hosts
	//    based on per-zone weights and/or per-instance weights (if specified)
	//    based on intra-zone LbPolicy. This information comes from the above
	//    {Stream,Fetch}Endpoints.
	// 3. When upstream hosts reply, they optionally add header <define header
	//    name> with ASCII representation of EndpointLoadMetricStats.
	// 4. Envoy aggregates load reports over the period of time given to it in
	//    LoadStatsResponse.load_reporting_interval. This includes aggregation
	//    stats Envoy maintains by itself (total_requests, rpc_errors etc.) as
	//    well as load metrics from upstream hosts.
	// 5. When the timer of load_reporting_interval expires, Envoy sends new
	//    LoadStatsRequest filled with load reports for each cluster.
	// 6. The management server uses the load reports from all reported Envoys
	//    from around the world, computes global assignment and prepares traffic
	//    assignment destined for each zone Envoys are located in. Goto 2.
	StreamLoadStats(ctx context.Context, opts ...grpc.CallOption) (EndpointDiscoveryService_StreamLoadStatsClient, 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)
	// Advanced API to allow for multi-dimensional load balancing by remote
	// server. For receiving LB assignments, the steps are:
	// 1, The management server is configured with per cluster/zone/load metric
	//    capacity configuration. The capacity configuration definition is
	//    outside of the scope of this document.
	// 2. Envoy issues a standard {Stream,Fetch}Endpoints request for the clusters
	//    to balance.
	//
	// Independently, Envoy will initiate a StreamLoadStats bidi stream with a
	// management server:
	// 1. Once a connection establishes, the management server publishes a
	//    LoadStatsResponse for all clusters it is interested in learning load
	//    stats about.
	// 2. For each cluster, Envoy load balances incoming traffic to upstream hosts
	//    based on per-zone weights and/or per-instance weights (if specified)
	//    based on intra-zone LbPolicy. This information comes from the above
	//    {Stream,Fetch}Endpoints.
	// 3. When upstream hosts reply, they optionally add header <define header
	//    name> with ASCII representation of EndpointLoadMetricStats.
	// 4. Envoy aggregates load reports over the period of time given to it in
	//    LoadStatsResponse.load_reporting_interval. This includes aggregation
	//    stats Envoy maintains by itself (total_requests, rpc_errors etc.) as
	//    well as load metrics from upstream hosts.
	// 5. When the timer of load_reporting_interval expires, Envoy sends new
	//    LoadStatsRequest filled with load reports for each cluster.
	// 6. The management server uses the load reports from all reported Envoys
	//    from around the world, computes global assignment and prepares traffic
	//    assignment destined for each zone Envoys are located in. Goto 2.
	StreamLoadStats(EndpointDiscoveryService_StreamLoadStatsServer) 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 EndpointDiscoveryService_StreamLoadStatsClient

type EndpointDiscoveryService_StreamLoadStatsClient interface {
	Send(*LoadStatsRequest) error
	Recv() (*LoadStatsResponse, error)
	grpc.ClientStream
}

type EndpointDiscoveryService_StreamLoadStatsServer

type EndpointDiscoveryService_StreamLoadStatsServer interface {
	Send(*LoadStatsResponse) error
	Recv() (*LoadStatsRequest, error)
	grpc.ServerStream
}

type EndpointHealth

type EndpointHealth struct {
	Endpoint     *Endpoint    `protobuf:"bytes,1,opt,name=endpoint" json:"endpoint,omitempty"`
	HealthStatus HealthStatus `` /* 129-byte string literal not displayed */
}

func (*EndpointHealth) Descriptor

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

func (*EndpointHealth) GetEndpoint

func (m *EndpointHealth) GetEndpoint() *Endpoint

func (*EndpointHealth) GetHealthStatus

func (m *EndpointHealth) GetHealthStatus() HealthStatus

func (*EndpointHealth) Marshal

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

func (*EndpointHealth) MarshalTo

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

func (*EndpointHealth) ProtoMessage

func (*EndpointHealth) ProtoMessage()

func (*EndpointHealth) Reset

func (m *EndpointHealth) Reset()

func (*EndpointHealth) Size

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

func (*EndpointHealth) String

func (m *EndpointHealth) String() string

func (*EndpointHealth) Unmarshal

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

type EndpointHealthResponse

type EndpointHealthResponse struct {
	EndpointsHealth []*EndpointHealth `protobuf:"bytes,1,rep,name=endpoints_health,json=endpointsHealth" json:"endpoints_health,omitempty"`
}

func (*EndpointHealthResponse) Descriptor

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

func (*EndpointHealthResponse) GetEndpointsHealth

func (m *EndpointHealthResponse) GetEndpointsHealth() []*EndpointHealth

func (*EndpointHealthResponse) Marshal

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

func (*EndpointHealthResponse) MarshalTo

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

func (*EndpointHealthResponse) ProtoMessage

func (*EndpointHealthResponse) ProtoMessage()

func (*EndpointHealthResponse) Reset

func (m *EndpointHealthResponse) Reset()

func (*EndpointHealthResponse) Size

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

func (*EndpointHealthResponse) String

func (m *EndpointHealthResponse) String() string

func (*EndpointHealthResponse) Unmarshal

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

type EndpointLoadMetricStats

type EndpointLoadMetricStats struct {
	// Name of the metric; may be empty.
	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	// Number of calls that finished and included this metric.
	NumRequestsFinishedWithMetric uint64 `` /* 155-byte string literal not displayed */
	// Sum of metric values across all calls that finished with this metric for
	// load_reporting_interval.
	TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"`
}

[#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.

func (*EndpointLoadMetricStats) Descriptor

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

func (*EndpointLoadMetricStats) GetMetricName

func (m *EndpointLoadMetricStats) GetMetricName() string

func (*EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric

func (m *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64

func (*EndpointLoadMetricStats) GetTotalMetricValue

func (m *EndpointLoadMetricStats) GetTotalMetricValue() float64

func (*EndpointLoadMetricStats) Marshal

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

func (*EndpointLoadMetricStats) MarshalTo

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

func (*EndpointLoadMetricStats) ProtoMessage

func (*EndpointLoadMetricStats) ProtoMessage()

func (*EndpointLoadMetricStats) Reset

func (m *EndpointLoadMetricStats) Reset()

func (*EndpointLoadMetricStats) Size

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

func (*EndpointLoadMetricStats) String

func (m *EndpointLoadMetricStats) String() string

func (*EndpointLoadMetricStats) Unmarshal

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

type Filter

type Filter struct {
	// The name of the filter to instantiate. The name must match a supported
	// filter. The built-in filters are:
	//
	// [#comment:TODO(mattklein123): Auto generate the following list]
	// * :ref:`envoy.client_ssl_auth<config_network_filters_client_ssl_auth>`
	// * :ref:`envoy.echo <config_network_filters_echo>`
	// * :ref:`envoy.http_connection_manager <config_http_conn_man>`
	// * :ref:`envoy.mongo_proxy <config_network_filters_mongo_proxy>`
	// * :ref:`envoy.ratelimit <config_network_filters_rate_limit>`
	// * :ref:`envoy.redis_proxy <config_network_filters_redis_proxy>`
	// * :ref:`envoy.tcp_proxy <config_network_filters_tcp_proxy>`
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Filter specific configuration which depends on the filter being
	// instantiated. See the supported filters for further documentation.
	Config *google_protobuf4.Struct `protobuf:"bytes,2,opt,name=config" json:"config,omitempty"`
	// [#not-implemented-hide:]
	DeprecatedV1 *Filter_DeprecatedV1 `protobuf:"bytes,3,opt,name=deprecated_v1,json=deprecatedV1" json:"deprecated_v1,omitempty"`
}

func (*Filter) Descriptor

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

func (*Filter) GetConfig

func (m *Filter) GetConfig() *google_protobuf4.Struct

func (*Filter) GetDeprecatedV1

func (m *Filter) GetDeprecatedV1() *Filter_DeprecatedV1

func (*Filter) GetName

func (m *Filter) GetName() string

func (*Filter) Marshal

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

func (*Filter) MarshalTo

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

func (*Filter) ProtoMessage

func (*Filter) ProtoMessage()

func (*Filter) Reset

func (m *Filter) Reset()

func (*Filter) Size

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

func (*Filter) String

func (m *Filter) String() string

func (*Filter) Unmarshal

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

type FilterChain

type FilterChain struct {
	// The criteria to use when matching a connection to this filter chain.
	FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch" json:"filter_chain_match,omitempty"`
	// The TLS context for this filter chain.
	TlsContext *DownstreamTlsContext `protobuf:"bytes,2,opt,name=tls_context,json=tlsContext" json:"tls_context,omitempty"`
	// A list of individual network filters that make up the filter chain for
	// connections established with the listener. Order matters as the filters are
	// processed sequentially as connection events happen. Note: If the filter
	// list is empty, the connection will close by default.
	Filters []*Filter `protobuf:"bytes,3,rep,name=filters" json:"filters,omitempty"`
	// Whether the listener should expect a PROXY protocol V1 header on new
	// connections. If this option is enabled, the listener will assume that that
	// remote address of the connection is the one specified in the header. Some
	// load balancers including the AWS ELB support this option. If the option is
	// absent or set to false, Envoy will use the physical peer address of the
	// connection as the remote address.
	UseProxyProto *google_protobuf.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto" json:"use_proxy_proto,omitempty"`
	// [#not-implemented-hide:] filter chain metadata.
	Metadata *Metadata `protobuf:"bytes,5,opt,name=metadata" json:"metadata,omitempty"`
	// [#not-implemented-hide:] See base.TransportSocket description.
	TransportSocket *TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket" json:"transport_socket,omitempty"`
}

A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and various other parameters.

func (*FilterChain) Descriptor

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

func (*FilterChain) GetFilterChainMatch

func (m *FilterChain) GetFilterChainMatch() *FilterChainMatch

func (*FilterChain) GetFilters

func (m *FilterChain) GetFilters() []*Filter

func (*FilterChain) GetMetadata

func (m *FilterChain) GetMetadata() *Metadata

func (*FilterChain) GetTlsContext

func (m *FilterChain) GetTlsContext() *DownstreamTlsContext

func (*FilterChain) GetTransportSocket

func (m *FilterChain) GetTransportSocket() *TransportSocket

func (*FilterChain) GetUseProxyProto

func (m *FilterChain) GetUseProxyProto() *google_protobuf.BoolValue

func (*FilterChain) Marshal

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

func (*FilterChain) MarshalTo

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

func (*FilterChain) ProtoMessage

func (*FilterChain) ProtoMessage()

func (*FilterChain) Reset

func (m *FilterChain) Reset()

func (*FilterChain) Size

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

func (*FilterChain) String

func (m *FilterChain) String() string

func (*FilterChain) Unmarshal

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

type FilterChainMatch

type FilterChainMatch struct {
	// If non-empty, the SNI domains to consider. May contain a wildcard prefix,
	// e.g. “*.example.com“.
	//
	// .. attention::
	//
	//   See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
	//   information.
	SniDomains []string `protobuf:"bytes,1,rep,name=sni_domains,json=sniDomains" json:"sni_domains,omitempty"`
	// If non-empty, an IP address and prefix length to match addresses when the
	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
	// [#not-implemented-hide:]
	PrefixRanges []*CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges" json:"prefix_ranges,omitempty"`
	// If non-empty, an IP address and suffix length to match addresses when the
	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
	// [#not-implemented-hide:]
	AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"`
	// [#not-implemented-hide:]
	SuffixLen *google_protobuf.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen" json:"suffix_len,omitempty"`
	// The criteria is satisfied if the source IP address of the downstream
	// connection is contained in at least one of the specified subnets. If the
	// parameter is not specified or the list is empty, the source IP address is
	// ignored.
	// [#not-implemented-hide:]
	SourcePrefixRanges []*CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges" json:"source_prefix_ranges,omitempty"`
	// The criteria is satisfied if the source port of the downstream connection
	// is contained in at least one of the specified ports. If the parameter is
	// not specified, the source port is ignored.
	// [#not-implemented-hide:]
	SourcePorts []*google_protobuf.UInt32Value `protobuf:"bytes,7,rep,name=source_ports,json=sourcePorts" json:"source_ports,omitempty"`
	// Optional destination port to consider when use_original_dst is set on the
	// listener in determining a filter chain match.
	// [#not-implemented-hide:]
	DestinationPort *google_protobuf.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort" json:"destination_port,omitempty"`
}

Specifies the match criteria for selecting a specific filter chain for a listener.

func (*FilterChainMatch) Descriptor

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

func (*FilterChainMatch) GetAddressSuffix

func (m *FilterChainMatch) GetAddressSuffix() string

func (*FilterChainMatch) GetDestinationPort

func (m *FilterChainMatch) GetDestinationPort() *google_protobuf.UInt32Value

func (*FilterChainMatch) GetPrefixRanges

func (m *FilterChainMatch) GetPrefixRanges() []*CidrRange

func (*FilterChainMatch) GetSniDomains

func (m *FilterChainMatch) GetSniDomains() []string

func (*FilterChainMatch) GetSourcePorts

func (m *FilterChainMatch) GetSourcePorts() []*google_protobuf.UInt32Value

func (*FilterChainMatch) GetSourcePrefixRanges

func (m *FilterChainMatch) GetSourcePrefixRanges() []*CidrRange

func (*FilterChainMatch) GetSuffixLen

func (m *FilterChainMatch) GetSuffixLen() *google_protobuf.UInt32Value

func (*FilterChainMatch) Marshal

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

func (*FilterChainMatch) MarshalTo

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

func (*FilterChainMatch) ProtoMessage

func (*FilterChainMatch) ProtoMessage()

func (*FilterChainMatch) Reset

func (m *FilterChainMatch) Reset()

func (*FilterChainMatch) Size

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

func (*FilterChainMatch) String

func (m *FilterChainMatch) String() string

func (*FilterChainMatch) Unmarshal

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

type Filter_DeprecatedV1

type Filter_DeprecatedV1 struct {
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
}

[#not-implemented-hide:]

func (*Filter_DeprecatedV1) Descriptor

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

func (*Filter_DeprecatedV1) GetType

func (m *Filter_DeprecatedV1) GetType() string

func (*Filter_DeprecatedV1) Marshal

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

func (*Filter_DeprecatedV1) MarshalTo

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

func (*Filter_DeprecatedV1) ProtoMessage

func (*Filter_DeprecatedV1) ProtoMessage()

func (*Filter_DeprecatedV1) Reset

func (m *Filter_DeprecatedV1) Reset()

func (*Filter_DeprecatedV1) Size

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

func (*Filter_DeprecatedV1) String

func (m *Filter_DeprecatedV1) String() string

func (*Filter_DeprecatedV1) Unmarshal

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

type GrpcProtocolOptions

type GrpcProtocolOptions struct {
	Http2ProtocolOptions *Http2ProtocolOptions `protobuf:"bytes,1,opt,name=http2_protocol_options,json=http2ProtocolOptions" json:"http2_protocol_options,omitempty"`
}

[#not-implemented-hide:]

func (*GrpcProtocolOptions) Descriptor

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

func (*GrpcProtocolOptions) GetHttp2ProtocolOptions

func (m *GrpcProtocolOptions) GetHttp2ProtocolOptions() *Http2ProtocolOptions

func (*GrpcProtocolOptions) Marshal

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

func (*GrpcProtocolOptions) MarshalTo

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

func (*GrpcProtocolOptions) ProtoMessage

func (*GrpcProtocolOptions) ProtoMessage()

func (*GrpcProtocolOptions) Reset

func (m *GrpcProtocolOptions) Reset()

func (*GrpcProtocolOptions) Size

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

func (*GrpcProtocolOptions) String

func (m *GrpcProtocolOptions) String() string

func (*GrpcProtocolOptions) Unmarshal

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

type HeaderMatcher

type HeaderMatcher struct {
	// Specifies the name of the header in the request.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Specifies the value of the header. If the value is absent a request that
	// has the name header will match, regardless of the header’s value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// Specifies whether the header value is a regular
	// expression or not. Defaults to false. The entire request header value must match the regex. The
	// rule will not match if only a subsequence of the request header value matches the regex. The
	// regex grammar used in the value field is defined
	// `here <http://en.cppreference.com/w/cpp/regex/ecmascript>`_.
	//
	// Examples:
	//
	// * The regex *\d{3}* matches the value *123*
	// * The regex *\d{3}* does not match the value *1234*
	// * The regex *\d{3}* does not match the value *123.456*
	Regex *google_protobuf.BoolValue `protobuf:"bytes,3,opt,name=regex" json:"regex,omitempty"`
}

.. attention::

Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host*
header. Thus, if attempting to match on *Host*, match on *:authority* instead.

.. attention::

To route on HTTP method, use the special HTTP/2 *:method* header. This works for both
HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g.,

.. code-block:: json

  {
    "name": ":method",
    "value": "POST"
  }

func (*HeaderMatcher) Descriptor

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

func (*HeaderMatcher) GetName

func (m *HeaderMatcher) GetName() string

func (*HeaderMatcher) GetRegex

func (m *HeaderMatcher) GetRegex() *google_protobuf.BoolValue

func (*HeaderMatcher) GetValue

func (m *HeaderMatcher) GetValue() string

func (*HeaderMatcher) Marshal

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

func (*HeaderMatcher) MarshalTo

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

func (*HeaderMatcher) ProtoMessage

func (*HeaderMatcher) ProtoMessage()

func (*HeaderMatcher) Reset

func (m *HeaderMatcher) Reset()

func (*HeaderMatcher) Size

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

func (*HeaderMatcher) String

func (m *HeaderMatcher) String() string

func (*HeaderMatcher) Unmarshal

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

type HeaderValue

type HeaderValue struct {
	// Header name.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Header value.
	//
	// The same :ref:`format specifier <config_access_log_format>` as used for
	// :ref:`HTTP access logging <config_access_log>` applies here, however
	// unknown header values are replaced with the empty string instead of `-`.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

Header name/value pair.

func (*HeaderValue) Descriptor

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

func (*HeaderValue) GetKey

func (m *HeaderValue) GetKey() string

func (*HeaderValue) GetValue

func (m *HeaderValue) GetValue() string

func (*HeaderValue) Marshal

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

func (*HeaderValue) MarshalTo

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

func (*HeaderValue) ProtoMessage

func (*HeaderValue) ProtoMessage()

func (*HeaderValue) Reset

func (m *HeaderValue) Reset()

func (*HeaderValue) Size

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

func (*HeaderValue) String

func (m *HeaderValue) String() string

func (*HeaderValue) Unmarshal

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

type HeaderValueOption

type HeaderValueOption struct {
	// Header name/value pair that this option applies to.
	Header *HeaderValue `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
	// Should the value be appended? If true (default), the value is appended to
	// existing values.
	Append *google_protobuf.BoolValue `protobuf:"bytes,2,opt,name=append" json:"append,omitempty"`
}

Header name/value pair plus option to control append behavior.

func (*HeaderValueOption) Descriptor

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

func (*HeaderValueOption) GetAppend

func (*HeaderValueOption) GetHeader

func (m *HeaderValueOption) GetHeader() *HeaderValue

func (*HeaderValueOption) Marshal

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

func (*HeaderValueOption) MarshalTo

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

func (*HeaderValueOption) ProtoMessage

func (*HeaderValueOption) ProtoMessage()

func (*HeaderValueOption) Reset

func (m *HeaderValueOption) Reset()

func (*HeaderValueOption) Size

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

func (*HeaderValueOption) String

func (m *HeaderValueOption) String() string

func (*HeaderValueOption) Unmarshal

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

type HealthCheck

type HealthCheck struct {
	// The time to wait for a health check response. If the timeout is reached the
	// health check attempt will be considered a failure.
	Timeout *google_protobuf2.Duration `protobuf:"bytes,1,opt,name=timeout" json:"timeout,omitempty"`
	// The interval between health checks.
	Interval *google_protobuf2.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"`
	// An optional jitter amount in millseconds. If specified, during every
	// internal Envoy will add 0 to interval_jitter to the wait time.
	IntervalJitter *google_protobuf2.Duration `protobuf:"bytes,3,opt,name=interval_jitter,json=intervalJitter" json:"interval_jitter,omitempty"`
	// The number of unhealthy health checks required before a host is marked
	// unhealthy. Note that for *http* health checking if a host responds with 503
	// this threshold is ignored and the host is considered unhealthy immediately.
	UnhealthyThreshold *google_protobuf.UInt32Value `protobuf:"bytes,4,opt,name=unhealthy_threshold,json=unhealthyThreshold" json:"unhealthy_threshold,omitempty"`
	// The number of healthy health checks required before a host is marked
	// healthy. Note that during startup, only a single successful health check is
	// required to mark a host healthy.
	HealthyThreshold *google_protobuf.UInt32Value `protobuf:"bytes,5,opt,name=healthy_threshold,json=healthyThreshold" json:"healthy_threshold,omitempty"`
	// [#not-implemented-hide:] Non-serving port for health checking.
	AltPort *google_protobuf.UInt32Value `protobuf:"bytes,6,opt,name=alt_port,json=altPort" json:"alt_port,omitempty"`
	// Reuse health check connection between health checks. Default is true.
	ReuseConnection *google_protobuf.BoolValue `protobuf:"bytes,7,opt,name=reuse_connection,json=reuseConnection" json:"reuse_connection,omitempty"`
	// Types that are valid to be assigned to HealthChecker:
	//	*HealthCheck_HttpHealthCheck_
	//	*HealthCheck_TcpHealthCheck_
	//	*HealthCheck_RedisHealthCheck_
	HealthChecker isHealthCheck_HealthChecker `protobuf_oneof:"health_checker"`
}

func (*HealthCheck) Descriptor

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

func (*HealthCheck) GetAltPort

func (m *HealthCheck) GetAltPort() *google_protobuf.UInt32Value

func (*HealthCheck) GetHealthChecker

func (m *HealthCheck) GetHealthChecker() isHealthCheck_HealthChecker

func (*HealthCheck) GetHealthyThreshold

func (m *HealthCheck) GetHealthyThreshold() *google_protobuf.UInt32Value

func (*HealthCheck) GetHttpHealthCheck

func (m *HealthCheck) GetHttpHealthCheck() *HealthCheck_HttpHealthCheck

func (*HealthCheck) GetInterval

func (m *HealthCheck) GetInterval() *google_protobuf2.Duration

func (*HealthCheck) GetIntervalJitter

func (m *HealthCheck) GetIntervalJitter() *google_protobuf2.Duration

func (*HealthCheck) GetRedisHealthCheck

func (m *HealthCheck) GetRedisHealthCheck() *HealthCheck_RedisHealthCheck

func (*HealthCheck) GetReuseConnection

func (m *HealthCheck) GetReuseConnection() *google_protobuf.BoolValue

func (*HealthCheck) GetTcpHealthCheck

func (m *HealthCheck) GetTcpHealthCheck() *HealthCheck_TcpHealthCheck

func (*HealthCheck) GetTimeout

func (m *HealthCheck) GetTimeout() *google_protobuf2.Duration

func (*HealthCheck) GetUnhealthyThreshold

func (m *HealthCheck) GetUnhealthyThreshold() *google_protobuf.UInt32Value

func (*HealthCheck) Marshal

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

func (*HealthCheck) MarshalTo

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

func (*HealthCheck) ProtoMessage

func (*HealthCheck) ProtoMessage()

func (*HealthCheck) Reset

func (m *HealthCheck) Reset()

func (*HealthCheck) Size

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

func (*HealthCheck) String

func (m *HealthCheck) String() string

func (*HealthCheck) Unmarshal

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

func (*HealthCheck) XXX_OneofFuncs

func (*HealthCheck) 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.

type HealthCheckRequest

type HealthCheckRequest struct {
	Node       *Node       `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
	Capability *Capability `protobuf:"bytes,2,opt,name=capability" json:"capability,omitempty"`
}

func (*HealthCheckRequest) Descriptor

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

func (*HealthCheckRequest) GetCapability

func (m *HealthCheckRequest) GetCapability() *Capability

func (*HealthCheckRequest) GetNode

func (m *HealthCheckRequest) GetNode() *Node

func (*HealthCheckRequest) Marshal

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

func (*HealthCheckRequest) MarshalTo

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

func (*HealthCheckRequest) ProtoMessage

func (*HealthCheckRequest) ProtoMessage()

func (*HealthCheckRequest) Reset

func (m *HealthCheckRequest) Reset()

func (*HealthCheckRequest) Size

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

func (*HealthCheckRequest) String

func (m *HealthCheckRequest) String() string

func (*HealthCheckRequest) Unmarshal

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

type HealthCheckRequestOrEndpointHealthResponse

type HealthCheckRequestOrEndpointHealthResponse struct {
	// Types that are valid to be assigned to RequestType:
	//	*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest
	//	*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse
	RequestType isHealthCheckRequestOrEndpointHealthResponse_RequestType `protobuf_oneof:"request_type"`
}

func (*HealthCheckRequestOrEndpointHealthResponse) Descriptor

func (*HealthCheckRequestOrEndpointHealthResponse) GetEndpointHealthResponse

func (*HealthCheckRequestOrEndpointHealthResponse) GetHealthCheckRequest

func (*HealthCheckRequestOrEndpointHealthResponse) GetRequestType

func (m *HealthCheckRequestOrEndpointHealthResponse) GetRequestType() isHealthCheckRequestOrEndpointHealthResponse_RequestType

func (*HealthCheckRequestOrEndpointHealthResponse) Marshal

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

func (*HealthCheckRequestOrEndpointHealthResponse) MarshalTo

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

func (*HealthCheckRequestOrEndpointHealthResponse) ProtoMessage

func (*HealthCheckRequestOrEndpointHealthResponse) Reset

func (*HealthCheckRequestOrEndpointHealthResponse) Size

func (*HealthCheckRequestOrEndpointHealthResponse) String

func (*HealthCheckRequestOrEndpointHealthResponse) Unmarshal

func (*HealthCheckRequestOrEndpointHealthResponse) XXX_OneofFuncs

func (*HealthCheckRequestOrEndpointHealthResponse) 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.

type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse

type HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse struct {
	EndpointHealthResponse *EndpointHealthResponse `protobuf:"bytes,2,opt,name=endpoint_health_response,json=endpointHealthResponse,oneof"`
}

func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) MarshalTo

func (*HealthCheckRequestOrEndpointHealthResponse_EndpointHealthResponse) Size

type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest

type HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest struct {
	HealthCheckRequest *HealthCheckRequest `protobuf:"bytes,1,opt,name=health_check_request,json=healthCheckRequest,oneof"`
}

func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) MarshalTo

func (*HealthCheckRequestOrEndpointHealthResponse_HealthCheckRequest) Size

type HealthCheckSpecifier

type HealthCheckSpecifier struct {
	HealthCheck []*ClusterHealthCheck `protobuf:"bytes,1,rep,name=health_check,json=healthCheck" json:"health_check,omitempty"`
	// The default is 1 second.
	Interval *google_protobuf2.Duration `protobuf:"bytes,2,opt,name=interval" json:"interval,omitempty"`
}

func (*HealthCheckSpecifier) Descriptor

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

func (*HealthCheckSpecifier) GetHealthCheck

func (m *HealthCheckSpecifier) GetHealthCheck() []*ClusterHealthCheck

func (*HealthCheckSpecifier) GetInterval

func (*HealthCheckSpecifier) Marshal

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

func (*HealthCheckSpecifier) MarshalTo

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

func (*HealthCheckSpecifier) ProtoMessage

func (*HealthCheckSpecifier) ProtoMessage()

func (*HealthCheckSpecifier) Reset

func (m *HealthCheckSpecifier) Reset()

func (*HealthCheckSpecifier) Size

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

func (*HealthCheckSpecifier) String

func (m *HealthCheckSpecifier) String() string

func (*HealthCheckSpecifier) Unmarshal

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

type HealthCheck_HttpHealthCheck

type HealthCheck_HttpHealthCheck struct {
	// [#not-implemented-hide:] The value of the host header in the HTTPS health check request. If
	// left empty (default value), the IP on behalf of which this health check is performed will be
	// used.
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// Specifies the HTTP path that will be requested during health checking. For example
	// */healthcheck*.
	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// [#not-implemented-hide:] HTTP specific payload.
	Send *HealthCheck_Payload `protobuf:"bytes,3,opt,name=send" json:"send,omitempty"`
	// [#not-implemented-hide:] HTTP specific response.
	Receive *HealthCheck_Payload `protobuf:"bytes,4,opt,name=receive" json:"receive,omitempty"`
	// An optional service name parameter which is used to validate the identity of
	// the health checked cluster. See the :ref:`architecture overview
	// <arch_overview_health_checking_identity>` for more information.
	ServiceName string `protobuf:"bytes,5,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
}

func (*HealthCheck_HttpHealthCheck) Descriptor

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

func (*HealthCheck_HttpHealthCheck) GetHost

func (m *HealthCheck_HttpHealthCheck) GetHost() string

func (*HealthCheck_HttpHealthCheck) GetPath

func (m *HealthCheck_HttpHealthCheck) GetPath() string

func (*HealthCheck_HttpHealthCheck) GetReceive

func (*HealthCheck_HttpHealthCheck) GetSend

func (*HealthCheck_HttpHealthCheck) GetServiceName

func (m *HealthCheck_HttpHealthCheck) GetServiceName() string

func (*HealthCheck_HttpHealthCheck) Marshal

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

func (*HealthCheck_HttpHealthCheck) MarshalTo

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

func (*HealthCheck_HttpHealthCheck) ProtoMessage

func (*HealthCheck_HttpHealthCheck) ProtoMessage()

func (*HealthCheck_HttpHealthCheck) Reset

func (m *HealthCheck_HttpHealthCheck) Reset()

func (*HealthCheck_HttpHealthCheck) Size

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

func (*HealthCheck_HttpHealthCheck) String

func (m *HealthCheck_HttpHealthCheck) String() string

func (*HealthCheck_HttpHealthCheck) Unmarshal

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

type HealthCheck_HttpHealthCheck_

type HealthCheck_HttpHealthCheck_ struct {
	HttpHealthCheck *HealthCheck_HttpHealthCheck `protobuf:"bytes,8,opt,name=http_health_check,json=httpHealthCheck,oneof"`
}

func (*HealthCheck_HttpHealthCheck_) MarshalTo

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

func (*HealthCheck_HttpHealthCheck_) Size

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

type HealthCheck_Payload

type HealthCheck_Payload struct {
	// Types that are valid to be assigned to Payload:
	//	*HealthCheck_Payload_Text
	//	*HealthCheck_Payload_Binary
	Payload isHealthCheck_Payload_Payload `protobuf_oneof:"payload"`
}

Describes the encoding of the payload bytes in the payload.

func (*HealthCheck_Payload) Descriptor

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

func (*HealthCheck_Payload) GetBinary

func (m *HealthCheck_Payload) GetBinary() []byte

func (*HealthCheck_Payload) GetPayload

func (m *HealthCheck_Payload) GetPayload() isHealthCheck_Payload_Payload

func (*HealthCheck_Payload) GetText

func (m *HealthCheck_Payload) GetText() string

func (*HealthCheck_Payload) Marshal

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

func (*HealthCheck_Payload) MarshalTo

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

func (*HealthCheck_Payload) ProtoMessage

func (*HealthCheck_Payload) ProtoMessage()

func (*HealthCheck_Payload) Reset

func (m *HealthCheck_Payload) Reset()

func (*HealthCheck_Payload) Size

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

func (*HealthCheck_Payload) String

func (m *HealthCheck_Payload) String() string

func (*HealthCheck_Payload) Unmarshal

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

func (*HealthCheck_Payload) XXX_OneofFuncs

func (*HealthCheck_Payload) 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.

type HealthCheck_Payload_Binary

type HealthCheck_Payload_Binary struct {
	Binary []byte `protobuf:"bytes,2,opt,name=binary,proto3,oneof"`
}

func (*HealthCheck_Payload_Binary) MarshalTo

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

func (*HealthCheck_Payload_Binary) Size

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

type HealthCheck_Payload_Text

type HealthCheck_Payload_Text struct {
	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
}

func (*HealthCheck_Payload_Text) MarshalTo

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

func (*HealthCheck_Payload_Text) Size

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

type HealthCheck_RedisHealthCheck

type HealthCheck_RedisHealthCheck struct {
}

func (*HealthCheck_RedisHealthCheck) Descriptor

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

func (*HealthCheck_RedisHealthCheck) Marshal

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

func (*HealthCheck_RedisHealthCheck) MarshalTo

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

func (*HealthCheck_RedisHealthCheck) ProtoMessage

func (*HealthCheck_RedisHealthCheck) ProtoMessage()

func (*HealthCheck_RedisHealthCheck) Reset

func (m *HealthCheck_RedisHealthCheck) Reset()

func (*HealthCheck_RedisHealthCheck) Size

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

func (*HealthCheck_RedisHealthCheck) String

func (*HealthCheck_RedisHealthCheck) Unmarshal

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

type HealthCheck_RedisHealthCheck_

type HealthCheck_RedisHealthCheck_ struct {
	RedisHealthCheck *HealthCheck_RedisHealthCheck `protobuf:"bytes,10,opt,name=redis_health_check,json=redisHealthCheck,oneof"`
}

func (*HealthCheck_RedisHealthCheck_) MarshalTo

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

func (*HealthCheck_RedisHealthCheck_) Size

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

type HealthCheck_TcpHealthCheck

type HealthCheck_TcpHealthCheck struct {
	// Empty payloads imply a connect-only health check.
	Send *HealthCheck_Payload `protobuf:"bytes,1,opt,name=send" json:"send,omitempty"`
	// When checking the response, “fuzzy” matching is performed such that each
	// binary block must be found, and in the order specified, but not
	// necessarily contiguous.
	Receive []*HealthCheck_Payload `protobuf:"bytes,2,rep,name=receive" json:"receive,omitempty"`
}

func (*HealthCheck_TcpHealthCheck) Descriptor

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

func (*HealthCheck_TcpHealthCheck) GetReceive

func (*HealthCheck_TcpHealthCheck) GetSend

func (*HealthCheck_TcpHealthCheck) Marshal

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

func (*HealthCheck_TcpHealthCheck) MarshalTo

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

func (*HealthCheck_TcpHealthCheck) ProtoMessage

func (*HealthCheck_TcpHealthCheck) ProtoMessage()

func (*HealthCheck_TcpHealthCheck) Reset

func (m *HealthCheck_TcpHealthCheck) Reset()

func (*HealthCheck_TcpHealthCheck) Size

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

func (*HealthCheck_TcpHealthCheck) String

func (m *HealthCheck_TcpHealthCheck) String() string

func (*HealthCheck_TcpHealthCheck) Unmarshal

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

type HealthCheck_TcpHealthCheck_

type HealthCheck_TcpHealthCheck_ struct {
	TcpHealthCheck *HealthCheck_TcpHealthCheck `protobuf:"bytes,9,opt,name=tcp_health_check,json=tcpHealthCheck,oneof"`
}

func (*HealthCheck_TcpHealthCheck_) MarshalTo

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

func (*HealthCheck_TcpHealthCheck_) Size

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

type HealthDiscoveryServiceClient

type HealthDiscoveryServiceClient interface {
	// 1. Envoy starts up and if its can_healthcheck option in the static
	//    bootstrap config is enabled, sends HealthCheckRequest to the management
	//    server. It supplies its capabilities (which protocol it can health check
	//    with, what zone it resides in, etc.).
	// 2. In response to (1), the management server designates this Envoy as a
	//    healthchecker to health check a subset of all upstream hosts for a given
	//    cluster (for example upstream Host 1 and Host 2). It streams
	//    HealthCheckSpecifier messages with cluster related configuration for all
	//    clusters this Envoy is designated to health check. Subsequent
	//    HealthCheckSpecifier message will be sent on changes to:
	//    a. Endpoints to health checks
	//    b. Per cluster configuration change
	// 3. Envoy creates a health probe based on the HealthCheck config and sends
	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
	//    configuration Envoy waits upon the arrival of the probe response and
	//    looks at the content of the response to decide whether the endpoint is
	//    healthy or not. If a response hasn’t been received within the timeout
	//    interval, the endpoint health status is considered TIMEOUT.
	// 4. Envoy reports results back in an EndpointHealthResponse message.
	//    Envoy streams responses as often as the interval configured by the
	//    management server in HealthCheckSpecifier.
	// 5. The management Server collects health statuses for all endpoints in the
	//    cluster (for all clusters) and uses this information to construct
	//    EndpointDiscoveryResponse messages.
	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
	//    balances traffic to them without additional health checking. It may
	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
	//    failed to a particular endpoint to account for health status propagation
	//    delay between HDS and EDS).
	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
	// configuration may not contain HealthCheck message.
	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
	// invariant?
	// TODO(htuch): Add @amb67's diagram.
	StreamHealthCheck(ctx context.Context, opts ...grpc.CallOption) (HealthDiscoveryService_StreamHealthCheckClient, error)
	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
	// request/response. Should we add an identifier to the HealthCheckSpecifier
	// to bind with the response?
	FetchHealthCheck(ctx context.Context, in *HealthCheckRequestOrEndpointHealthResponse, opts ...grpc.CallOption) (*HealthCheckSpecifier, error)
}

func NewHealthDiscoveryServiceClient

func NewHealthDiscoveryServiceClient(cc *grpc.ClientConn) HealthDiscoveryServiceClient

type HealthDiscoveryServiceServer

type HealthDiscoveryServiceServer interface {
	// 1. Envoy starts up and if its can_healthcheck option in the static
	//    bootstrap config is enabled, sends HealthCheckRequest to the management
	//    server. It supplies its capabilities (which protocol it can health check
	//    with, what zone it resides in, etc.).
	// 2. In response to (1), the management server designates this Envoy as a
	//    healthchecker to health check a subset of all upstream hosts for a given
	//    cluster (for example upstream Host 1 and Host 2). It streams
	//    HealthCheckSpecifier messages with cluster related configuration for all
	//    clusters this Envoy is designated to health check. Subsequent
	//    HealthCheckSpecifier message will be sent on changes to:
	//    a. Endpoints to health checks
	//    b. Per cluster configuration change
	// 3. Envoy creates a health probe based on the HealthCheck config and sends
	//    it to endpoint(ip:port) of Host 1 and 2. Based on the HealthCheck
	//    configuration Envoy waits upon the arrival of the probe response and
	//    looks at the content of the response to decide whether the endpoint is
	//    healthy or not. If a response hasn’t been received within the timeout
	//    interval, the endpoint health status is considered TIMEOUT.
	// 4. Envoy reports results back in an EndpointHealthResponse message.
	//    Envoy streams responses as often as the interval configured by the
	//    management server in HealthCheckSpecifier.
	// 5. The management Server collects health statuses for all endpoints in the
	//    cluster (for all clusters) and uses this information to construct
	//    EndpointDiscoveryResponse messages.
	// 6. Once Envoy has a list of upstream endpoints to send traffic to, it load
	//    balances traffic to them without additional health checking. It may
	//    use inline healthcheck (i.e. consider endpoint UNHEALTHY if connection
	//    failed to a particular endpoint to account for health status propagation
	//    delay between HDS and EDS).
	// By default, can_healthcheck is true. If can_healthcheck is false, Cluster
	// configuration may not contain HealthCheck message.
	// TODO(htuch): How is can_healthcheck communicated to CDS to ensure the above
	// invariant?
	// TODO(htuch): Add @amb67's diagram.
	StreamHealthCheck(HealthDiscoveryService_StreamHealthCheckServer) error
	// TODO(htuch): Unlike the gRPC version, there is no stream-based binding of
	// request/response. Should we add an identifier to the HealthCheckSpecifier
	// to bind with the response?
	FetchHealthCheck(context.Context, *HealthCheckRequestOrEndpointHealthResponse) (*HealthCheckSpecifier, error)
}

type HealthDiscoveryService_StreamHealthCheckClient

type HealthDiscoveryService_StreamHealthCheckClient interface {
	Send(*HealthCheckRequestOrEndpointHealthResponse) error
	Recv() (*HealthCheckSpecifier, error)
	grpc.ClientStream
}

type HealthDiscoveryService_StreamHealthCheckServer

type HealthDiscoveryService_StreamHealthCheckServer interface {
	Send(*HealthCheckSpecifier) error
	Recv() (*HealthCheckRequestOrEndpointHealthResponse, error)
	grpc.ServerStream
}

type HealthStatus

type HealthStatus int32

[#not-implemented-hide:] Part of HDS.

const (
	// UNKNOWN should be treated by Envoy as HEALTHY.
	HealthStatus_UNKNOWN HealthStatus = 0
	// Healthy.
	HealthStatus_HEALTHY HealthStatus = 1
	// Unhealthy.
	HealthStatus_UNHEALTHY HealthStatus = 2
	// Connection draining in progress. E.g.,
	// https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/
	// or
	// https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining.
	HealthStatus_DRAINING HealthStatus = 3
	// This value is used by HDS Remote server. From Envoy’s perspective
	// TIMEOUT = UNHEALTHY in case EDS returns HealthStatus.
	HealthStatus_TIMEOUT HealthStatus = 4
)

func (HealthStatus) EnumDescriptor

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

func (HealthStatus) String

func (x HealthStatus) String() string

type Http1ProtocolOptions

type Http1ProtocolOptions struct {
	// Handle HTTP requests with absolute URLs in the requests. These requests
	// are generally sent by clients to forward/explicit proxies. This allows clients to configure
	// envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
	// *http_proxy* environment variable.
	AllowAbsoluteUrl *google_protobuf.BoolValue `protobuf:"bytes,1,opt,name=allow_absolute_url,json=allowAbsoluteUrl" json:"allow_absolute_url,omitempty"`
}

func (*Http1ProtocolOptions) Descriptor

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

func (*Http1ProtocolOptions) GetAllowAbsoluteUrl

func (m *Http1ProtocolOptions) GetAllowAbsoluteUrl() *google_protobuf.BoolValue

func (*Http1ProtocolOptions) Marshal

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

func (*Http1ProtocolOptions) MarshalTo

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

func (*Http1ProtocolOptions) ProtoMessage

func (*Http1ProtocolOptions) ProtoMessage()

func (*Http1ProtocolOptions) Reset

func (m *Http1ProtocolOptions) Reset()

func (*Http1ProtocolOptions) Size

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

func (*Http1ProtocolOptions) String

func (m *Http1ProtocolOptions) String() string

func (*Http1ProtocolOptions) Unmarshal

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

type Http2ProtocolOptions

type Http2ProtocolOptions struct {
	// `Maximum table size <http://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_
	// (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
	// range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
	// compression.
	HpackTableSize *google_protobuf.UInt32Value `protobuf:"bytes,1,opt,name=hpack_table_size,json=hpackTableSize" json:"hpack_table_size,omitempty"`
	// `Maximum concurrent streams <http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_
	// allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
	// and defaults to 2147483647.
	MaxConcurrentStreams *google_protobuf.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams" json:"max_concurrent_streams,omitempty"`
	// This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
	// HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
	// stop the flow of data to the codec buffers.
	InitialStreamWindowSize *google_protobuf.UInt32Value `` /* 127-byte string literal not displayed */
	// Similar to *initial_stream_window_size*, but for connection-level flow-control
	// window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
	InitialConnectionWindowSize *google_protobuf.UInt32Value `` /* 139-byte string literal not displayed */
}

func (*Http2ProtocolOptions) Descriptor

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

func (*Http2ProtocolOptions) GetHpackTableSize

func (m *Http2ProtocolOptions) GetHpackTableSize() *google_protobuf.UInt32Value

func (*Http2ProtocolOptions) GetInitialConnectionWindowSize

func (m *Http2ProtocolOptions) GetInitialConnectionWindowSize() *google_protobuf.UInt32Value

func (*Http2ProtocolOptions) GetInitialStreamWindowSize

func (m *Http2ProtocolOptions) GetInitialStreamWindowSize() *google_protobuf.UInt32Value

func (*Http2ProtocolOptions) GetMaxConcurrentStreams

func (m *Http2ProtocolOptions) GetMaxConcurrentStreams() *google_protobuf.UInt32Value

func (*Http2ProtocolOptions) Marshal

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

func (*Http2ProtocolOptions) MarshalTo

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

func (*Http2ProtocolOptions) ProtoMessage

func (*Http2ProtocolOptions) ProtoMessage()

func (*Http2ProtocolOptions) Reset

func (m *Http2ProtocolOptions) Reset()

func (*Http2ProtocolOptions) Size

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

func (*Http2ProtocolOptions) String

func (m *Http2ProtocolOptions) String() string

func (*Http2ProtocolOptions) Unmarshal

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

type LbEndpoint

type LbEndpoint struct {
	// Upstream host identifier
	Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint" json:"endpoint,omitempty"`
	// [#not-implemented-hide:] Optional health status when known and supplied by
	// EDS server.
	HealthStatus HealthStatus `` /* 129-byte string literal not displayed */
	// The endpoint metadata specifies values that may be used by the load
	// balancer to select endpoints in a cluster for a given request. The filter
	// name should be specified as *envoy.lb*. An example boolean key-value pair
	// is *canary*, providing the optional canary status of the upstream host.
	// This may be matched against in a route's ForwardAction metadata_match field
	// to subset the endpoints considered in cluster load balancing.
	Metadata *Metadata `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"`
	// The optional load balancing weight of the upstream host, in the range 1 -
	// 128. Envoy uses the load balancing weight in some of the built in load
	// balancers. The load balancing weight for an endpoint is divided by the sum
	// of the weights of all endpoints in the endpoint's locality to produce a
	// percentage of traffic for the endpoint. This percentage is then further
	// weighted by the endpoint's locality's load balancing weight from
	// LocalityLbEndpoints. If unspecified, each host is presumed to have equal
	// weight in a locality.
	//
	// .. attention::
	//
	//   The limit of 128 is somewhat arbitrary, but is applied due to performance
	//   concerns with the current implementation and can be removed when
	//   `this issue <https://github.com/envoyproxy/envoy/issues/1285>`_ is fixed.
	LoadBalancingWeight *google_protobuf.UInt32Value `protobuf:"bytes,4,opt,name=load_balancing_weight,json=loadBalancingWeight" json:"load_balancing_weight,omitempty"`
}

An Endpoint that Envoy can route traffic to.

func (*LbEndpoint) Descriptor

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

func (*LbEndpoint) GetEndpoint

func (m *LbEndpoint) GetEndpoint() *Endpoint

func (*LbEndpoint) GetHealthStatus

func (m *LbEndpoint) GetHealthStatus() HealthStatus

func (*LbEndpoint) GetLoadBalancingWeight

func (m *LbEndpoint) GetLoadBalancingWeight() *google_protobuf.UInt32Value

func (*LbEndpoint) GetMetadata

func (m *LbEndpoint) GetMetadata() *Metadata

func (*LbEndpoint) Marshal

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

func (*LbEndpoint) MarshalTo

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

func (*LbEndpoint) ProtoMessage

func (*LbEndpoint) ProtoMessage()

func (*LbEndpoint) Reset

func (m *LbEndpoint) Reset()

func (*LbEndpoint) Size

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

func (*LbEndpoint) String

func (m *LbEndpoint) String() string

func (*LbEndpoint) Unmarshal

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

type LightstepConfig

type LightstepConfig struct {
	// The cluster manager cluster that hosts the LightStep collectors.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// File containing the access token to the `LightStep
	// <http://lightstep.com/>`_ API.
	AccessTokenFile string `protobuf:"bytes,2,opt,name=access_token_file,json=accessTokenFile,proto3" json:"access_token_file,omitempty"`
}

Configuration for the LightStep tracer.

func (*LightstepConfig) Descriptor

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

func (*LightstepConfig) GetAccessTokenFile

func (m *LightstepConfig) GetAccessTokenFile() string

func (*LightstepConfig) GetCollectorCluster

func (m *LightstepConfig) GetCollectorCluster() string

func (*LightstepConfig) Marshal

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

func (*LightstepConfig) MarshalTo

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

func (*LightstepConfig) ProtoMessage

func (*LightstepConfig) ProtoMessage()

func (*LightstepConfig) Reset

func (m *LightstepConfig) Reset()

func (*LightstepConfig) Size

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

func (*LightstepConfig) String

func (m *LightstepConfig) String() string

func (*LightstepConfig) Unmarshal

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

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 *Address `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
	// A list of filter chains to consider for this listener. The
	// :ref:`FilterChain <envoy_api_msg_FilterChain>` with the most specific :ref:`FilterChainMatch
	// <envoy_api_msg_FilterChainMatch>` criteria is used on a connection.
	//
	// .. attention::
	//
	//   In the current version, multiple filter chains are supported **only** so that SNI can be
	//   configured. See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
	//   information. When multiple filter chains are configured, each filter chain must have an
	//   **identical** set of :ref:`filters <envoy_api_field_FilterChain.filters>`. If the filters
	//   differ, the configuration will fail to load. In the future, this limitation will be relaxed
	//   such that different filters can be used depending on which filter chain matches (based on SNI
	//   or some other parameter).
	FilterChains []*FilterChain `protobuf:"bytes,3,rep,name=filter_chains,json=filterChains" json:"filter_chains,omitempty"`
	// 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.
	UseOriginalDst *google_protobuf.BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst" json:"use_original_dst,omitempty"`
	// Soft limit on size of the listener’s new connection read and write buffers.
	// If unspecified, an implementation defined default is applied (1MiB).
	PerConnectionBufferLimitBytes *google_protobuf.UInt32Value `` /* 147-byte string literal not displayed */
	// [#not-implemented-hide:] Listener metadata.
	Metadata *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 */
}

func (*Listener) Descriptor

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

func (*Listener) GetAddress

func (m *Listener) GetAddress() *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() []*FilterChain

func (*Listener) GetMetadata

func (m *Listener) GetMetadata() *Metadata

func (*Listener) GetName

func (m *Listener) GetName() string

func (*Listener) GetPerConnectionBufferLimitBytes

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

func (*Listener) GetUseOriginalDst

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

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

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 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 *google_protobuf.BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort" json:"bind_to_port,omitempty"`
}

[#not-implemented-hide:]

func (*Listener_DeprecatedV1) Descriptor

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

func (*Listener_DeprecatedV1) GetBindToPort

func (m *Listener_DeprecatedV1) GetBindToPort() *google_protobuf.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

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 LoadStatsRequest

type LoadStatsRequest struct {
	// Node identifier for Envoy instance.
	Node *Node `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
	// A list of load stats to report.
	ClusterStats []*ClusterStats `protobuf:"bytes,2,rep,name=cluster_stats,json=clusterStats" json:"cluster_stats,omitempty"`
}

A load report Envoy sends to the management server. [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.

func (*LoadStatsRequest) Descriptor

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

func (*LoadStatsRequest) GetClusterStats

func (m *LoadStatsRequest) GetClusterStats() []*ClusterStats

func (*LoadStatsRequest) GetNode

func (m *LoadStatsRequest) GetNode() *Node

func (*LoadStatsRequest) Marshal

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

func (*LoadStatsRequest) MarshalTo

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

func (*LoadStatsRequest) ProtoMessage

func (*LoadStatsRequest) ProtoMessage()

func (*LoadStatsRequest) Reset

func (m *LoadStatsRequest) Reset()

func (*LoadStatsRequest) Size

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

func (*LoadStatsRequest) String

func (m *LoadStatsRequest) String() string

func (*LoadStatsRequest) Unmarshal

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

type LoadStatsResponse

type LoadStatsResponse struct {
	// Clusters to report stats for.
	Clusters []string `protobuf:"bytes,1,rep,name=clusters" json:"clusters,omitempty"`
	// The interval of time to collect stats. The default is 10 seconds.
	LoadReportingInterval *google_protobuf2.Duration `protobuf:"bytes,2,opt,name=load_reporting_interval,json=loadReportingInterval" json:"load_reporting_interval,omitempty"`
}

The management server sends envoy a LoadStatsResponse with all clusters it is interested in learning load stats about. [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.

func (*LoadStatsResponse) Descriptor

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

func (*LoadStatsResponse) GetClusters

func (m *LoadStatsResponse) GetClusters() []string

func (*LoadStatsResponse) GetLoadReportingInterval

func (m *LoadStatsResponse) GetLoadReportingInterval() *google_protobuf2.Duration

func (*LoadStatsResponse) Marshal

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

func (*LoadStatsResponse) MarshalTo

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

func (*LoadStatsResponse) ProtoMessage

func (*LoadStatsResponse) ProtoMessage()

func (*LoadStatsResponse) Reset

func (m *LoadStatsResponse) Reset()

func (*LoadStatsResponse) Size

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

func (*LoadStatsResponse) String

func (m *LoadStatsResponse) String() string

func (*LoadStatsResponse) Unmarshal

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

type Locality

type Locality struct {
	// Region this :ref:`zone <envoy_api_field_Locality.zone>` belongs to.
	Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	// Defines the local service zone where Envoy is running. Though optional, it
	// should be set if discovery service routing is used and the discovery
	// service exposes :ref:`zone data <config_cluster_manager_sds_api_host_az>`,
	// either in this message or via :option:`--service-zone`. The meaning of zone
	// is context dependent, e.g. `Availability Zone (AZ)
	// <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
	// on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
	// GCP, etc.
	Zone string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
	// When used for locality of upstream hosts, this field further splits zone
	// into smaller chunks of sub-zones so they can be load balanced
	// independently.
	SubZone string `protobuf:"bytes,3,opt,name=sub_zone,json=subZone,proto3" json:"sub_zone,omitempty"`
}

Identifies location of where either Envoy runs or where upstream hosts run.

func (*Locality) Descriptor

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

func (*Locality) GetRegion

func (m *Locality) GetRegion() string

func (*Locality) GetSubZone

func (m *Locality) GetSubZone() string

func (*Locality) GetZone

func (m *Locality) GetZone() string

func (*Locality) Marshal

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

func (*Locality) MarshalTo

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

func (*Locality) ProtoMessage

func (*Locality) ProtoMessage()

func (*Locality) Reset

func (m *Locality) Reset()

func (*Locality) Size

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

func (*Locality) String

func (m *Locality) String() string

func (*Locality) Unmarshal

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

type LocalityEndpoints

type LocalityEndpoints struct {
	Locality  *Locality   `protobuf:"bytes,1,opt,name=locality" json:"locality,omitempty"`
	Endpoints []*Endpoint `protobuf:"bytes,2,rep,name=endpoints" json:"endpoints,omitempty"`
}

func (*LocalityEndpoints) Descriptor

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

func (*LocalityEndpoints) GetEndpoints

func (m *LocalityEndpoints) GetEndpoints() []*Endpoint

func (*LocalityEndpoints) GetLocality

func (m *LocalityEndpoints) GetLocality() *Locality

func (*LocalityEndpoints) Marshal

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

func (*LocalityEndpoints) MarshalTo

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

func (*LocalityEndpoints) ProtoMessage

func (*LocalityEndpoints) ProtoMessage()

func (*LocalityEndpoints) Reset

func (m *LocalityEndpoints) Reset()

func (*LocalityEndpoints) Size

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

func (*LocalityEndpoints) String

func (m *LocalityEndpoints) String() string

func (*LocalityEndpoints) Unmarshal

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

type LocalityLbEndpoints

type LocalityLbEndpoints struct {
	// Identifies location of where the upstream hosts run.
	Locality *Locality `protobuf:"bytes,1,opt,name=locality" json:"locality,omitempty"`
	// The group of endpoints belonging to the locality specified.
	LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints" json:"lb_endpoints,omitempty"`
	// Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
	// balancing weight for a locality is divided by the sum of the weights of all
	// localities  at the same priority level to produce the effective percentage
	// of traffic for the locality.
	//
	// Weights must be specified for either all localities in a given priority
	// level or none.
	//
	// If unspecified, each locality is presumed to have equal weight in a
	// cluster.
	//
	// .. attention::
	//
	//   The limit of 128 is somewhat arbitrary, but is applied due to performance
	//   concerns with the current implementation and can be removed when
	//   `this issue <https://github.com/envoyproxy/envoy/issues/1285>`_ is fixed.
	LoadBalancingWeight *google_protobuf.UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight" json:"load_balancing_weight,omitempty"`
	// Optional: the priority for this LocalityLbEndpoints. If unspecified this will
	// default to the highest priority (0).
	//
	// Under usual circumstances, Envoy will only select endpoints for the highest
	// priority (0). In the event all endpoints for a particular priority are
	// unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
	// next highest priority group.
	//
	// Priorities should range from 0 (highest) to N (lowest) without skipping.
	Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
}

A group of endpoints belonging to a Locality. One can have multiple LocalityLbEndpoints for a locality, but this is generally only done if the different groups need to have different load balancing weights or different priorities.

func (*LocalityLbEndpoints) Descriptor

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

func (*LocalityLbEndpoints) GetLbEndpoints

func (m *LocalityLbEndpoints) GetLbEndpoints() []*LbEndpoint

func (*LocalityLbEndpoints) GetLoadBalancingWeight

func (m *LocalityLbEndpoints) GetLoadBalancingWeight() *google_protobuf.UInt32Value

func (*LocalityLbEndpoints) GetLocality

func (m *LocalityLbEndpoints) GetLocality() *Locality

func (*LocalityLbEndpoints) GetPriority

func (m *LocalityLbEndpoints) GetPriority() uint32

func (*LocalityLbEndpoints) Marshal

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

func (*LocalityLbEndpoints) MarshalTo

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

func (*LocalityLbEndpoints) ProtoMessage

func (*LocalityLbEndpoints) ProtoMessage()

func (*LocalityLbEndpoints) Reset

func (m *LocalityLbEndpoints) Reset()

func (*LocalityLbEndpoints) Size

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

func (*LocalityLbEndpoints) String

func (m *LocalityLbEndpoints) String() string

func (*LocalityLbEndpoints) Unmarshal

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

type Metadata

type Metadata struct {
	// Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
	// namespace is reserved for Envoy's built-in filters.
	FilterMetadata map[string]*google_protobuf4.Struct `` /* 177-byte string literal not displayed */
}

Metadata provides additional inputs to filters based on matched listeners, filter chains, routes and endpoints. It is structured as a map from filter name (in reverse DNS format) to metadata specific to the filter. Metadata key-values for a filter are merged as connection and request handling occurs, with later values for the same key overriding earlier values.

An example use of metadata is providing additional values to http_connection_manager in the envoy.http_connection_manager.access_log namespace.

For load balancing, Metadata provides a means to subset cluster endpoints. Endpoints have a Metadata object associated and routes contain a Metadata object to match against. There are some well defined metadata used today for this purpose:

  • “{"envoy.lb": {"canary": <bool> }}“ This indicates the canary status of an endpoint and is also used during header processing (x-envoy-upstream-canary) and for stats purposes.

func (*Metadata) Descriptor

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

func (*Metadata) GetFilterMetadata

func (m *Metadata) GetFilterMetadata() map[string]*google_protobuf4.Struct

func (*Metadata) Marshal

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

func (*Metadata) MarshalTo

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

func (*Metadata) ProtoMessage

func (*Metadata) ProtoMessage()

func (*Metadata) Reset

func (m *Metadata) Reset()

func (*Metadata) Size

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

func (*Metadata) String

func (m *Metadata) String() string

func (*Metadata) Unmarshal

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

type Node

type Node struct {
	// An opaque node identifier for the Envoy node. This also provides the local
	// service node name. It should be set if any of the following features are
	// used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS
	// <config_cluster_manager_cds>`, and :ref:`HTTP tracing
	// <arch_overview_tracing>`, either in this message or via
	// :option:`--service-node`.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Defines the local service cluster name where Envoy is running. Though
	// optional, it should be set if any of the following features are used:
	// :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster
	// verification <config_cluster_manager_cluster_hc_service_name>`,
	// :ref:`runtime override directory <config_runtime_override_subdirectory>`,
	// :ref:`user agent addition <config_http_conn_man_add_user_agent>`,
	// :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`,
	// :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing
	// <arch_overview_tracing>`, either in this message or via
	// :option:`--service-cluster`.
	Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// Opaque metadata extending the node identifier. Envoy will pass this
	// directly to the management server.
	Metadata *google_protobuf4.Struct `protobuf:"bytes,3,opt,name=metadata" json:"metadata,omitempty"`
	// Locality specifying where the Envoy instance is running.
	Locality *Locality `protobuf:"bytes,4,opt,name=locality" json:"locality,omitempty"`
	// This is motivated by informing a management server during canary which
	// version of Envoy is being tested in a heterogeneous fleet. This will be set
	// by Envoy in management server RPCs.
	BuildVersion string `protobuf:"bytes,5,opt,name=build_version,json=buildVersion,proto3" json:"build_version,omitempty"`
}

Identifies a specific Envoy instance. The node identifier is presented to the management server, which may use this identifier to distinguish per Envoy configuration for serving.

func (*Node) Descriptor

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

func (*Node) GetBuildVersion

func (m *Node) GetBuildVersion() string

func (*Node) GetCluster

func (m *Node) GetCluster() string

func (*Node) GetId

func (m *Node) GetId() string

func (*Node) GetLocality

func (m *Node) GetLocality() *Locality

func (*Node) GetMetadata

func (m *Node) GetMetadata() *google_protobuf4.Struct

func (*Node) Marshal

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

func (*Node) MarshalTo

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

func (*Node) ProtoMessage

func (*Node) ProtoMessage()

func (*Node) Reset

func (m *Node) Reset()

func (*Node) Size

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

func (*Node) String

func (m *Node) String() string

func (*Node) Unmarshal

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

type Pipe

type Pipe struct {
	// Unix Domain Socket path.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}

func (*Pipe) Descriptor

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

func (*Pipe) GetPath

func (m *Pipe) GetPath() string

func (*Pipe) Marshal

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

func (*Pipe) MarshalTo

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

func (*Pipe) ProtoMessage

func (*Pipe) ProtoMessage()

func (*Pipe) Reset

func (m *Pipe) Reset()

func (*Pipe) Size

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

func (*Pipe) String

func (m *Pipe) String() string

func (*Pipe) Unmarshal

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

type RateLimit

type RateLimit struct {
	// Refers to the stage set in the filter. The rate limit configuration only
	// applies to filters with the same stage number. The default stage number is
	// 0.
	//
	// .. note::
	//
	//   The filter supports a range of 0 - 10 inclusively for stage numbers.
	Stage *google_protobuf.UInt32Value `protobuf:"bytes,1,opt,name=stage" json:"stage,omitempty"`
	// The key to be set in runtime to disable this rate limit configuration.
	DisableKey string `protobuf:"bytes,2,opt,name=disable_key,json=disableKey,proto3" json:"disable_key,omitempty"`
	// A list of actions that are to be applied for this rate limit configuration.
	// Order matters as the actions are processed sequentially and the descriptor
	// is composed by appending descriptor entries in that sequence. If an action
	// cannot append a descriptor entry, no descriptor is generated for the
	// configuration. See :ref:`composing actions
	// <config_http_filters_rate_limit_composing_actions>` for additional documentation.
	Actions []*RateLimit_Action `protobuf:"bytes,3,rep,name=actions" json:"actions,omitempty"`
}

Global rate limiting :ref:`architecture overview <arch_overview_rate_limit>`.

func (*RateLimit) Descriptor

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

func (*RateLimit) GetActions

func (m *RateLimit) GetActions() []*RateLimit_Action

func (*RateLimit) GetDisableKey

func (m *RateLimit) GetDisableKey() string

func (*RateLimit) GetStage

func (m *RateLimit) GetStage() *google_protobuf.UInt32Value

func (*RateLimit) Marshal

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

func (*RateLimit) MarshalTo

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

func (*RateLimit) ProtoMessage

func (*RateLimit) ProtoMessage()

func (*RateLimit) Reset

func (m *RateLimit) Reset()

func (*RateLimit) Size

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

func (*RateLimit) String

func (m *RateLimit) String() string

func (*RateLimit) Unmarshal

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

type RateLimitDescriptor

type RateLimitDescriptor struct {
	// Descriptor entries.
	Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
}

A RateLimitDescriptor is a list of hierarchical entries that are used by the service to determine the final rate limit key and overall allowed limit. Here are some examples of how they might be used for the domain "envoy".

.. code-block:: cpp

["authenticated": "false"], ["remote_address": "10.0.0.1"]

What it does: Limits all unauthenticated traffic for the IP address 10.0.0.1. The configuration supplies a default limit for the *remote_address* key. If there is a desire to raise the limit for 10.0.0.1 or block it entirely it can be specified directly in the configuration.

.. code-block:: cpp

["authenticated": "false"], ["path": "/foo/bar"]

What it does: Limits all unauthenticated traffic globally for a specific path (or prefix if configured that way in the service).

.. code-block:: cpp

["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"]

What it does: Limits unauthenticated traffic to a specific path for a specific IP address. Like (1) we can raise/block specific IP addresses if we want with an override configuration.

.. code-block:: cpp

["authenticated": "true"], ["client_id": "foo"]

What it does: Limits all traffic for an authenticated client "foo"

.. code-block:: cpp

["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"]

What it does: Limits traffic to a specific path for an authenticated client "foo"

The idea behind the API is that (1)/(2)/(3) and (4)/(5) can be sent in 1 request if desired. This enables building complex application scenarios with a generic backend.

func (*RateLimitDescriptor) Descriptor

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

func (*RateLimitDescriptor) GetEntries

func (*RateLimitDescriptor) Marshal

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

func (*RateLimitDescriptor) MarshalTo

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

func (*RateLimitDescriptor) ProtoMessage

func (*RateLimitDescriptor) ProtoMessage()

func (*RateLimitDescriptor) Reset

func (m *RateLimitDescriptor) Reset()

func (*RateLimitDescriptor) Size

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

func (*RateLimitDescriptor) String

func (m *RateLimitDescriptor) String() string

func (*RateLimitDescriptor) Unmarshal

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

type RateLimitDescriptor_Entry

type RateLimitDescriptor_Entry struct {
	// Descriptor key.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Descriptor value.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (*RateLimitDescriptor_Entry) Descriptor

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

func (*RateLimitDescriptor_Entry) GetKey

func (m *RateLimitDescriptor_Entry) GetKey() string

func (*RateLimitDescriptor_Entry) GetValue

func (m *RateLimitDescriptor_Entry) GetValue() string

func (*RateLimitDescriptor_Entry) Marshal

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

func (*RateLimitDescriptor_Entry) MarshalTo

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

func (*RateLimitDescriptor_Entry) ProtoMessage

func (*RateLimitDescriptor_Entry) ProtoMessage()

func (*RateLimitDescriptor_Entry) Reset

func (m *RateLimitDescriptor_Entry) Reset()

func (*RateLimitDescriptor_Entry) Size

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

func (*RateLimitDescriptor_Entry) String

func (m *RateLimitDescriptor_Entry) String() string

func (*RateLimitDescriptor_Entry) Unmarshal

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

type RateLimitRequest

type RateLimitRequest struct {
	// All rate limit requests must specify a domain. This enables the configuration to be per
	// application without fear of overlap. E.g., "envoy".
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is
	// processed by the service (see below). If any of the descriptors are over limit, the entire
	// request is considered to be over limit.
	Descriptors []*RateLimitDescriptor `protobuf:"bytes,2,rep,name=descriptors" json:"descriptors,omitempty"`
	// Rate limit requests can optionally specify the number of hits a request adds to the matched
	// limit. If the value is not set in the message, a request increases the matched limit by 1.
	HitsAddend uint32 `protobuf:"varint,3,opt,name=hits_addend,json=hitsAddend,proto3" json:"hits_addend,omitempty"`
}

Main message for a rate limit request. The rate limit service is designed to be fully generic in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded configuration will parse the request and find the most specific limit to apply. In addition, a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any of them are over limit. This enables more complex application level rate limiting scenarios if desired. [#not-implemented-hide:] Hiding API for now.

func (*RateLimitRequest) Descriptor

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

func (*RateLimitRequest) GetDescriptors

func (m *RateLimitRequest) GetDescriptors() []*RateLimitDescriptor

func (*RateLimitRequest) GetDomain

func (m *RateLimitRequest) GetDomain() string

func (*RateLimitRequest) GetHitsAddend

func (m *RateLimitRequest) GetHitsAddend() uint32

func (*RateLimitRequest) Marshal

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

func (*RateLimitRequest) MarshalTo

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

func (*RateLimitRequest) ProtoMessage

func (*RateLimitRequest) ProtoMessage()

func (*RateLimitRequest) Reset

func (m *RateLimitRequest) Reset()

func (*RateLimitRequest) Size

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

func (*RateLimitRequest) String

func (m *RateLimitRequest) String() string

func (*RateLimitRequest) Unmarshal

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

type RateLimitResponse

type RateLimitResponse struct {
	// The overall response code which takes into account all of the descriptors that were passed
	// in the RateLimitRequest message.
	OverallCode RateLimitResponse_Code `` /* 136-byte string literal not displayed */
	// A list of DescriptorStatus messages which matches the length of the descriptor list passed
	// in the RateLimitRequest. This can be used by the caller to determine which individual
	// descriptors failed and/or what the currently configured limits are for all of them.
	Statuses []*RateLimitResponse_DescriptorStatus `protobuf:"bytes,2,rep,name=statuses" json:"statuses,omitempty"`
}

A response from a ShouldRateLimit call. [#not-implemented-hide:] Hiding API for now.

func (*RateLimitResponse) Descriptor

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

func (*RateLimitResponse) GetOverallCode

func (m *RateLimitResponse) GetOverallCode() RateLimitResponse_Code

func (*RateLimitResponse) GetStatuses

func (*RateLimitResponse) Marshal

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

func (*RateLimitResponse) MarshalTo

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

func (*RateLimitResponse) ProtoMessage

func (*RateLimitResponse) ProtoMessage()

func (*RateLimitResponse) Reset

func (m *RateLimitResponse) Reset()

func (*RateLimitResponse) Size

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

func (*RateLimitResponse) String

func (m *RateLimitResponse) String() string

func (*RateLimitResponse) Unmarshal

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

type RateLimitResponse_Code

type RateLimitResponse_Code int32
const (
	RateLimitResponse_UNKNOWN    RateLimitResponse_Code = 0
	RateLimitResponse_OK         RateLimitResponse_Code = 1
	RateLimitResponse_OVER_LIMIT RateLimitResponse_Code = 2
)

func (RateLimitResponse_Code) EnumDescriptor

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

func (RateLimitResponse_Code) String

func (x RateLimitResponse_Code) String() string

type RateLimitResponse_DescriptorStatus

type RateLimitResponse_DescriptorStatus struct {
	// The response code for an individual descriptor.
	Code RateLimitResponse_Code `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.api.v2.RateLimitResponse_Code" json:"code,omitempty"`
	// The current limit as configured by the server. Useful for debugging, etc.
	CurrentLimit *RateLimitResponse_RateLimit `protobuf:"bytes,2,opt,name=current_limit,json=currentLimit" json:"current_limit,omitempty"`
	// The limit remaining in the current time unit.
	LimitRemaining uint32 `protobuf:"varint,3,opt,name=limit_remaining,json=limitRemaining,proto3" json:"limit_remaining,omitempty"`
}

func (*RateLimitResponse_DescriptorStatus) Descriptor

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

func (*RateLimitResponse_DescriptorStatus) GetCode

func (*RateLimitResponse_DescriptorStatus) GetCurrentLimit

func (*RateLimitResponse_DescriptorStatus) GetLimitRemaining

func (m *RateLimitResponse_DescriptorStatus) GetLimitRemaining() uint32

func (*RateLimitResponse_DescriptorStatus) Marshal

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

func (*RateLimitResponse_DescriptorStatus) MarshalTo

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

func (*RateLimitResponse_DescriptorStatus) ProtoMessage

func (*RateLimitResponse_DescriptorStatus) ProtoMessage()

func (*RateLimitResponse_DescriptorStatus) Reset

func (*RateLimitResponse_DescriptorStatus) Size

func (*RateLimitResponse_DescriptorStatus) String

func (*RateLimitResponse_DescriptorStatus) Unmarshal

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

type RateLimitResponse_RateLimit

type RateLimitResponse_RateLimit struct {
	RequestsPerUnit uint32                           `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"`
	Unit            RateLimitResponse_RateLimit_Unit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.api.v2.RateLimitResponse_RateLimit_Unit" json:"unit,omitempty"`
}

Defines an actual rate limit in terms of requests per unit of time and the unit itself.

func (*RateLimitResponse_RateLimit) Descriptor

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

func (*RateLimitResponse_RateLimit) GetRequestsPerUnit

func (m *RateLimitResponse_RateLimit) GetRequestsPerUnit() uint32

func (*RateLimitResponse_RateLimit) GetUnit

func (*RateLimitResponse_RateLimit) Marshal

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

func (*RateLimitResponse_RateLimit) MarshalTo

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

func (*RateLimitResponse_RateLimit) ProtoMessage

func (*RateLimitResponse_RateLimit) ProtoMessage()

func (*RateLimitResponse_RateLimit) Reset

func (m *RateLimitResponse_RateLimit) Reset()

func (*RateLimitResponse_RateLimit) Size

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

func (*RateLimitResponse_RateLimit) String

func (m *RateLimitResponse_RateLimit) String() string

func (*RateLimitResponse_RateLimit) Unmarshal

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

type RateLimitResponse_RateLimit_Unit

type RateLimitResponse_RateLimit_Unit int32
const (
	RateLimitResponse_RateLimit_UNKNOWN RateLimitResponse_RateLimit_Unit = 0
	RateLimitResponse_RateLimit_SECOND  RateLimitResponse_RateLimit_Unit = 1
	RateLimitResponse_RateLimit_MINUTE  RateLimitResponse_RateLimit_Unit = 2
	RateLimitResponse_RateLimit_HOUR    RateLimitResponse_RateLimit_Unit = 3
	RateLimitResponse_RateLimit_DAY     RateLimitResponse_RateLimit_Unit = 4
)

func (RateLimitResponse_RateLimit_Unit) EnumDescriptor

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

func (RateLimitResponse_RateLimit_Unit) String

type RateLimitServiceClient

type RateLimitServiceClient interface {
	// Determine whether rate limiting should take place.
	ShouldRateLimit(ctx context.Context, in *RateLimitRequest, opts ...grpc.CallOption) (*RateLimitResponse, error)
}

func NewRateLimitServiceClient

func NewRateLimitServiceClient(cc *grpc.ClientConn) RateLimitServiceClient

type RateLimitServiceConfig

type RateLimitServiceConfig struct {
	// Specifies the cluster manager cluster name that hosts the rate limit
	// service. The client will connect to this cluster when it needs to make rate
	// limit service requests.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
}

Rate limit :ref:`configuration overview <config_rate_limit_service>`.

func (*RateLimitServiceConfig) Descriptor

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

func (*RateLimitServiceConfig) GetClusterName

func (m *RateLimitServiceConfig) GetClusterName() string

func (*RateLimitServiceConfig) Marshal

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

func (*RateLimitServiceConfig) MarshalTo

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

func (*RateLimitServiceConfig) ProtoMessage

func (*RateLimitServiceConfig) ProtoMessage()

func (*RateLimitServiceConfig) Reset

func (m *RateLimitServiceConfig) Reset()

func (*RateLimitServiceConfig) Size

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

func (*RateLimitServiceConfig) String

func (m *RateLimitServiceConfig) String() string

func (*RateLimitServiceConfig) Unmarshal

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

type RateLimitServiceServer

type RateLimitServiceServer interface {
	// Determine whether rate limiting should take place.
	ShouldRateLimit(context.Context, *RateLimitRequest) (*RateLimitResponse, error)
}

type RateLimit_Action

type RateLimit_Action struct {
	// Types that are valid to be assigned to ActionSpecifier:
	//	*RateLimit_Action_SourceCluster_
	//	*RateLimit_Action_DestinationCluster_
	//	*RateLimit_Action_RequestHeaders_
	//	*RateLimit_Action_RemoteAddress_
	//	*RateLimit_Action_GenericKey_
	//	*RateLimit_Action_HeaderValueMatch_
	ActionSpecifier isRateLimit_Action_ActionSpecifier `protobuf_oneof:"action_specifier"`
}

func (*RateLimit_Action) Descriptor

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

func (*RateLimit_Action) GetActionSpecifier

func (m *RateLimit_Action) GetActionSpecifier() isRateLimit_Action_ActionSpecifier

func (*RateLimit_Action) GetDestinationCluster

func (m *RateLimit_Action) GetDestinationCluster() *RateLimit_Action_DestinationCluster

func (*RateLimit_Action) GetGenericKey

func (m *RateLimit_Action) GetGenericKey() *RateLimit_Action_GenericKey

func (*RateLimit_Action) GetHeaderValueMatch

func (m *RateLimit_Action) GetHeaderValueMatch() *RateLimit_Action_HeaderValueMatch

func (*RateLimit_Action) GetRemoteAddress

func (m *RateLimit_Action) GetRemoteAddress() *RateLimit_Action_RemoteAddress

func (*RateLimit_Action) GetRequestHeaders

func (m *RateLimit_Action) GetRequestHeaders() *RateLimit_Action_RequestHeaders

func (*RateLimit_Action) GetSourceCluster

func (m *RateLimit_Action) GetSourceCluster() *RateLimit_Action_SourceCluster

func (*RateLimit_Action) Marshal

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

func (*RateLimit_Action) MarshalTo

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

func (*RateLimit_Action) ProtoMessage

func (*RateLimit_Action) ProtoMessage()

func (*RateLimit_Action) Reset

func (m *RateLimit_Action) Reset()

func (*RateLimit_Action) Size

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

func (*RateLimit_Action) String

func (m *RateLimit_Action) String() string

func (*RateLimit_Action) Unmarshal

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

func (*RateLimit_Action) XXX_OneofFuncs

func (*RateLimit_Action) 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.

type RateLimit_Action_DestinationCluster

type RateLimit_Action_DestinationCluster struct {
}

The following descriptor entry is appended to the descriptor:

.. code-block:: cpp

("destination_cluster", "<routed target cluster>")

Once a request matches against a route table rule, a routed cluster is determined by one of the following :ref:`route table configuration <envoy_api_msg_RouteConfiguration>` settings:

  • :ref:`cluster <envoy_api_field_RouteAction.cluster>` indicates the upstream cluster to route to.
  • :ref:`weighted_clusters <envoy_api_field_RouteAction.weighted_clusters>` chooses a cluster randomly from a set of clusters with attributed weight.
  • :ref:`cluster_header <envoy_api_field_RouteAction.cluster_header>` indicates which header in the request contains the target cluster.

func (*RateLimit_Action_DestinationCluster) Descriptor

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

func (*RateLimit_Action_DestinationCluster) Marshal

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

func (*RateLimit_Action_DestinationCluster) MarshalTo

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

func (*RateLimit_Action_DestinationCluster) ProtoMessage

func (*RateLimit_Action_DestinationCluster) ProtoMessage()

func (*RateLimit_Action_DestinationCluster) Reset

func (*RateLimit_Action_DestinationCluster) Size

func (*RateLimit_Action_DestinationCluster) String

func (*RateLimit_Action_DestinationCluster) Unmarshal

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

type RateLimit_Action_DestinationCluster_

type RateLimit_Action_DestinationCluster_ struct {
	DestinationCluster *RateLimit_Action_DestinationCluster `protobuf:"bytes,2,opt,name=destination_cluster,json=destinationCluster,oneof"`
}

func (*RateLimit_Action_DestinationCluster_) MarshalTo

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

func (*RateLimit_Action_DestinationCluster_) Size

type RateLimit_Action_GenericKey

type RateLimit_Action_GenericKey struct {
	// The value to use in the descriptor entry.
	DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"`
}

The following descriptor entry is appended to the descriptor:

.. code-block:: cpp

("generic_key", "<descriptor_value>")

func (*RateLimit_Action_GenericKey) Descriptor

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

func (*RateLimit_Action_GenericKey) GetDescriptorValue

func (m *RateLimit_Action_GenericKey) GetDescriptorValue() string

func (*RateLimit_Action_GenericKey) Marshal

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

func (*RateLimit_Action_GenericKey) MarshalTo

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

func (*RateLimit_Action_GenericKey) ProtoMessage

func (*RateLimit_Action_GenericKey) ProtoMessage()

func (*RateLimit_Action_GenericKey) Reset

func (m *RateLimit_Action_GenericKey) Reset()

func (*RateLimit_Action_GenericKey) Size

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

func (*RateLimit_Action_GenericKey) String

func (m *RateLimit_Action_GenericKey) String() string

func (*RateLimit_Action_GenericKey) Unmarshal

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

type RateLimit_Action_GenericKey_

type RateLimit_Action_GenericKey_ struct {
	GenericKey *RateLimit_Action_GenericKey `protobuf:"bytes,5,opt,name=generic_key,json=genericKey,oneof"`
}

func (*RateLimit_Action_GenericKey_) MarshalTo

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

func (*RateLimit_Action_GenericKey_) Size

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

type RateLimit_Action_HeaderValueMatch

type RateLimit_Action_HeaderValueMatch struct {
	// The value to use in the descriptor entry.
	DescriptorValue string `protobuf:"bytes,1,opt,name=descriptor_value,json=descriptorValue,proto3" json:"descriptor_value,omitempty"`
	// If set to true, the action will append a descriptor entry when the
	// request matches the headers. If set to false, the action will append a
	// descriptor entry when the request does not match the headers. The
	// default value is true.
	ExpectMatch *google_protobuf.BoolValue `protobuf:"bytes,2,opt,name=expect_match,json=expectMatch" json:"expect_match,omitempty"`
	// Specifies a set of headers that the rate limit action should match
	// on. The action will check the request’s headers against all the
	// specified headers in the config. A match will happen if all the
	// headers in the config are present in the request with the same values
	// (or based on presence if the value field is not in the config).
	Headers []*HeaderMatcher `protobuf:"bytes,3,rep,name=headers" json:"headers,omitempty"`
}

The following descriptor entry is appended to the descriptor:

.. code-block:: cpp

("header_match", "<descriptor_value>")

func (*RateLimit_Action_HeaderValueMatch) Descriptor

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

func (*RateLimit_Action_HeaderValueMatch) GetDescriptorValue

func (m *RateLimit_Action_HeaderValueMatch) GetDescriptorValue() string

func (*RateLimit_Action_HeaderValueMatch) GetExpectMatch

func (*RateLimit_Action_HeaderValueMatch) GetHeaders

func (*RateLimit_Action_HeaderValueMatch) Marshal

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

func (*RateLimit_Action_HeaderValueMatch) MarshalTo

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

func (*RateLimit_Action_HeaderValueMatch) ProtoMessage

func (*RateLimit_Action_HeaderValueMatch) ProtoMessage()

func (*RateLimit_Action_HeaderValueMatch) Reset

func (*RateLimit_Action_HeaderValueMatch) Size

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

func (*RateLimit_Action_HeaderValueMatch) String

func (*RateLimit_Action_HeaderValueMatch) Unmarshal

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

type RateLimit_Action_HeaderValueMatch_

type RateLimit_Action_HeaderValueMatch_ struct {
	HeaderValueMatch *RateLimit_Action_HeaderValueMatch `protobuf:"bytes,6,opt,name=header_value_match,json=headerValueMatch,oneof"`
}

func (*RateLimit_Action_HeaderValueMatch_) MarshalTo

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

func (*RateLimit_Action_HeaderValueMatch_) Size

type RateLimit_Action_RemoteAddress

type RateLimit_Action_RemoteAddress struct {
}

The following descriptor entry is appended to the descriptor and is populated using the trusted address from :ref:`x-forwarded-for <config_http_conn_man_headers_x-forwarded-for>`:

.. code-block:: cpp

("remote_address", "<trusted address from x-forwarded-for>")

func (*RateLimit_Action_RemoteAddress) Descriptor

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

func (*RateLimit_Action_RemoteAddress) Marshal

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

func (*RateLimit_Action_RemoteAddress) MarshalTo

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

func (*RateLimit_Action_RemoteAddress) ProtoMessage

func (*RateLimit_Action_RemoteAddress) ProtoMessage()

func (*RateLimit_Action_RemoteAddress) Reset

func (m *RateLimit_Action_RemoteAddress) Reset()

func (*RateLimit_Action_RemoteAddress) Size

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

func (*RateLimit_Action_RemoteAddress) String

func (*RateLimit_Action_RemoteAddress) Unmarshal

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

type RateLimit_Action_RemoteAddress_

type RateLimit_Action_RemoteAddress_ struct {
	RemoteAddress *RateLimit_Action_RemoteAddress `protobuf:"bytes,4,opt,name=remote_address,json=remoteAddress,oneof"`
}

func (*RateLimit_Action_RemoteAddress_) MarshalTo

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

func (*RateLimit_Action_RemoteAddress_) Size

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

type RateLimit_Action_RequestHeaders

type RateLimit_Action_RequestHeaders struct {
	// The header name to be queried from the request headers. The header’s
	// value is used to populate the value of the descriptor entry for the
	// descriptor_key.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// The key to use in the descriptor entry.
	DescriptorKey string `protobuf:"bytes,2,opt,name=descriptor_key,json=descriptorKey,proto3" json:"descriptor_key,omitempty"`
}

The following descriptor entry is appended when a header contains a key that matches the *header_name*:

.. code-block:: cpp

("<descriptor_key>", "<header_value_queried_from_header>")

func (*RateLimit_Action_RequestHeaders) Descriptor

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

func (*RateLimit_Action_RequestHeaders) GetDescriptorKey

func (m *RateLimit_Action_RequestHeaders) GetDescriptorKey() string

func (*RateLimit_Action_RequestHeaders) GetHeaderName

func (m *RateLimit_Action_RequestHeaders) GetHeaderName() string

func (*RateLimit_Action_RequestHeaders) Marshal

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

func (*RateLimit_Action_RequestHeaders) MarshalTo

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

func (*RateLimit_Action_RequestHeaders) ProtoMessage

func (*RateLimit_Action_RequestHeaders) ProtoMessage()

func (*RateLimit_Action_RequestHeaders) Reset

func (*RateLimit_Action_RequestHeaders) Size

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

func (*RateLimit_Action_RequestHeaders) String

func (*RateLimit_Action_RequestHeaders) Unmarshal

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

type RateLimit_Action_RequestHeaders_

type RateLimit_Action_RequestHeaders_ struct {
	RequestHeaders *RateLimit_Action_RequestHeaders `protobuf:"bytes,3,opt,name=request_headers,json=requestHeaders,oneof"`
}

func (*RateLimit_Action_RequestHeaders_) MarshalTo

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

func (*RateLimit_Action_RequestHeaders_) Size

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

type RateLimit_Action_SourceCluster

type RateLimit_Action_SourceCluster struct {
}

The following descriptor entry is appended to the descriptor:

.. code-block:: cpp

("source_cluster", "<local service cluster>")

<local service cluster> is derived from the :option:`--service-cluster` option.

func (*RateLimit_Action_SourceCluster) Descriptor

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

func (*RateLimit_Action_SourceCluster) Marshal

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

func (*RateLimit_Action_SourceCluster) MarshalTo

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

func (*RateLimit_Action_SourceCluster) ProtoMessage

func (*RateLimit_Action_SourceCluster) ProtoMessage()

func (*RateLimit_Action_SourceCluster) Reset

func (m *RateLimit_Action_SourceCluster) Reset()

func (*RateLimit_Action_SourceCluster) Size

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

func (*RateLimit_Action_SourceCluster) String

func (*RateLimit_Action_SourceCluster) Unmarshal

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

type RateLimit_Action_SourceCluster_

type RateLimit_Action_SourceCluster_ struct {
	SourceCluster *RateLimit_Action_SourceCluster `protobuf:"bytes,1,opt,name=source_cluster,json=sourceCluster,oneof"`
}

func (*RateLimit_Action_SourceCluster_) MarshalTo

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

func (*RateLimit_Action_SourceCluster_) Size

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

type RedirectAction

type RedirectAction struct {
	// The host portion of the URL will be swapped with this value.
	HostRedirect string `protobuf:"bytes,1,opt,name=host_redirect,json=hostRedirect,proto3" json:"host_redirect,omitempty"`
	// The path portion of the URL will be swapped with this value.
	PathRedirect string `protobuf:"bytes,2,opt,name=path_redirect,json=pathRedirect,proto3" json:"path_redirect,omitempty"`
	// The HTTP status code to use in the redirect response. The default response
	// code is MOVED_PERMANENTLY (301).
	ResponseCode RedirectAction_RedirectResponseCode `` /* 152-byte string literal not displayed */
}

func (*RedirectAction) Descriptor

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

func (*RedirectAction) GetHostRedirect

func (m *RedirectAction) GetHostRedirect() string

func (*RedirectAction) GetPathRedirect

func (m *RedirectAction) GetPathRedirect() string

func (*RedirectAction) GetResponseCode

func (*RedirectAction) Marshal

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

func (*RedirectAction) MarshalTo

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

func (*RedirectAction) ProtoMessage

func (*RedirectAction) ProtoMessage()

func (*RedirectAction) Reset

func (m *RedirectAction) Reset()

func (*RedirectAction) Size

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

func (*RedirectAction) String

func (m *RedirectAction) String() string

func (*RedirectAction) Unmarshal

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

type RedirectAction_RedirectResponseCode

type RedirectAction_RedirectResponseCode int32
const (
	// Moved Permanently HTTP Status Code - 301.
	RedirectAction_MOVED_PERMANENTLY RedirectAction_RedirectResponseCode = 0
	// Found HTTP Status Code - 302.
	RedirectAction_FOUND RedirectAction_RedirectResponseCode = 1
	// See Other HTTP Status Code - 303.
	RedirectAction_SEE_OTHER RedirectAction_RedirectResponseCode = 2
	// Temporary Redirect HTTP Status Code - 307.
	RedirectAction_TEMPORARY_REDIRECT RedirectAction_RedirectResponseCode = 3
	// Permanent Redirect HTTP Status Code - 308.
	RedirectAction_PERMANENT_REDIRECT RedirectAction_RedirectResponseCode = 4
)

func (RedirectAction_RedirectResponseCode) EnumDescriptor

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

func (RedirectAction_RedirectResponseCode) String

type RequestMethod

type RequestMethod int32

HTTP request method.

const (
	RequestMethod_METHOD_UNSPECIFIED RequestMethod = 0
	RequestMethod_GET                RequestMethod = 1
	RequestMethod_HEAD               RequestMethod = 2
	RequestMethod_POST               RequestMethod = 3
	RequestMethod_PUT                RequestMethod = 4
	RequestMethod_DELETE             RequestMethod = 5
	RequestMethod_CONNECT            RequestMethod = 6
	RequestMethod_OPTIONS            RequestMethod = 7
	RequestMethod_TRACE              RequestMethod = 8
)

func (RequestMethod) EnumDescriptor

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

func (RequestMethod) String

func (x RequestMethod) String() string

type Route

type Route struct {
	// Route matching parameters.
	Match *RouteMatch `protobuf:"bytes,1,opt,name=match" json:"match,omitempty"`
	// Types that are valid to be assigned to Action:
	//	*Route_Route
	//	*Route_Redirect
	Action isRoute_Action `protobuf_oneof:"action"`
	// The Metadata field can be used to provide additional information
	// about the route. It can be used for configuration, stats, and logging.
	// The metadata should go under the filter namespace that will need it.
	// For instance, if the metadata is intended for the Router filter,
	// the filter name should be specified as *envoy.router*.
	Metadata *Metadata `protobuf:"bytes,4,opt,name=metadata" json:"metadata,omitempty"`
	// Decorator for the matched route.
	Decorator *Decorator `protobuf:"bytes,5,opt,name=decorator" json:"decorator,omitempty"`
	// [#not-implemented-hide:]
	// Return a 401/403 when auth checks fail.
	Auth *AuthAction `protobuf:"bytes,6,opt,name=auth" json:"auth,omitempty"`
}

A route is both a specification of how to match a request as well as an indication of what to do next (e.g., redirect, forward, rewrite, etc.).

.. attention::

Envoy supports routing on HTTP method via :ref:`header matching
<envoy_api_msg_HeaderMatcher>`.

func (*Route) Descriptor

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

func (*Route) GetAction

func (m *Route) GetAction() isRoute_Action

func (*Route) GetAuth

func (m *Route) GetAuth() *AuthAction

func (*Route) GetDecorator

func (m *Route) GetDecorator() *Decorator

func (*Route) GetMatch

func (m *Route) GetMatch() *RouteMatch

func (*Route) GetMetadata

func (m *Route) GetMetadata() *Metadata

func (*Route) GetRedirect

func (m *Route) GetRedirect() *RedirectAction

func (*Route) GetRoute

func (m *Route) GetRoute() *RouteAction

func (*Route) Marshal

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

func (*Route) MarshalTo

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

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) Reset

func (m *Route) Reset()

func (*Route) Size

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

func (*Route) String

func (m *Route) String() string

func (*Route) Unmarshal

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

func (*Route) XXX_OneofFuncs

func (*Route) 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.

type RouteAction

type RouteAction struct {
	// Types that are valid to be assigned to ClusterSpecifier:
	//	*RouteAction_Cluster
	//	*RouteAction_ClusterHeader
	//	*RouteAction_WeightedClusters
	ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"`
	// The HTTP status code to use when configured cluster is not found.
	// The default response code is 503 Service Unavailable.
	ClusterNotFoundResponseCode RouteAction_ClusterNotFoundResponseCode `` /* 208-byte string literal not displayed */
	// Optional endpoint metadata match criteria. Only endpoints in the upstream
	// cluster with metadata matching that set in metadata_match will be
	// considered. The filter name should be specified as *envoy.lb*.
	MetadataMatch *Metadata `protobuf:"bytes,4,opt,name=metadata_match,json=metadataMatch" json:"metadata_match,omitempty"`
	// Indicates that during forwarding, the matched prefix (or path) should be
	// swapped with this value. This option allows application URLs to be rooted
	// at a different path from those exposed at the reverse proxy layer.
	PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"`
	// Types that are valid to be assigned to HostRewriteSpecifier:
	//	*RouteAction_HostRewrite
	//	*RouteAction_AutoHostRewrite
	HostRewriteSpecifier isRouteAction_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"`
	// Specifies the timeout for the route. If not specified, the default is 15s.
	//
	// .. note::
	//
	//   This timeout includes all retries. See also
	//   :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
	//   :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
	//   :ref:`retry overview <arch_overview_http_routing_retry>`.
	Timeout *time.Duration `protobuf:"bytes,8,opt,name=timeout,stdduration" json:"timeout,omitempty"`
	// Indicates that the route has a retry policy.
	RetryPolicy *RouteAction_RetryPolicy `protobuf:"bytes,9,opt,name=retry_policy,json=retryPolicy" json:"retry_policy,omitempty"`
	// Indicates that the route has a request mirroring policy.
	RequestMirrorPolicy *RouteAction_RequestMirrorPolicy `protobuf:"bytes,10,opt,name=request_mirror_policy,json=requestMirrorPolicy" json:"request_mirror_policy,omitempty"`
	// Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
	// [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
	// https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
	Priority RoutingPriority `protobuf:"varint,11,opt,name=priority,proto3,enum=envoy.api.v2.RoutingPriority" json:"priority,omitempty"`
	// Specifies a set of headers that will be added to requests matching this
	// route. Headers specified at this level are applied before headers from the
	// enclosing :ref:`envoy_api_msg_VirtualHost` and :ref:`envoy_api_msg_RouteConfiguration`.
	// For more information see the documentation on :ref:`custom request headers
	// <config_http_conn_man_headers_custom_request_headers>`.
	RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,12,rep,name=request_headers_to_add,json=requestHeadersToAdd" json:"request_headers_to_add,omitempty"`
	// Specifies a set of headers that will be added to responses to requests
	// matching this route. Headers specified at this level are applied before
	// headers from the enclosing :ref:`envoy_api_msg_VirtualHost` and
	// :ref:`envoy_api_msg_RouteConfiguration`.
	ResponseHeadersToAdd []*HeaderValueOption `protobuf:"bytes,18,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
	// to requests matching this route.
	ResponseHeadersToRemove []string `` /* 128-byte string literal not displayed */
	// Specifies a set of rate limit configurations that could be applied to the
	// route.
	RateLimits []*RateLimit `protobuf:"bytes,13,rep,name=rate_limits,json=rateLimits" json:"rate_limits,omitempty"`
	// Specifies if the rate limit filter should include the virtual host rate
	// limits. By default, if the route configured rate limits, the virtual host
	// :ref:`rate_limits <envoy_api_field_VirtualHost.rate_limits>` are not applied to the request.
	IncludeVhRateLimits *google_protobuf.BoolValue `protobuf:"bytes,14,opt,name=include_vh_rate_limits,json=includeVhRateLimits" json:"include_vh_rate_limits,omitempty"`
	// Specifies a list of hash policies to use for ring hash load balancing. Each
	// hash policy is evaluated individually and the combined result is used to
	// route the request. The method of combination is deterministic such that
	// identical lists of hash policies will produce the same hash. Since a hash
	// policy examines specific parts of a request, it can fail to produce a hash
	// (i.e. if the hashed header is not present). If (and only if) all configured
	// hash policies fail to generate a hash, no hash will be produced for
	// the route. In this case, the behavior is the same as if no hash policies
	// were specified (i.e. the ring hash load balancer will choose a random
	// backend).
	HashPolicy []*RouteAction_HashPolicy `protobuf:"bytes,15,rep,name=hash_policy,json=hashPolicy" json:"hash_policy,omitempty"`
	// Indicates that a HTTP/1.1 client connection to this particular route
	// should be allowed (and expected) to upgrade to a WebSocket connection. The
	// default is false.
	//
	// .. attention::
	//
	//   If set to true, Envoy will expect the first request matching this route to
	//   contain WebSocket upgrade headers. If the headers are not present, the
	//   connection will be rejected. If set to true, Envoy will setup plain TCP
	//   proxying between the client and the upstream server. Hence, an upstream
	//   server that rejects the WebSocket upgrade request is also responsible for
	//   closing the associated connection. Until then, Envoy will continue to
	//   proxy data from the client to the upstream server.
	//
	//   Redirects, timeouts and retries are not supported on routes where websocket upgrades are
	//   allowed.
	UseWebsocket *google_protobuf.BoolValue `protobuf:"bytes,16,opt,name=use_websocket,json=useWebsocket" json:"use_websocket,omitempty"`
	// Indicates that the route has a CORS policy.
	Cors *CorsPolicy `protobuf:"bytes,17,opt,name=cors" json:"cors,omitempty"`
}

func (*RouteAction) Descriptor

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

func (*RouteAction) GetAutoHostRewrite

func (m *RouteAction) GetAutoHostRewrite() *google_protobuf.BoolValue

func (*RouteAction) GetCluster

func (m *RouteAction) GetCluster() string

func (*RouteAction) GetClusterHeader

func (m *RouteAction) GetClusterHeader() string

func (*RouteAction) GetClusterNotFoundResponseCode

func (m *RouteAction) GetClusterNotFoundResponseCode() RouteAction_ClusterNotFoundResponseCode

func (*RouteAction) GetClusterSpecifier

func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier

func (*RouteAction) GetCors

func (m *RouteAction) GetCors() *CorsPolicy

func (*RouteAction) GetHashPolicy

func (m *RouteAction) GetHashPolicy() []*RouteAction_HashPolicy

func (*RouteAction) GetHostRewrite

func (m *RouteAction) GetHostRewrite() string

func (*RouteAction) GetHostRewriteSpecifier

func (m *RouteAction) GetHostRewriteSpecifier() isRouteAction_HostRewriteSpecifier

func (*RouteAction) GetIncludeVhRateLimits

func (m *RouteAction) GetIncludeVhRateLimits() *google_protobuf.BoolValue

func (*RouteAction) GetMetadataMatch

func (m *RouteAction) GetMetadataMatch() *Metadata

func (*RouteAction) GetPrefixRewrite

func (m *RouteAction) GetPrefixRewrite() string

func (*RouteAction) GetPriority

func (m *RouteAction) GetPriority() RoutingPriority

func (*RouteAction) GetRateLimits

func (m *RouteAction) GetRateLimits() []*RateLimit

func (*RouteAction) GetRequestHeadersToAdd

func (m *RouteAction) GetRequestHeadersToAdd() []*HeaderValueOption

func (*RouteAction) GetRequestMirrorPolicy

func (m *RouteAction) GetRequestMirrorPolicy() *RouteAction_RequestMirrorPolicy

func (*RouteAction) GetResponseHeadersToAdd

func (m *RouteAction) GetResponseHeadersToAdd() []*HeaderValueOption

func (*RouteAction) GetResponseHeadersToRemove

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

func (*RouteAction) GetRetryPolicy

func (m *RouteAction) GetRetryPolicy() *RouteAction_RetryPolicy

func (*RouteAction) GetTimeout

func (m *RouteAction) GetTimeout() *time.Duration

func (*RouteAction) GetUseWebsocket

func (m *RouteAction) GetUseWebsocket() *google_protobuf.BoolValue

func (*RouteAction) GetWeightedClusters

func (m *RouteAction) GetWeightedClusters() *WeightedCluster

func (*RouteAction) Marshal

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

func (*RouteAction) MarshalTo

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

func (*RouteAction) ProtoMessage

func (*RouteAction) ProtoMessage()

func (*RouteAction) Reset

func (m *RouteAction) Reset()

func (*RouteAction) Size

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

func (*RouteAction) String

func (m *RouteAction) String() string

func (*RouteAction) Unmarshal

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

func (*RouteAction) XXX_OneofFuncs

func (*RouteAction) 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.

type RouteAction_AutoHostRewrite

type RouteAction_AutoHostRewrite struct {
	AutoHostRewrite *google_protobuf.BoolValue `protobuf:"bytes,7,opt,name=auto_host_rewrite,json=autoHostRewrite,oneof"`
}

func (*RouteAction_AutoHostRewrite) MarshalTo

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

func (*RouteAction_AutoHostRewrite) Size

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

type RouteAction_Cluster

type RouteAction_Cluster struct {
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"`
}

func (*RouteAction_Cluster) MarshalTo

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

func (*RouteAction_Cluster) Size

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

type RouteAction_ClusterHeader

type RouteAction_ClusterHeader struct {
	ClusterHeader string `protobuf:"bytes,2,opt,name=cluster_header,json=clusterHeader,proto3,oneof"`
}

func (*RouteAction_ClusterHeader) MarshalTo

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

func (*RouteAction_ClusterHeader) Size

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

type RouteAction_ClusterNotFoundResponseCode

type RouteAction_ClusterNotFoundResponseCode int32
const (
	// HTTP status code - 503 Service Unavailable.
	RouteAction_SERVICE_UNAVAILABLE RouteAction_ClusterNotFoundResponseCode = 0
	// HTTP status code - 404 Not Found.
	RouteAction_NOT_FOUND RouteAction_ClusterNotFoundResponseCode = 1
)

func (RouteAction_ClusterNotFoundResponseCode) EnumDescriptor

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

func (RouteAction_ClusterNotFoundResponseCode) String

type RouteAction_HashPolicy

type RouteAction_HashPolicy struct {
	// Types that are valid to be assigned to PolicySpecifier:
	//	*RouteAction_HashPolicy_Header_
	//	*RouteAction_HashPolicy_Cookie_
	//	*RouteAction_HashPolicy_ConnectionProperties_
	PolicySpecifier isRouteAction_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"`
}

Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer <arch_overview_load_balancing_types>`.

func (*RouteAction_HashPolicy) Descriptor

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

func (*RouteAction_HashPolicy) GetConnectionProperties

func (*RouteAction_HashPolicy) GetCookie

func (*RouteAction_HashPolicy) GetHeader

func (*RouteAction_HashPolicy) GetPolicySpecifier

func (m *RouteAction_HashPolicy) GetPolicySpecifier() isRouteAction_HashPolicy_PolicySpecifier

func (*RouteAction_HashPolicy) Marshal

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

func (*RouteAction_HashPolicy) MarshalTo

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

func (*RouteAction_HashPolicy) ProtoMessage

func (*RouteAction_HashPolicy) ProtoMessage()

func (*RouteAction_HashPolicy) Reset

func (m *RouteAction_HashPolicy) Reset()

func (*RouteAction_HashPolicy) Size

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

func (*RouteAction_HashPolicy) String

func (m *RouteAction_HashPolicy) String() string

func (*RouteAction_HashPolicy) Unmarshal

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

func (*RouteAction_HashPolicy) XXX_OneofFuncs

func (*RouteAction_HashPolicy) 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.

type RouteAction_HashPolicy_ConnectionProperties

type RouteAction_HashPolicy_ConnectionProperties struct {
	// Hash on source IP address.
	SourceIp bool `protobuf:"varint,1,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
}

func (*RouteAction_HashPolicy_ConnectionProperties) Descriptor

func (*RouteAction_HashPolicy_ConnectionProperties) GetSourceIp

func (*RouteAction_HashPolicy_ConnectionProperties) Marshal

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

func (*RouteAction_HashPolicy_ConnectionProperties) MarshalTo

func (*RouteAction_HashPolicy_ConnectionProperties) ProtoMessage

func (*RouteAction_HashPolicy_ConnectionProperties) Reset

func (*RouteAction_HashPolicy_ConnectionProperties) Size

func (*RouteAction_HashPolicy_ConnectionProperties) String

func (*RouteAction_HashPolicy_ConnectionProperties) Unmarshal

type RouteAction_HashPolicy_ConnectionProperties_

type RouteAction_HashPolicy_ConnectionProperties_ struct {
	ConnectionProperties *RouteAction_HashPolicy_ConnectionProperties `protobuf:"bytes,3,opt,name=connection_properties,json=connectionProperties,oneof"`
}

func (*RouteAction_HashPolicy_ConnectionProperties_) MarshalTo

func (*RouteAction_HashPolicy_ConnectionProperties_) Size

type RouteAction_HashPolicy_Cookie struct {
	// The name of the cookie that will be used to obtain the hash key. If the
	// cookie is not present and ttl below is not set, no hash will be
	// produced.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// If specified, a cookie with the TTL will be generated if the cookie is
	// not present.
	Ttl *time.Duration `protobuf:"bytes,2,opt,name=ttl,stdduration" json:"ttl,omitempty"`
}

Envoy supports two types of cookie affinity:

  1. Passive. Envoy takes a cookie that's present in the cookies header and hashes on its value.
  1. Generated. Envoy generates and sets a cookie with an expiration (TTL) on the first request from the client in its response to the client, based on the endpoint the request gets sent to. The client then presents this on the next and all subsequent requests. The hash of this is sufficient to ensure these requests get sent to the same endpoint. The cookie is generated by hashing the source and destination ports and addresses so that multiple independent HTTP2 streams on the same connection will independently receive the same cookie, even if they arrive at the Envoy simultaneously.

func (*RouteAction_HashPolicy_Cookie) Descriptor

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

func (*RouteAction_HashPolicy_Cookie) GetName

func (*RouteAction_HashPolicy_Cookie) GetTtl

func (*RouteAction_HashPolicy_Cookie) Marshal

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

func (*RouteAction_HashPolicy_Cookie) MarshalTo

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

func (*RouteAction_HashPolicy_Cookie) ProtoMessage

func (*RouteAction_HashPolicy_Cookie) ProtoMessage()

func (*RouteAction_HashPolicy_Cookie) Reset

func (m *RouteAction_HashPolicy_Cookie) Reset()

func (*RouteAction_HashPolicy_Cookie) Size

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

func (*RouteAction_HashPolicy_Cookie) String

func (*RouteAction_HashPolicy_Cookie) Unmarshal

func (m *RouteAction_HashPolicy_Cookie) Unmarshal(dAtA []byte) error
type RouteAction_HashPolicy_Cookie_ struct {
	Cookie *RouteAction_HashPolicy_Cookie `protobuf:"bytes,2,opt,name=cookie,oneof"`
}
func (m *RouteAction_HashPolicy_Cookie_) MarshalTo(dAtA []byte) (int, error)
func (m *RouteAction_HashPolicy_Cookie_) Size() (n int)

type RouteAction_HashPolicy_Header

type RouteAction_HashPolicy_Header struct {
	// The name of the request header that will be used to obtain the hash
	// key. If the request header is not present, no hash will be produced.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
}

func (*RouteAction_HashPolicy_Header) Descriptor

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

func (*RouteAction_HashPolicy_Header) GetHeaderName

func (m *RouteAction_HashPolicy_Header) GetHeaderName() string

func (*RouteAction_HashPolicy_Header) Marshal

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

func (*RouteAction_HashPolicy_Header) MarshalTo

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

func (*RouteAction_HashPolicy_Header) ProtoMessage

func (*RouteAction_HashPolicy_Header) ProtoMessage()

func (*RouteAction_HashPolicy_Header) Reset

func (m *RouteAction_HashPolicy_Header) Reset()

func (*RouteAction_HashPolicy_Header) Size

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

func (*RouteAction_HashPolicy_Header) String

func (*RouteAction_HashPolicy_Header) Unmarshal

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

type RouteAction_HashPolicy_Header_

type RouteAction_HashPolicy_Header_ struct {
	Header *RouteAction_HashPolicy_Header `protobuf:"bytes,1,opt,name=header,oneof"`
}

func (*RouteAction_HashPolicy_Header_) MarshalTo

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

func (*RouteAction_HashPolicy_Header_) Size

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

type RouteAction_HostRewrite

type RouteAction_HostRewrite struct {
	HostRewrite string `protobuf:"bytes,6,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"`
}

func (*RouteAction_HostRewrite) MarshalTo

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

func (*RouteAction_HostRewrite) Size

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

type RouteAction_RequestMirrorPolicy

type RouteAction_RequestMirrorPolicy struct {
	// Specifies the cluster that requests will be mirrored to. The cluster must
	// exist in the cluster manager configuration.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// If not specified, all requests to the target cluster will be mirrored. If
	// specified, Envoy will lookup the runtime key to get the % of requests to
	// mirror. Valid values are from 0 to 10000, allowing for increments of
	// 0.01% of requests to be mirrored. If the runtime key is specified in the
	// configuration but not present in runtime, 0 is the default and thus 0% of
	// requests will be mirrored.
	RuntimeKey string `protobuf:"bytes,2,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
}

The router is capable of shadowing traffic from one cluster to another. The current implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to respond before returning the response from the primary cluster. All normal statistics are collected for the shadow cluster making this feature useful for testing.

During shadowing, the host/authority header is altered such that *-shadow* is appended. This is useful for logging. For example, *cluster1* becomes *cluster1-shadow*.

func (*RouteAction_RequestMirrorPolicy) Descriptor

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

func (*RouteAction_RequestMirrorPolicy) GetCluster

func (m *RouteAction_RequestMirrorPolicy) GetCluster() string

func (*RouteAction_RequestMirrorPolicy) GetRuntimeKey

func (m *RouteAction_RequestMirrorPolicy) GetRuntimeKey() string

func (*RouteAction_RequestMirrorPolicy) Marshal

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

func (*RouteAction_RequestMirrorPolicy) MarshalTo

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

func (*RouteAction_RequestMirrorPolicy) ProtoMessage

func (*RouteAction_RequestMirrorPolicy) ProtoMessage()

func (*RouteAction_RequestMirrorPolicy) Reset

func (*RouteAction_RequestMirrorPolicy) Size

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

func (*RouteAction_RequestMirrorPolicy) String

func (*RouteAction_RequestMirrorPolicy) Unmarshal

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

type RouteAction_RetryPolicy

type RouteAction_RetryPolicy struct {
	// Specifies the conditions under which retry takes place. These are the same
	// conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
	// :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
	RetryOn string `protobuf:"bytes,1,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"`
	// Specifies the allowed number of retries. This parameter is optional and
	// defaults to 1. These are the same conditions documented for
	// :ref:`config_http_filters_router_x-envoy-max-retries`.
	NumRetries *google_protobuf.UInt32Value `protobuf:"bytes,2,opt,name=num_retries,json=numRetries" json:"num_retries,omitempty"`
	// Specifies a non-zero timeout per retry attempt. This parameter is optional.
	// The same conditions documented for
	// :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
	//
	// .. note::
	//
	//   If left unspecified, Envoy will use the global
	//   :ref:`route timeout <envoy_api_field_RouteAction.timeout>` for the request.
	//   Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
	//   retry policy, a request that times out will not be retried as the total timeout budget
	//   would have been exhausted.
	PerTryTimeout *time.Duration `protobuf:"bytes,3,opt,name=per_try_timeout,json=perTryTimeout,stdduration" json:"per_try_timeout,omitempty"`
}

HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.

func (*RouteAction_RetryPolicy) Descriptor

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

func (*RouteAction_RetryPolicy) GetNumRetries

func (*RouteAction_RetryPolicy) GetPerTryTimeout

func (m *RouteAction_RetryPolicy) GetPerTryTimeout() *time.Duration

func (*RouteAction_RetryPolicy) GetRetryOn

func (m *RouteAction_RetryPolicy) GetRetryOn() string

func (*RouteAction_RetryPolicy) Marshal

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

func (*RouteAction_RetryPolicy) MarshalTo

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

func (*RouteAction_RetryPolicy) ProtoMessage

func (*RouteAction_RetryPolicy) ProtoMessage()

func (*RouteAction_RetryPolicy) Reset

func (m *RouteAction_RetryPolicy) Reset()

func (*RouteAction_RetryPolicy) Size

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

func (*RouteAction_RetryPolicy) String

func (m *RouteAction_RetryPolicy) String() string

func (*RouteAction_RetryPolicy) Unmarshal

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

type RouteAction_WeightedClusters

type RouteAction_WeightedClusters struct {
	WeightedClusters *WeightedCluster `protobuf:"bytes,3,opt,name=weighted_clusters,json=weightedClusters,oneof"`
}

func (*RouteAction_WeightedClusters) MarshalTo

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

func (*RouteAction_WeightedClusters) Size

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

type RouteConfiguration

type RouteConfiguration struct {
	// The name of the route configuration. For example, it might match
	// :ref:`route_config_name <envoy_api_field_filter.network.Rds.route_config_name>` in
	// :ref:`envoy_api_msg_filter.network.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 []*VirtualHost `protobuf:"bytes,2,rep,name=virtual_hosts,json=virtualHosts" json:"virtual_hosts,omitempty"`
	// 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_VirtualHost` or
	// :ref:`envoy_api_msg_RouteAction`.
	ResponseHeadersToAdd []*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_VirtualHost` or
	// :ref:`envoy_api_msg_RouteAction`. For more information see the documentation on
	// :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
	RequestHeadersToAdd []*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_filter.network.HttpConnectionManager.route_config>` option. This setting
	// default to false if the route table is loaded dynamically via the :ref:`rds
	// <envoy_api_field_filter.network.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 *google_protobuf.BoolValue `protobuf:"bytes,7,opt,name=validate_clusters,json=validateClusters" json:"validate_clusters,omitempty"`
}

* Routing :ref:`architecture overview <arch_overview_http_routing>` * HTTP :ref:`router filter <config_http_filters_router>`

func (*RouteConfiguration) Descriptor

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

func (*RouteConfiguration) GetInternalOnlyHeaders

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

func (*RouteConfiguration) GetName

func (m *RouteConfiguration) GetName() string

func (*RouteConfiguration) GetRequestHeadersToAdd

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

func (*RouteConfiguration) GetResponseHeadersToAdd

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

func (*RouteConfiguration) GetResponseHeadersToRemove

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

func (*RouteConfiguration) GetValidateClusters

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

func (*RouteConfiguration) GetVirtualHosts

func (m *RouteConfiguration) GetVirtualHosts() []*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

type RouteDiscoveryServiceClient

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

func NewRouteDiscoveryServiceClient

func NewRouteDiscoveryServiceClient(cc *grpc.ClientConn) RouteDiscoveryServiceClient

type RouteDiscoveryServiceServer

type RouteDiscoveryServiceServer interface {
	StreamRoutes(RouteDiscoveryService_StreamRoutesServer) error
	FetchRoutes(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

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 RouteMatch

type RouteMatch struct {
	// Types that are valid to be assigned to PathSpecifier:
	//	*RouteMatch_Prefix
	//	*RouteMatch_Path
	//	*RouteMatch_Regex
	PathSpecifier isRouteMatch_PathSpecifier `protobuf_oneof:"path_specifier"`
	// Indicates that prefix/path matching should be case insensitive. The default
	// is true.
	CaseSensitive *google_protobuf.BoolValue `protobuf:"bytes,4,opt,name=case_sensitive,json=caseSensitive" json:"case_sensitive,omitempty"`
	// Indicates that the route should additionally match on a runtime key. An
	// integer between 0-100. Every time the route is considered for a match, a
	// random number between 0-99 is selected. If the number is <= the value found
	// in the key (checked first) or, if the key is not present, the default
	// value, the route is a match (assuming everything also about the route
	// matches). A runtime route configuration can be used to roll out route changes in a
	// gradual manner without full code/config deploys. Refer to the
	// :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs
	// for additional documentation.
	Runtime *RuntimeUInt32 `protobuf:"bytes,5,opt,name=runtime" json:"runtime,omitempty"`
	// Specifies a set of headers that the route should match on. The router will
	// check the request’s headers against all the specified headers in the route
	// config. A match will happen if all the headers in the route are present in
	// the request with the same values (or based on presence if the value field
	// is not in the config).
	Headers []*HeaderMatcher `protobuf:"bytes,6,rep,name=headers" json:"headers,omitempty"`
}

func (*RouteMatch) Descriptor

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

func (*RouteMatch) GetCaseSensitive

func (m *RouteMatch) GetCaseSensitive() *google_protobuf.BoolValue

func (*RouteMatch) GetHeaders

func (m *RouteMatch) GetHeaders() []*HeaderMatcher

func (*RouteMatch) GetPath

func (m *RouteMatch) GetPath() string

func (*RouteMatch) GetPathSpecifier

func (m *RouteMatch) GetPathSpecifier() isRouteMatch_PathSpecifier

func (*RouteMatch) GetPrefix

func (m *RouteMatch) GetPrefix() string

func (*RouteMatch) GetRegex

func (m *RouteMatch) GetRegex() string

func (*RouteMatch) GetRuntime

func (m *RouteMatch) GetRuntime() *RuntimeUInt32

func (*RouteMatch) Marshal

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

func (*RouteMatch) MarshalTo

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

func (*RouteMatch) ProtoMessage

func (*RouteMatch) ProtoMessage()

func (*RouteMatch) Reset

func (m *RouteMatch) Reset()

func (*RouteMatch) Size

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

func (*RouteMatch) String

func (m *RouteMatch) String() string

func (*RouteMatch) Unmarshal

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

func (*RouteMatch) XXX_OneofFuncs

func (*RouteMatch) 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.

type RouteMatch_Path

type RouteMatch_Path struct {
	Path string `protobuf:"bytes,2,opt,name=path,proto3,oneof"`
}

func (*RouteMatch_Path) MarshalTo

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

func (*RouteMatch_Path) Size

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

type RouteMatch_Prefix

type RouteMatch_Prefix struct {
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"`
}

func (*RouteMatch_Prefix) MarshalTo

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

func (*RouteMatch_Prefix) Size

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

type RouteMatch_Regex

type RouteMatch_Regex struct {
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

func (*RouteMatch_Regex) MarshalTo

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

func (*RouteMatch_Regex) Size

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

type Route_Redirect

type Route_Redirect struct {
	Redirect *RedirectAction `protobuf:"bytes,3,opt,name=redirect,oneof"`
}

func (*Route_Redirect) MarshalTo

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

func (*Route_Redirect) Size

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

type Route_Route

type Route_Route struct {
	Route *RouteAction `protobuf:"bytes,2,opt,name=route,oneof"`
}

func (*Route_Route) MarshalTo

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

func (*Route_Route) Size

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

type RoutingPriority

type RoutingPriority int32

Envoy supports :ref:`upstream priority routing <arch_overview_http_routing_priority>` both at the route and the virtual cluster level. The current priority implementation uses different connection pool and circuit breaking settings for each priority level. This means that even for HTTP/2 requests, two physical connections will be used to an upstream host. In the future Envoy will likely support true HTTP/2 priority over a single upstream connection.

const (
	RoutingPriority_DEFAULT RoutingPriority = 0
	RoutingPriority_HIGH    RoutingPriority = 1
)

func (RoutingPriority) EnumDescriptor

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

func (RoutingPriority) String

func (x RoutingPriority) String() string

type Runtime

type Runtime struct {
	// The implementation assumes that the file system tree is accessed via a
	// symbolic link. An atomic link swap is used when a new tree should be
	// switched to. This parameter specifies the path to the symbolic link. Envoy
	// will watch the location for changes and reload the file system tree when
	// they happen.
	SymlinkRoot string `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"`
	// Specifies the subdirectory to load within the root directory. This is
	// useful if multiple systems share the same delivery mechanism. Envoy
	// configuration elements can be contained in a dedicated subdirectory.
	Subdirectory string `protobuf:"bytes,2,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"`
	// Specifies an optional subdirectory to load within the root directory. If
	// specified and the directory exists, configuration values within this
	// directory will override those found in the primary subdirectory. This is
	// useful when Envoy is deployed across many different types of servers.
	// Sometimes it is useful to have a per service cluster directory for runtime
	// configuration. See below for exactly how the override directory is used.
	OverrideSubdirectory string `protobuf:"bytes,3,opt,name=override_subdirectory,json=overrideSubdirectory,proto3" json:"override_subdirectory,omitempty"`
}

Runtime :ref:`configuration overview <config_runtime>`.

func (*Runtime) Descriptor

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

func (*Runtime) GetOverrideSubdirectory

func (m *Runtime) GetOverrideSubdirectory() string

func (*Runtime) GetSubdirectory

func (m *Runtime) GetSubdirectory() string

func (*Runtime) GetSymlinkRoot

func (m *Runtime) GetSymlinkRoot() string

func (*Runtime) Marshal

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

func (*Runtime) MarshalTo

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

func (*Runtime) ProtoMessage

func (*Runtime) ProtoMessage()

func (*Runtime) Reset

func (m *Runtime) Reset()

func (*Runtime) Size

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

func (*Runtime) String

func (m *Runtime) String() string

func (*Runtime) Unmarshal

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

type RuntimeUInt32

type RuntimeUInt32 struct {
	// Default value if runtime value is not available.
	DefaultValue uint32 `protobuf:"varint,2,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
	// Runtime key to get value for comparison. This value is used if defined.
	RuntimeKey string `protobuf:"bytes,3,opt,name=runtime_key,json=runtimeKey,proto3" json:"runtime_key,omitempty"`
}

Runtime derived uint32 with a default when not specified.

func (*RuntimeUInt32) Descriptor

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

func (*RuntimeUInt32) GetDefaultValue

func (m *RuntimeUInt32) GetDefaultValue() uint32

func (*RuntimeUInt32) GetRuntimeKey

func (m *RuntimeUInt32) GetRuntimeKey() string

func (*RuntimeUInt32) Marshal

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

func (*RuntimeUInt32) MarshalTo

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

func (*RuntimeUInt32) ProtoMessage

func (*RuntimeUInt32) ProtoMessage()

func (*RuntimeUInt32) Reset

func (m *RuntimeUInt32) Reset()

func (*RuntimeUInt32) Size

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

func (*RuntimeUInt32) String

func (m *RuntimeUInt32) String() string

func (*RuntimeUInt32) Unmarshal

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

type SdsSecretConfig

type SdsSecretConfig struct {
	// Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
	// When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
	// When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
	Name      string        `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	SdsConfig *ConfigSource `protobuf:"bytes,2,opt,name=sds_config,json=sdsConfig" json:"sds_config,omitempty"`
}

[#proto-status: experimental] [#not-implemented-hide:]

func (*SdsSecretConfig) Descriptor

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

func (*SdsSecretConfig) GetName

func (m *SdsSecretConfig) GetName() string

func (*SdsSecretConfig) GetSdsConfig

func (m *SdsSecretConfig) GetSdsConfig() *ConfigSource

func (*SdsSecretConfig) Marshal

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

func (*SdsSecretConfig) MarshalTo

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

func (*SdsSecretConfig) ProtoMessage

func (*SdsSecretConfig) ProtoMessage()

func (*SdsSecretConfig) Reset

func (m *SdsSecretConfig) Reset()

func (*SdsSecretConfig) Size

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

func (*SdsSecretConfig) String

func (m *SdsSecretConfig) String() string

func (*SdsSecretConfig) Unmarshal

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

type Secret

type Secret struct {
	// Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to Type:
	//	*Secret_TlsCertificate
	//	*Secret_SessionTicketKeys
	Type isSecret_Type `protobuf_oneof:"type"`
}

[#proto-status: experimental] [#not-implemented-hide:]

func (*Secret) Descriptor

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

func (*Secret) GetName

func (m *Secret) GetName() string

func (*Secret) GetSessionTicketKeys

func (m *Secret) GetSessionTicketKeys() *TlsSessionTicketKeys

func (*Secret) GetTlsCertificate

func (m *Secret) GetTlsCertificate() *TlsCertificate

func (*Secret) GetType

func (m *Secret) GetType() isSecret_Type

func (*Secret) Marshal

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

func (*Secret) MarshalTo

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

func (*Secret) ProtoMessage

func (*Secret) ProtoMessage()

func (*Secret) Reset

func (m *Secret) Reset()

func (*Secret) Size

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

func (*Secret) String

func (m *Secret) String() string

func (*Secret) Unmarshal

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

func (*Secret) XXX_OneofFuncs

func (*Secret) 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.

type SecretDiscoveryServiceClient

type SecretDiscoveryServiceClient interface {
	StreamSecrets(ctx context.Context, opts ...grpc.CallOption) (SecretDiscoveryService_StreamSecretsClient, error)
	FetchSecrets(ctx context.Context, in *DiscoveryRequest, opts ...grpc.CallOption) (*DiscoveryResponse, error)
}

func NewSecretDiscoveryServiceClient

func NewSecretDiscoveryServiceClient(cc *grpc.ClientConn) SecretDiscoveryServiceClient

type SecretDiscoveryServiceServer

type SecretDiscoveryServiceServer interface {
	StreamSecrets(SecretDiscoveryService_StreamSecretsServer) error
	FetchSecrets(context.Context, *DiscoveryRequest) (*DiscoveryResponse, error)
}

type SecretDiscoveryService_StreamSecretsClient

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

type SecretDiscoveryService_StreamSecretsServer

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

type Secret_SessionTicketKeys

type Secret_SessionTicketKeys struct {
	SessionTicketKeys *TlsSessionTicketKeys `protobuf:"bytes,3,opt,name=session_ticket_keys,json=sessionTicketKeys,oneof"`
}

func (*Secret_SessionTicketKeys) MarshalTo

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

func (*Secret_SessionTicketKeys) Size

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

type Secret_TlsCertificate

type Secret_TlsCertificate struct {
	TlsCertificate *TlsCertificate `protobuf:"bytes,2,opt,name=tls_certificate,json=tlsCertificate,oneof"`
}

func (*Secret_TlsCertificate) MarshalTo

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

func (*Secret_TlsCertificate) Size

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

type SocketAddress

type SocketAddress struct {
	Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=envoy.api.v2.SocketAddress_Protocol" json:"protocol,omitempty"`
	// The address for this socket. :ref:`Listeners <config_listeners>` will bind
	// to the address or outbound connections will be made. An empty address is
	// not allowed, specify “0.0.0.0“ or “::“ to bind any. It's still possible to
	// distinguish on an address via the prefix/suffix matching in
	// FilterChainMatch after connection. For :ref:`clusters
	// <config_cluster_manager_cluster>`, an address may be either an IP or
	// hostname to be resolved via DNS. If it is a hostname, :ref:`resolver_name
	// <envoy_api_field_SocketAddress.resolver_name>` should be set unless default
	// (i.e. DNS) resolution is expected.
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// Types that are valid to be assigned to PortSpecifier:
	//	*SocketAddress_PortValue
	//	*SocketAddress_NamedPort
	PortSpecifier isSocketAddress_PortSpecifier `protobuf_oneof:"port_specifier"`
	// The name of the resolver. This must have been registered with Envoy. If this is
	// empty, a context dependent default applies. If address is a hostname this
	// should be set for resolution other than DNS. If the address is a concrete
	// IP address, no resolution will occur.
	ResolverName string `protobuf:"bytes,5,opt,name=resolver_name,json=resolverName,proto3" json:"resolver_name,omitempty"`
	// When binding to an IPv6 address above, this enables `IPv4 compatibity
	// <https://tools.ietf.org/html/rfc3493#page-11>`_. Binding to “::“ will
	// allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
	// IPv6 space as “::FFFF:<IPv4-address>“.
	Ipv4Compat bool `protobuf:"varint,6,opt,name=ipv4_compat,json=ipv4Compat,proto3" json:"ipv4_compat,omitempty"`
}

func (*SocketAddress) Descriptor

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

func (*SocketAddress) GetAddress

func (m *SocketAddress) GetAddress() string

func (*SocketAddress) GetIpv4Compat

func (m *SocketAddress) GetIpv4Compat() bool

func (*SocketAddress) GetNamedPort

func (m *SocketAddress) GetNamedPort() string

func (*SocketAddress) GetPortSpecifier

func (m *SocketAddress) GetPortSpecifier() isSocketAddress_PortSpecifier

func (*SocketAddress) GetPortValue

func (m *SocketAddress) GetPortValue() uint32

func (*SocketAddress) GetProtocol

func (m *SocketAddress) GetProtocol() SocketAddress_Protocol

func (*SocketAddress) GetResolverName

func (m *SocketAddress) GetResolverName() string

func (*SocketAddress) Marshal

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

func (*SocketAddress) MarshalTo

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

func (*SocketAddress) ProtoMessage

func (*SocketAddress) ProtoMessage()

func (*SocketAddress) Reset

func (m *SocketAddress) Reset()

func (*SocketAddress) Size

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

func (*SocketAddress) String

func (m *SocketAddress) String() string

func (*SocketAddress) Unmarshal

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

func (*SocketAddress) XXX_OneofFuncs

func (*SocketAddress) 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.

type SocketAddress_NamedPort

type SocketAddress_NamedPort struct {
	NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"`
}

func (*SocketAddress_NamedPort) MarshalTo

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

func (*SocketAddress_NamedPort) Size

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

type SocketAddress_PortValue

type SocketAddress_PortValue struct {
	PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"`
}

func (*SocketAddress_PortValue) MarshalTo

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

func (*SocketAddress_PortValue) Size

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

type SocketAddress_Protocol

type SocketAddress_Protocol int32
const (
	SocketAddress_TCP SocketAddress_Protocol = 0
	// [#not-implemented-hide:]
	SocketAddress_UDP SocketAddress_Protocol = 1
)

func (SocketAddress_Protocol) EnumDescriptor

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

func (SocketAddress_Protocol) String

func (x SocketAddress_Protocol) String() string

type StatsConfig

type StatsConfig struct {
	// Each stat name is iteratively processed through these tag specifiers.
	// When a tag is matched, the first capture group is removed from the name so
	// later :ref:`TagSpecifiers <envoy_api_msg_TagSpecifier>` cannot match that
	// same portion of the match.
	StatsTags []*TagSpecifier `protobuf:"bytes,1,rep,name=stats_tags,json=statsTags" json:"stats_tags,omitempty"`
	// Use all default tag regexes specified in Envoy. These can be combined with
	// custom tags specified in :ref:`stats_tags
	// <envoy_api_field_StatsConfig.stats_tags>`. They will be processed before
	// the custom tags.
	//
	// .. note::
	//
	//   If any default tags are specified twice, the config will be considered
	//   invalid.
	//
	// See `well_known_names.h
	// <https://github.com/envoyproxy/envoy/blob/master/source/common/config/well_known_names.h>`_
	// for a list of the default tags in Envoy.
	//
	// If not provided, the value is assumed to be true.
	UseAllDefaultTags *google_protobuf.BoolValue `protobuf:"bytes,2,opt,name=use_all_default_tags,json=useAllDefaultTags" json:"use_all_default_tags,omitempty"`
}

Statistics configuration such as tagging.

func (*StatsConfig) Descriptor

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

func (*StatsConfig) GetStatsTags

func (m *StatsConfig) GetStatsTags() []*TagSpecifier

func (*StatsConfig) GetUseAllDefaultTags

func (m *StatsConfig) GetUseAllDefaultTags() *google_protobuf.BoolValue

func (*StatsConfig) Marshal

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

func (*StatsConfig) MarshalTo

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

func (*StatsConfig) ProtoMessage

func (*StatsConfig) ProtoMessage()

func (*StatsConfig) Reset

func (m *StatsConfig) Reset()

func (*StatsConfig) Size

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

func (*StatsConfig) String

func (m *StatsConfig) String() string

func (*StatsConfig) Unmarshal

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

type StatsSink

type StatsSink struct {
	// The name of the stats sink to instantiate. The name must match a supported
	// stats sink. *envoy.statsd* is a built-in sink suitable for emitting to
	// `statsd <https://github.com/etsy/statsd>`_. Any other built-in stats sink
	// can be found in `well_known_names.h
	// <https://github.com/envoyproxy/envoy/blob/master/source/common/config/well_known_names.h>`_
	// in the Envoy repository.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Stats sink specific configuration which depends on the sink being
	// instantiated. See :ref:`StatsdSink <envoy_api_msg_StatsdSink>` for an
	// example.
	Config *google_protobuf4.Struct `protobuf:"bytes,2,opt,name=config" json:"config,omitempty"`
}

Configuration for pluggable stats sinks.

func (*StatsSink) Descriptor

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

func (*StatsSink) GetConfig

func (m *StatsSink) GetConfig() *google_protobuf4.Struct

func (*StatsSink) GetName

func (m *StatsSink) GetName() string

func (*StatsSink) Marshal

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

func (*StatsSink) MarshalTo

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

func (*StatsSink) ProtoMessage

func (*StatsSink) ProtoMessage()

func (*StatsSink) Reset

func (m *StatsSink) Reset()

func (*StatsSink) Size

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

func (*StatsSink) String

func (m *StatsSink) String() string

func (*StatsSink) Unmarshal

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

type StatsdSink

type StatsdSink struct {
	// Types that are valid to be assigned to StatsdSpecifier:
	//	*StatsdSink_Address
	//	*StatsdSink_TcpClusterName
	StatsdSpecifier isStatsdSink_StatsdSpecifier `protobuf_oneof:"statsd_specifier"`
}

Stats configuration proto schema for built-in *envoy.statsd* sink.

func (*StatsdSink) Descriptor

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

func (*StatsdSink) GetAddress

func (m *StatsdSink) GetAddress() *Address

func (*StatsdSink) GetStatsdSpecifier

func (m *StatsdSink) GetStatsdSpecifier() isStatsdSink_StatsdSpecifier

func (*StatsdSink) GetTcpClusterName

func (m *StatsdSink) GetTcpClusterName() string

func (*StatsdSink) Marshal

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

func (*StatsdSink) MarshalTo

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

func (*StatsdSink) ProtoMessage

func (*StatsdSink) ProtoMessage()

func (*StatsdSink) Reset

func (m *StatsdSink) Reset()

func (*StatsdSink) Size

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

func (*StatsdSink) String

func (m *StatsdSink) String() string

func (*StatsdSink) Unmarshal

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

func (*StatsdSink) XXX_OneofFuncs

func (*StatsdSink) 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.

type StatsdSink_Address

type StatsdSink_Address struct {
	Address *Address `protobuf:"bytes,1,opt,name=address,oneof"`
}

func (*StatsdSink_Address) MarshalTo

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

func (*StatsdSink_Address) Size

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

type StatsdSink_TcpClusterName

type StatsdSink_TcpClusterName struct {
	TcpClusterName string `protobuf:"bytes,2,opt,name=tcp_cluster_name,json=tcpClusterName,proto3,oneof"`
}

func (*StatsdSink_TcpClusterName) MarshalTo

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

func (*StatsdSink_TcpClusterName) Size

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

type TagSpecifier

type TagSpecifier struct {
	// Attaches an identifier to the tag values to identify the tag being in the
	// sink. Envoy has a set of default names and regexes to extract dynamic
	// portions of existing stats, which can be found in `well_known_names.h
	// <https://github.com/envoyproxy/envoy/blob/master/source/common/config/well_known_names.h>`_
	// in the Envoy repository. If a :ref:`tag_name
	// <envoy_api_field_TagSpecifier.tag_name>` is provided in the config with an
	// empty regex, Envoy will attempt to find that name in its set of defaults
	// and use the accompanying regex.
	//
	// .. note::
	//
	//   If any default tags are specified twice, the config will be considered
	//   invalid.
	TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
	// The first capture group identifies the portion of the name to remove. The
	// second capture group (which will normally be nested inside the first) will
	// designate the value of the tag for the statistic. If no second capture
	// group is provided, the first will also be used to set the value of the tag.
	// All other capture groups will be ignored.
	//
	// Take for example, with a stat name “cluster.foo_cluster.upstream_rq_timeout“
	// and
	//
	// .. code-block:: json
	//
	//   {
	//     "tag_name": "envoy.cluster_name",
	//     "regex": "^cluster\.((.+?)\.)"
	//   }
	//
	// Note that the regex will remove “foo_cluster.“ making the tag extracted
	// name “cluster.upstream_rq_timeout“ and the tag value for
	// “envoy.cluster_name“ will be “foo_cluster“ (note: there will be no
	// “.“ character because of the second capture group).
	//
	// An example with two regexes and stat name
	// “http.connection_manager_1.user_agent.ios.downstream_cx_total“:
	//
	// .. code-block:: json
	//
	//   [
	//     {
	//       "tag_name": "envoy.http_user_agent",
	//       "regex": "^http(?=\.).*?\.user_agent\.((.+?)\.)\w+?$"
	//     },
	//     {
	//       "tag_name": "envoy.http_conn_manager_prefix",
	//       "regex": "^http\.((.*?)\.)"
	//     }
	//   ]
	//
	// The first regex will remove “ios.“, leaving the tag extracted name
	// “http.connection_manager_1.user_agent.downstream_cx_total“. The tag
	// “envoy.http_user_agent“ will be added with tag value “ios“.
	//
	// The second regex will remove “connection_manager_1.“ from the tag
	// extracted name produced by the first regex
	// “http.connection_manager_1.user_agent.downstream_cx_total“, leaving
	// “http.user_agent.downstream_cx_total“ as the tag extracted name. The tag
	// “envoy.http_conn_manager_prefix“ will be added with the tag value
	// “connection_manager_1“.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
}

Designates a tag to strip from the tag extracted name and provide as a named tag value for all statistics. This will only occur if any part of the name matches the regex provided with one or more capture groups.

func (*TagSpecifier) Descriptor

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

func (*TagSpecifier) GetRegex

func (m *TagSpecifier) GetRegex() string

func (*TagSpecifier) GetTagName

func (m *TagSpecifier) GetTagName() string

func (*TagSpecifier) Marshal

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

func (*TagSpecifier) MarshalTo

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

func (*TagSpecifier) ProtoMessage

func (*TagSpecifier) ProtoMessage()

func (*TagSpecifier) Reset

func (m *TagSpecifier) Reset()

func (*TagSpecifier) Size

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

func (*TagSpecifier) String

func (m *TagSpecifier) String() string

func (*TagSpecifier) Unmarshal

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

type TcpProtocolOptions

type TcpProtocolOptions struct {
}

[#not-implemented-hide:]

func (*TcpProtocolOptions) Descriptor

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

func (*TcpProtocolOptions) Marshal

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

func (*TcpProtocolOptions) MarshalTo

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

func (*TcpProtocolOptions) ProtoMessage

func (*TcpProtocolOptions) ProtoMessage()

func (*TcpProtocolOptions) Reset

func (m *TcpProtocolOptions) Reset()

func (*TcpProtocolOptions) Size

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

func (*TcpProtocolOptions) String

func (m *TcpProtocolOptions) String() string

func (*TcpProtocolOptions) Unmarshal

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

type TlsCertificate

type TlsCertificate struct {
	// The TLS certificate chain.
	CertificateChain *DataSource `protobuf:"bytes,1,opt,name=certificate_chain,json=certificateChain" json:"certificate_chain,omitempty"`
	// The TLS private key.
	PrivateKey *DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey" json:"private_key,omitempty"`
	// [#not-implemented-hide:]
	Password *DataSource `protobuf:"bytes,3,opt,name=password" json:"password,omitempty"`
	// [#not-implemented-hide:]
	OcspStaple *DataSource `protobuf:"bytes,4,opt,name=ocsp_staple,json=ocspStaple" json:"ocsp_staple,omitempty"`
	// [#not-implemented-hide:]
	SignedCertificateTimestamp []*DataSource `` /* 134-byte string literal not displayed */
}

func (*TlsCertificate) Descriptor

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

func (*TlsCertificate) GetCertificateChain

func (m *TlsCertificate) GetCertificateChain() *DataSource

func (*TlsCertificate) GetOcspStaple

func (m *TlsCertificate) GetOcspStaple() *DataSource

func (*TlsCertificate) GetPassword

func (m *TlsCertificate) GetPassword() *DataSource

func (*TlsCertificate) GetPrivateKey

func (m *TlsCertificate) GetPrivateKey() *DataSource

func (*TlsCertificate) GetSignedCertificateTimestamp

func (m *TlsCertificate) GetSignedCertificateTimestamp() []*DataSource

func (*TlsCertificate) Marshal

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

func (*TlsCertificate) MarshalTo

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

func (*TlsCertificate) ProtoMessage

func (*TlsCertificate) ProtoMessage()

func (*TlsCertificate) Reset

func (m *TlsCertificate) Reset()

func (*TlsCertificate) Size

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

func (*TlsCertificate) String

func (m *TlsCertificate) String() string

func (*TlsCertificate) Unmarshal

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

type TlsParameters

type TlsParameters struct {
	// Minimum TLS protocol version.
	TlsMinimumProtocolVersion TlsParameters_TlsProtocol `` /* 185-byte string literal not displayed */
	// Maximum TLS protocol version.
	TlsMaximumProtocolVersion TlsParameters_TlsProtocol `` /* 185-byte string literal not displayed */
	// If specified, the TLS listener will only support the specified `cipher list
	// <https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration>`_.
	// If not specified, the default list:
	//
	// .. code-block:: none
	//
	//   [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
	//   [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
	//   ECDHE-ECDSA-AES128-SHA256
	//   ECDHE-RSA-AES128-SHA256
	//   ECDHE-ECDSA-AES128-SHA
	//   ECDHE-RSA-AES128-SHA
	//   AES128-GCM-SHA256
	//   AES128-SHA256
	//   AES128-SHA
	//   ECDHE-ECDSA-AES256-GCM-SHA384
	//   ECDHE-RSA-AES256-GCM-SHA384
	//   ECDHE-ECDSA-AES256-SHA384
	//   ECDHE-RSA-AES256-SHA384
	//   ECDHE-ECDSA-AES256-SHA
	//   ECDHE-RSA-AES256-SHA
	//   AES256-GCM-SHA384
	//   AES256-SHA256
	//   AES256-SHA
	//
	// will be used.
	CipherSuites []string `protobuf:"bytes,3,rep,name=cipher_suites,json=cipherSuites" json:"cipher_suites,omitempty"`
	// If specified, the TLS connection will only support the specified ECDH
	// curves. If not specified, the default curves (X25519, P-256) will be used.
	EcdhCurves []string `protobuf:"bytes,4,rep,name=ecdh_curves,json=ecdhCurves" json:"ecdh_curves,omitempty"`
}

func (*TlsParameters) Descriptor

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

func (*TlsParameters) GetCipherSuites

func (m *TlsParameters) GetCipherSuites() []string

func (*TlsParameters) GetEcdhCurves

func (m *TlsParameters) GetEcdhCurves() []string

func (*TlsParameters) GetTlsMaximumProtocolVersion

func (m *TlsParameters) GetTlsMaximumProtocolVersion() TlsParameters_TlsProtocol

func (*TlsParameters) GetTlsMinimumProtocolVersion

func (m *TlsParameters) GetTlsMinimumProtocolVersion() TlsParameters_TlsProtocol

func (*TlsParameters) Marshal

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

func (*TlsParameters) MarshalTo

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

func (*TlsParameters) ProtoMessage

func (*TlsParameters) ProtoMessage()

func (*TlsParameters) Reset

func (m *TlsParameters) Reset()

func (*TlsParameters) Size

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

func (*TlsParameters) String

func (m *TlsParameters) String() string

func (*TlsParameters) Unmarshal

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

type TlsParameters_TlsProtocol

type TlsParameters_TlsProtocol int32
const (
	// Envoy will choose the optimal TLS version.
	TlsParameters_TLS_AUTO TlsParameters_TlsProtocol = 0
	// TLS 1.0
	TlsParameters_TLSv1_0 TlsParameters_TlsProtocol = 1
	// TLS 1.1
	TlsParameters_TLSv1_1 TlsParameters_TlsProtocol = 2
	// TLS 1.2
	TlsParameters_TLSv1_2 TlsParameters_TlsProtocol = 3
	// TLS 1.3
	TlsParameters_TLSv1_3 TlsParameters_TlsProtocol = 4
)

func (TlsParameters_TlsProtocol) EnumDescriptor

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

func (TlsParameters_TlsProtocol) String

func (x TlsParameters_TlsProtocol) String() string

type TlsSessionTicketKeys

type TlsSessionTicketKeys struct {
	// Keys for encrypting and decrypting TLS session tickets. The
	// first key in the array contains the key to encrypt all new sessions created by this context.
	// All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
	// by, for example, putting the new key first, and the previous key second.
	//
	// If :ref:`session_ticket_keys <envoy_api_field_DownstreamTlsContext.session_ticket_keys>` is not
	// specified, the TLS library will still support resuming
	// sessions via tickets, but it will use an internally-generated and managed key, so sessions
	// cannot be resumed across hot restarts or on different hosts.
	//
	// Each key must contain exactly 80 bytes of cryptographically-secure random data. For
	// example, the output of “openssl rand 80“.
	//
	// .. attention::
	//
	//   Using this feature has serious security considerations and risks. Improper handling of keys
	//   may result in loss of secrecy in connections, even if ciphers supporting perfect forward
	//   secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
	//   discussion. To minimize the risk, you must:
	//
	//   * Keep the session ticket keys at least as secure as your TLS certificate private keys
	//   * Rotate session ticket keys at least daily, and preferably hourly
	//   * Always generate keys using a cryptographically-secure random data source
	Keys []*DataSource `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
}

func (*TlsSessionTicketKeys) Descriptor

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

func (*TlsSessionTicketKeys) GetKeys

func (m *TlsSessionTicketKeys) GetKeys() []*DataSource

func (*TlsSessionTicketKeys) Marshal

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

func (*TlsSessionTicketKeys) MarshalTo

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

func (*TlsSessionTicketKeys) ProtoMessage

func (*TlsSessionTicketKeys) ProtoMessage()

func (*TlsSessionTicketKeys) Reset

func (m *TlsSessionTicketKeys) Reset()

func (*TlsSessionTicketKeys) Size

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

func (*TlsSessionTicketKeys) String

func (m *TlsSessionTicketKeys) String() string

func (*TlsSessionTicketKeys) Unmarshal

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

type Tracing

type Tracing struct {
	// Provides configuration for the HTTP tracer.
	Http *Tracing_Http `protobuf:"bytes,1,opt,name=http" json:"http,omitempty"`
}

The tracing configuration specifies global settings for the HTTP tracer used by Envoy. The configuration is defined by the :ref:`Bootstrap <envoy_api_msg_Bootstrap>` :ref:`tracing <envoy_api_field_Bootstrap.tracing>` field. Envoy may support other tracers in the future, but right now the HTTP tracer is the only one supported.

func (*Tracing) Descriptor

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

func (*Tracing) GetHttp

func (m *Tracing) GetHttp() *Tracing_Http

func (*Tracing) Marshal

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

func (*Tracing) MarshalTo

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

func (*Tracing) ProtoMessage

func (*Tracing) ProtoMessage()

func (*Tracing) Reset

func (m *Tracing) Reset()

func (*Tracing) Size

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

func (*Tracing) String

func (m *Tracing) String() string

func (*Tracing) Unmarshal

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

type Tracing_Http

type Tracing_Http struct {
	// The name of the HTTP trace driver to instantiate. The name must match a
	// supported HTTP trace driver. *envoy.lightstep* and *envoy.zipkin* are
	// built-in trace drivers.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Trace driver specific configuration which depends on the driver being
	// instantiated. See the :ref:`LightstepConfig
	// <envoy_api_msg_LightstepConfig>` and :ref:`ZipkinConfig
	// <envoy_api_msg_ZipkinConfig>` trace drivers for examples.
	Config *google_protobuf4.Struct `protobuf:"bytes,2,opt,name=config" json:"config,omitempty"`
}

func (*Tracing_Http) Descriptor

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

func (*Tracing_Http) GetConfig

func (m *Tracing_Http) GetConfig() *google_protobuf4.Struct

func (*Tracing_Http) GetName

func (m *Tracing_Http) GetName() string

func (*Tracing_Http) Marshal

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

func (*Tracing_Http) MarshalTo

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

func (*Tracing_Http) ProtoMessage

func (*Tracing_Http) ProtoMessage()

func (*Tracing_Http) Reset

func (m *Tracing_Http) Reset()

func (*Tracing_Http) Size

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

func (*Tracing_Http) String

func (m *Tracing_Http) String() string

func (*Tracing_Http) Unmarshal

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

type TransportSocket

type TransportSocket struct {
	// The name of the transport socket to instantiate. The name must match a supported transport
	// socket implementation.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Implementation specific configuration which depends on the implementation being instantiated.
	// See the supported transport socket implementations for further documentation.
	Config *google_protobuf4.Struct `protobuf:"bytes,2,opt,name=config" json:"config,omitempty"`
}

Configuration for transport socket in :ref:`listeners <config_listeners>` and :ref:`clusters <config_cluster_manager_cluster>`. If the configuration is empty, a default transport socket implementation and configuration will be chosen based on the platform and existence of tls_context.

func (*TransportSocket) Descriptor

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

func (*TransportSocket) GetConfig

func (m *TransportSocket) GetConfig() *google_protobuf4.Struct

func (*TransportSocket) GetName

func (m *TransportSocket) GetName() string

func (*TransportSocket) Marshal

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

func (*TransportSocket) MarshalTo

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

func (*TransportSocket) ProtoMessage

func (*TransportSocket) ProtoMessage()

func (*TransportSocket) Reset

func (m *TransportSocket) Reset()

func (*TransportSocket) Size

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

func (*TransportSocket) String

func (m *TransportSocket) String() string

func (*TransportSocket) Unmarshal

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

type UpstreamBindConfig

type UpstreamBindConfig struct {
	// The address Envoy should bind to when establishing upstream connections.
	SourceAddress *Address `protobuf:"bytes,1,opt,name=source_address,json=sourceAddress" json:"source_address,omitempty"`
}

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

func (*UpstreamBindConfig) Descriptor

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

func (*UpstreamBindConfig) GetSourceAddress

func (m *UpstreamBindConfig) GetSourceAddress() *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

type UpstreamLocalityStats

type UpstreamLocalityStats struct {
	// Name of zone, region and optionally endpoint group these metrics were
	// collected from. Zone and region names could be empty if unknown.
	Locality *Locality `protobuf:"bytes,1,opt,name=locality" json:"locality,omitempty"`
	// The total number of requests sent by this Envoy since the last report. A
	// single HTTP or gRPC request or stream is counted as one request. A TCP
	// connection is also treated as one request. There is no explicit
	// total_requests field below for a locality, but it may be inferred from:
	//
	// .. code-block:: none
	//
	//   total_requests = total_successful_requests + total_requests_in_progress +
	//     total_error_requests
	//
	// The total number of requests successfully completed by the endpoints in the
	// locality. These include non-5xx responses for HTTP, where errors
	// originate at the client and the endpoint responded successfuly. For gRPC,
	// the grpc-status values are those not covered by total_error_requests below.
	TotalSuccessfulRequests uint64 `` /* 133-byte string literal not displayed */
	// The total number of unfinished requests
	TotalRequestsInProgress uint64 `` /* 135-byte string literal not displayed */
	// The total number of requests that failed due to errors at the endpoint.
	// For HTTP these are responses with 5xx status codes and for gRPC the
	// grpc-status values:
	//
	//   - DeadlineExceeded
	//   - Unimplemented
	//   - Internal
	//   - Unavailable
	//   - Unknown
	//   - DataLoss
	TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"`
	// Stats for multi-dimensional load balancing.
	LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats" json:"load_metric_stats,omitempty"`
	// [#not-implemented-hide:] The priority of the endpoint group these metrics
	// were collected from.
	Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"`
}

These are stats Envoy reports to GLB every so often. Report frequency is defined by :ref:`LoadStatsResponse.load_reporting_interval<envoy_api_field_LoadStatsResponse.load_reporting_interval>`. Stats per upstream region/zone and optionally per subzone. [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.

func (*UpstreamLocalityStats) Descriptor

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

func (*UpstreamLocalityStats) GetLoadMetricStats

func (m *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats

func (*UpstreamLocalityStats) GetLocality

func (m *UpstreamLocalityStats) GetLocality() *Locality

func (*UpstreamLocalityStats) GetPriority

func (m *UpstreamLocalityStats) GetPriority() uint32

func (*UpstreamLocalityStats) GetTotalErrorRequests

func (m *UpstreamLocalityStats) GetTotalErrorRequests() uint64

func (*UpstreamLocalityStats) GetTotalRequestsInProgress

func (m *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64

func (*UpstreamLocalityStats) GetTotalSuccessfulRequests

func (m *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64

func (*UpstreamLocalityStats) Marshal

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

func (*UpstreamLocalityStats) MarshalTo

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

func (*UpstreamLocalityStats) ProtoMessage

func (*UpstreamLocalityStats) ProtoMessage()

func (*UpstreamLocalityStats) Reset

func (m *UpstreamLocalityStats) Reset()

func (*UpstreamLocalityStats) Size

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

func (*UpstreamLocalityStats) String

func (m *UpstreamLocalityStats) String() string

func (*UpstreamLocalityStats) Unmarshal

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

type UpstreamTlsContext

type UpstreamTlsContext struct {
	// Common TLS context settings.
	CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext" json:"common_tls_context,omitempty"`
	// SNI string to use when creating TLS backend connections.
	Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"`
}

func (*UpstreamTlsContext) Descriptor

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

func (*UpstreamTlsContext) GetCommonTlsContext

func (m *UpstreamTlsContext) GetCommonTlsContext() *CommonTlsContext

func (*UpstreamTlsContext) GetSni

func (m *UpstreamTlsContext) GetSni() string

func (*UpstreamTlsContext) Marshal

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

func (*UpstreamTlsContext) MarshalTo

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

func (*UpstreamTlsContext) ProtoMessage

func (*UpstreamTlsContext) ProtoMessage()

func (*UpstreamTlsContext) Reset

func (m *UpstreamTlsContext) Reset()

func (*UpstreamTlsContext) Size

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

func (*UpstreamTlsContext) String

func (m *UpstreamTlsContext) String() string

func (*UpstreamTlsContext) Unmarshal

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

type VirtualCluster

type VirtualCluster struct {
	// Specifies a regex pattern to use for matching requests. The entire path of the request
	// must match the regex. The regex grammar used is defined `here
	// <http://en.cppreference.com/w/cpp/regex/ecmascript>`_.
	//
	// Examples:
	//
	// * The regex */rides/\d+* matches the path */rides/0*
	// * The regex */rides/\d+* matches the path */rides/123*
	// * The regex */rides/\d+* does not match the path */rides/123/456*
	Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
	//  Specifies the name of the virtual cluster. The virtual cluster name as well
	// as the virtual host name are used when emitting statistics. The statistics are emitted by the
	// router filter and are documented :ref:`here <config_http_filters_router_stats>`.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Optionally specifies the HTTP method to match on. For example GET, PUT,
	// etc.
	// [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
	// https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
	Method RequestMethod `protobuf:"varint,3,opt,name=method,proto3,enum=envoy.api.v2.RequestMethod" json:"method,omitempty"`
}

A virtual cluster is a way of specifying a regex matching rule against certain important endpoints such that statistics are generated explicitly for the matched requests. The reason this is useful is that when doing prefix/path matching Envoy does not always know what the application considers to be an endpoint. Thus, it’s impossible for Envoy to generically emit per endpoint statistics. However, often systems have highly critical endpoints that they wish to get “perfect” statistics on. Virtual cluster statistics are perfect in the sense that they are emitted on the downstream side such that they include network level failures.

Documentation for :ref:`virtual cluster statistics <config_http_filters_router_stats>`.

.. note::

Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for
every application endpoint. This is both not easily maintainable and as well the matching and
statistics output are not free.

func (*VirtualCluster) Descriptor

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

func (*VirtualCluster) GetMethod

func (m *VirtualCluster) GetMethod() RequestMethod

func (*VirtualCluster) GetName

func (m *VirtualCluster) GetName() string

func (*VirtualCluster) GetPattern

func (m *VirtualCluster) GetPattern() string

func (*VirtualCluster) Marshal

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

func (*VirtualCluster) MarshalTo

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

func (*VirtualCluster) ProtoMessage

func (*VirtualCluster) ProtoMessage()

func (*VirtualCluster) Reset

func (m *VirtualCluster) Reset()

func (*VirtualCluster) Size

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

func (*VirtualCluster) String

func (m *VirtualCluster) String() string

func (*VirtualCluster) Unmarshal

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

type VirtualHost

type VirtualHost struct {
	// The logical name of the virtual host. This is used when emitting certain
	// statistics but is not relevant for routing.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A list of domains (host/authority header) that will be matched to this
	// virtual host. Wildcard hosts are supported in the form of “*.foo.com” or
	// “*-bar.foo.com”.
	//
	// .. note::
	//
	//   The wildcard will not match the empty string.
	//   e.g. “*-bar.foo.com” will match “baz-bar.foo.com” but not “-bar.foo.com”.
	//   Additionally, a special entry “*” is allowed which will match any
	//   host/authority header. Only a single virtual host in the entire route
	//   configuration can match on “*”. A domain must be unique across all virtual
	//   hosts or the config will fail to load.
	Domains []string `protobuf:"bytes,2,rep,name=domains" json:"domains,omitempty"`
	// The list of routes that will be matched, in order, for incoming requests.
	// The first route that matches will be used.
	Routes []*Route `protobuf:"bytes,3,rep,name=routes" json:"routes,omitempty"`
	// Specifies the type of TLS enforcement the virtual host expects. If this option is not
	// specified, there is no TLS requirement for the virtual host.
	RequireTls VirtualHost_TlsRequirementType `` /* 141-byte string literal not displayed */
	// A list of virtual clusters defined for this virtual host. Virtual clusters
	// are used for additional statistics gathering.
	VirtualClusters []*VirtualCluster `protobuf:"bytes,5,rep,name=virtual_clusters,json=virtualClusters" json:"virtual_clusters,omitempty"`
	// Specifies a set of rate limit configurations that will be applied to the
	// virtual host.
	RateLimits []*RateLimit `protobuf:"bytes,6,rep,name=rate_limits,json=rateLimits" json:"rate_limits,omitempty"`
	// Specifies a list of HTTP headers that should be added to each request
	// handled by this virtual host. Headers specified at this level are applied
	// after headers from enclosed :ref:`envoy_api_msg_RouteAction` and before headers from the
	// enclosing :ref:`envoy_api_msg_RouteConfiguration`. For more information see the documentation
	// on :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
	RequestHeadersToAdd []*HeaderValueOption `protobuf:"bytes,7,rep,name=request_headers_to_add,json=requestHeadersToAdd" json:"request_headers_to_add,omitempty"`
	// Specifies a list of HTTP headers that should be added to each response
	// handled by this virtual host. Headers specified at this level are applied
	// after headers from enclosed :ref:`envoy_api_msg_RouteAction` and before headers from the
	// enclosing :ref:`envoy_api_msg_RouteConfiguration`.
	ResponseHeadersToAdd []*HeaderValueOption `protobuf:"bytes,10,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
	// handle by this virtual host.
	ResponseHeadersToRemove []string `` /* 128-byte string literal not displayed */
	// Indicates that the virtual host has a CORS policy.
	Cors *CorsPolicy `protobuf:"bytes,8,opt,name=cors" json:"cors,omitempty"`
	// [#not-implemented-hide:]
	// Return a 401/403 when auth checks fail.
	Auth *AuthAction `protobuf:"bytes,9,opt,name=auth" json:"auth,omitempty"`
}

The top level element in the routing configuration is a virtual host. Each virtual host has a logical name as well as a set of domains that get routed to it based on the incoming request's host header. This allows a single listener to service multiple top level domain path trees. Once a virtual host is selected based on the domain, the routes are processed in order to see which upstream cluster to route to or whether to perform a redirect.

func (*VirtualHost) Descriptor

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

func (*VirtualHost) GetAuth

func (m *VirtualHost) GetAuth() *AuthAction

func (*VirtualHost) GetCors

func (m *VirtualHost) GetCors() *CorsPolicy

func (*VirtualHost) GetDomains

func (m *VirtualHost) GetDomains() []string

func (*VirtualHost) GetName

func (m *VirtualHost) GetName() string

func (*VirtualHost) GetRateLimits

func (m *VirtualHost) GetRateLimits() []*RateLimit

func (*VirtualHost) GetRequestHeadersToAdd

func (m *VirtualHost) GetRequestHeadersToAdd() []*HeaderValueOption

func (*VirtualHost) GetRequireTls

func (m *VirtualHost) GetRequireTls() VirtualHost_TlsRequirementType

func (*VirtualHost) GetResponseHeadersToAdd

func (m *VirtualHost) GetResponseHeadersToAdd() []*HeaderValueOption

func (*VirtualHost) GetResponseHeadersToRemove

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

func (*VirtualHost) GetRoutes

func (m *VirtualHost) GetRoutes() []*Route

func (*VirtualHost) GetVirtualClusters

func (m *VirtualHost) GetVirtualClusters() []*VirtualCluster

func (*VirtualHost) Marshal

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

func (*VirtualHost) MarshalTo

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

func (*VirtualHost) ProtoMessage

func (*VirtualHost) ProtoMessage()

func (*VirtualHost) Reset

func (m *VirtualHost) Reset()

func (*VirtualHost) Size

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

func (*VirtualHost) String

func (m *VirtualHost) String() string

func (*VirtualHost) Unmarshal

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

type VirtualHost_TlsRequirementType

type VirtualHost_TlsRequirementType int32
const (
	// No TLS requirement for the virtual host.
	VirtualHost_NONE VirtualHost_TlsRequirementType = 0
	// External requests must use TLS. If a request is external and it is not
	// using TLS, a 301 redirect will be sent telling the client to use HTTPS.
	VirtualHost_EXTERNAL_ONLY VirtualHost_TlsRequirementType = 1
	// All requests must use TLS. If a request is not using TLS, a 301 redirect
	// will be sent telling the client to use HTTPS.
	VirtualHost_ALL VirtualHost_TlsRequirementType = 2
)

func (VirtualHost_TlsRequirementType) EnumDescriptor

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

func (VirtualHost_TlsRequirementType) String

type Watchdog

type Watchdog struct {
	// The duration after which Envoy counts a nonresponsive thread in the
	// *server.watchdog_miss* statistic. If not specified the default is 200ms.
	MissTimeout *google_protobuf2.Duration `protobuf:"bytes,1,opt,name=miss_timeout,json=missTimeout" json:"miss_timeout,omitempty"`
	// The duration after which Envoy counts a nonresponsive thread in the
	// *server.watchdog_mega_miss* statistic. If not specified the default is
	// 1000ms.
	MegamissTimeout *google_protobuf2.Duration `protobuf:"bytes,2,opt,name=megamiss_timeout,json=megamissTimeout" json:"megamiss_timeout,omitempty"`
	// If a watched thread has been nonresponsive for this duration, assume a
	// programming error and kill the entire Envoy process. Set to 0 to disable
	// kill behavior. If not specified the default is 0 (disabled).
	KillTimeout *google_protobuf2.Duration `protobuf:"bytes,3,opt,name=kill_timeout,json=killTimeout" json:"kill_timeout,omitempty"`
	// If at least two watched threads have been nonresponsive for at least this
	// duration assume a true deadlock and kill the entire Envoy process. Set to 0
	// to disable this behavior. If not specified the default is 0 (disabled).
	MultikillTimeout *google_protobuf2.Duration `protobuf:"bytes,4,opt,name=multikill_timeout,json=multikillTimeout" json:"multikill_timeout,omitempty"`
}

Envoy process watchdog configuration. When configured, this monitors for nonresponsive threads and kills the process after the configured thresholds.

func (*Watchdog) Descriptor

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

func (*Watchdog) GetKillTimeout

func (m *Watchdog) GetKillTimeout() *google_protobuf2.Duration

func (*Watchdog) GetMegamissTimeout

func (m *Watchdog) GetMegamissTimeout() *google_protobuf2.Duration

func (*Watchdog) GetMissTimeout

func (m *Watchdog) GetMissTimeout() *google_protobuf2.Duration

func (*Watchdog) GetMultikillTimeout

func (m *Watchdog) GetMultikillTimeout() *google_protobuf2.Duration

func (*Watchdog) Marshal

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

func (*Watchdog) MarshalTo

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

func (*Watchdog) ProtoMessage

func (*Watchdog) ProtoMessage()

func (*Watchdog) Reset

func (m *Watchdog) Reset()

func (*Watchdog) Size

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

func (*Watchdog) String

func (m *Watchdog) String() string

func (*Watchdog) Unmarshal

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

type WeightedCluster

type WeightedCluster struct {
	// Specifies one or more upstream clusters associated with the route.
	Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters" json:"clusters,omitempty"`
	// Specifies the runtime key prefix that should be used to construct the
	// runtime keys associated with each cluster. When the *runtime_key_prefix* is
	// specified, the router will look for weights associated with each upstream
	// cluster under the key *runtime_key_prefix* + "." + *cluster[i].name* where
	// *cluster[i]* denotes an entry in the clusters array field. If the runtime
	// key for the cluster does not exist, the value specified in the
	// configuration file will be used as the default weight. See the :ref:`runtime documentation
	// <operations_runtime>` for how key names map to the underlying implementation.
	RuntimeKeyPrefix string `protobuf:"bytes,2,opt,name=runtime_key_prefix,json=runtimeKeyPrefix,proto3" json:"runtime_key_prefix,omitempty"`
}

Compared to the :ref:`cluster <envoy_api_field_RouteAction.cluster>` field that specifies a single upstream cluster as the target of a request, the :ref:`weighted_clusters <envoy_api_field_RouteAction.weighted_clusters>` option allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster based on the weights.

func (*WeightedCluster) Descriptor

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

func (*WeightedCluster) GetClusters

func (m *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight

func (*WeightedCluster) GetRuntimeKeyPrefix

func (m *WeightedCluster) GetRuntimeKeyPrefix() string

func (*WeightedCluster) Marshal

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

func (*WeightedCluster) MarshalTo

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

func (*WeightedCluster) ProtoMessage

func (*WeightedCluster) ProtoMessage()

func (*WeightedCluster) Reset

func (m *WeightedCluster) Reset()

func (*WeightedCluster) Size

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

func (*WeightedCluster) String

func (m *WeightedCluster) String() string

func (*WeightedCluster) Unmarshal

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

type WeightedCluster_ClusterWeight

type WeightedCluster_ClusterWeight struct {
	// Name of the upstream cluster. The cluster must exist in the
	// :ref:`cluster manager configuration <config_cluster_manager>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// An integer between 0-100. When a request matches the route, the choice of
	// an upstream cluster is determined by its weight. The sum of weights
	// across all entries in the clusters array must add up to 100.
	Weight *google_protobuf.UInt32Value `protobuf:"bytes,2,opt,name=weight" json:"weight,omitempty"`
	// Optional endpoint metadata match criteria. Only endpoints in the upstream
	// cluster with metadata matching that set in metadata_match will be
	// considered. The filter name should be specified as *envoy.lb*.
	MetadataMatch *Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch" json:"metadata_match,omitempty"`
}

func (*WeightedCluster_ClusterWeight) Descriptor

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

func (*WeightedCluster_ClusterWeight) GetMetadataMatch

func (m *WeightedCluster_ClusterWeight) GetMetadataMatch() *Metadata

func (*WeightedCluster_ClusterWeight) GetName

func (*WeightedCluster_ClusterWeight) GetWeight

func (*WeightedCluster_ClusterWeight) Marshal

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

func (*WeightedCluster_ClusterWeight) MarshalTo

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

func (*WeightedCluster_ClusterWeight) ProtoMessage

func (*WeightedCluster_ClusterWeight) ProtoMessage()

func (*WeightedCluster_ClusterWeight) Reset

func (m *WeightedCluster_ClusterWeight) Reset()

func (*WeightedCluster_ClusterWeight) Size

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

func (*WeightedCluster_ClusterWeight) String

func (*WeightedCluster_ClusterWeight) Unmarshal

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

type ZipkinConfig

type ZipkinConfig struct {
	// The cluster manager cluster that hosts the Zipkin collectors. Note that the
	// Zipkin cluster must be defined in the :ref:`Bootstrap static cluster
	// resources <envoy_api_field_Bootstrap.StaticResources.clusters>`.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// The API endpoint of the Zipkin service where the spans will be sent. When
	// using a standard Zipkin installation, the API endpoint is typically
	// /api/v1/spans, which is the default value.
	CollectorEndpoint string `protobuf:"bytes,2,opt,name=collector_endpoint,json=collectorEndpoint,proto3" json:"collector_endpoint,omitempty"`
}

func (*ZipkinConfig) Descriptor

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

func (*ZipkinConfig) GetCollectorCluster

func (m *ZipkinConfig) GetCollectorCluster() string

func (*ZipkinConfig) GetCollectorEndpoint

func (m *ZipkinConfig) GetCollectorEndpoint() string

func (*ZipkinConfig) Marshal

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

func (*ZipkinConfig) MarshalTo

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

func (*ZipkinConfig) ProtoMessage

func (*ZipkinConfig) ProtoMessage()

func (*ZipkinConfig) Reset

func (m *ZipkinConfig) Reset()

func (*ZipkinConfig) Size

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

func (*ZipkinConfig) String

func (m *ZipkinConfig) String() string

func (*ZipkinConfig) Unmarshal

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

Directories

Path Synopsis
Package filter is a generated protocol buffer package.
Package filter is a generated protocol buffer package.
accesslog
Package accesslog is a generated protocol buffer package.
Package accesslog is a generated protocol buffer package.
http
Package envoy_api_v2_filter_http is a generated protocol buffer package.
Package envoy_api_v2_filter_http is a generated protocol buffer package.
network
Package network is a generated protocol buffer package.
Package network is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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