xds

package
v0.0.0-...-2d719dd Latest Latest
Warning

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

Go to latest
Published: May 15, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	NullValue_name = map[int32]string{
		0: "NULL_VALUE",
	}
	NullValue_value = map[string]int32{
		"NULL_VALUE": 0,
	}
)

Enum value maps for NullValue.

View Source
var (
	RoutingPriority_name = map[int32]string{
		0: "DEFAULT",
		1: "HIGH",
	}
	RoutingPriority_value = map[string]int32{
		"DEFAULT": 0,
		"HIGH":    1,
	}
)

Enum value maps for RoutingPriority.

View Source
var (
	Cluster_DiscoveryType_name = map[int32]string{
		0: "STATIC",
		1: "STRICT_DNS",
		2: "LOGICAL_DNS",
		3: "EDS",
		4: "ORIGINAL_DST",
	}
	Cluster_DiscoveryType_value = map[string]int32{
		"STATIC":       0,
		"STRICT_DNS":   1,
		"LOGICAL_DNS":  2,
		"EDS":          3,
		"ORIGINAL_DST": 4,
	}
)

Enum value maps for Cluster_DiscoveryType.

View Source
var (
	Cluster_LbPolicy_name = map[int32]string{
		0: "ROUND_ROBIN",
		1: "LEAST_REQUEST",
		2: "RING_HASH",
		3: "RANDOM",
		4: "ORIGINAL_DST_LB",
		5: "MAGLEV",
	}
	Cluster_LbPolicy_value = map[string]int32{
		"ROUND_ROBIN":     0,
		"LEAST_REQUEST":   1,
		"RING_HASH":       2,
		"RANDOM":          3,
		"ORIGINAL_DST_LB": 4,
		"MAGLEV":          5,
	}
)

Enum value maps for Cluster_LbPolicy.

View Source
var (
	Cluster_DnsLookupFamily_name = map[int32]string{
		0: "AUTO",
		1: "V4_ONLY",
		2: "V6_ONLY",
	}
	Cluster_DnsLookupFamily_value = map[string]int32{
		"AUTO":    0,
		"V4_ONLY": 1,
		"V6_ONLY": 2,
	}
)

Enum value maps for Cluster_DnsLookupFamily.

View Source
var (
	Cluster_ClusterProtocolSelection_name = map[int32]string{
		0: "USE_CONFIGURED_PROTOCOL",
		1: "USE_DOWNSTREAM_PROTOCOL",
	}
	Cluster_ClusterProtocolSelection_value = map[string]int32{
		"USE_CONFIGURED_PROTOCOL": 0,
		"USE_DOWNSTREAM_PROTOCOL": 1,
	}
)

Enum value maps for Cluster_ClusterProtocolSelection.

View Source
var (
	Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_name = map[int32]string{
		0: "NO_FALLBACK",
		1: "ANY_ENDPOINT",
		2: "DEFAULT_SUBSET",
	}
	Cluster_LbSubsetConfig_LbSubsetFallbackPolicy_value = map[string]int32{
		"NO_FALLBACK":    0,
		"ANY_ENDPOINT":   1,
		"DEFAULT_SUBSET": 2,
	}
)

Enum value maps for Cluster_LbSubsetConfig_LbSubsetFallbackPolicy.

View Source
var (
	SocketAddress_Protocol_name = map[int32]string{
		0: "TCP",
		1: "UDP",
	}
	SocketAddress_Protocol_value = map[string]int32{
		"TCP": 0,
		"UDP": 1,
	}
)

Enum value maps for SocketAddress_Protocol.

View Source
var (
	Listener_DrainType_name = map[int32]string{
		0: "DEFAULT",
		1: "MODIFY_ONLY",
	}
	Listener_DrainType_value = map[string]int32{
		"DEFAULT":     0,
		"MODIFY_ONLY": 1,
	}
)

Enum value maps for Listener_DrainType.

View Source
var (
	TlsParameters_TlsProtocol_name = map[int32]string{
		0: "TLS_AUTO",
		1: "TLSv1_0",
		2: "TLSv1_1",
		3: "TLSv1_2",
		4: "TLSv1_3",
	}
	TlsParameters_TlsProtocol_value = map[string]int32{
		"TLS_AUTO": 0,
		"TLSv1_0":  1,
		"TLSv1_1":  2,
		"TLSv1_2":  3,
		"TLSv1_3":  4,
	}
)

Enum value maps for TlsParameters_TlsProtocol.

View Source
var (
	VirtualHost_TlsRequirementType_name = map[int32]string{
		0: "NONE",
		1: "EXTERNAL_ONLY",
		2: "ALL",
	}
	VirtualHost_TlsRequirementType_value = map[string]int32{
		"NONE":          0,
		"EXTERNAL_ONLY": 1,
		"ALL":           2,
	}
)

Enum value maps for VirtualHost_TlsRequirementType.

View Source
var (
	RouteAction_ClusterNotFoundResponseCode_name = map[int32]string{
		0: "SERVICE_UNAVAILABLE",
		1: "NOT_FOUND",
	}
	RouteAction_ClusterNotFoundResponseCode_value = map[string]int32{
		"SERVICE_UNAVAILABLE": 0,
		"NOT_FOUND":           1,
	}
)

Enum value maps for RouteAction_ClusterNotFoundResponseCode.

View Source
var (
	RouteAction_InternalRedirectAction_name = map[int32]string{
		0: "PASS_THROUGH_INTERNAL_REDIRECT",
		1: "HANDLE_INTERNAL_REDIRECT",
	}
	RouteAction_InternalRedirectAction_value = map[string]int32{
		"PASS_THROUGH_INTERNAL_REDIRECT": 0,
		"HANDLE_INTERNAL_REDIRECT":       1,
	}
)

Enum value maps for RouteAction_InternalRedirectAction.

View Source
var (
	WorkloadType_name = map[int32]string{
		0: "DEPLOYMENT",
		1: "CRONJOB",
		2: "POD",
		3: "JOB",
	}
	WorkloadType_value = map[string]int32{
		"DEPLOYMENT": 0,
		"CRONJOB":    1,
		"POD":        2,
		"JOB":        3,
	}
)

Enum value maps for WorkloadType.

View Source
var (
	Protocol_name = map[int32]string{
		0: "DIRECT",
		1: "HTTP",
	}
	Protocol_value = map[string]int32{
		"DIRECT": 0,
		"HTTP":   1,
	}
)

Enum value maps for Protocol.

View Source
var File_xds_base_proto protoreflect.FileDescriptor
View Source
var File_xds_cds_proto protoreflect.FileDescriptor
View Source
var File_xds_delta_proto protoreflect.FileDescriptor
View Source
var File_xds_eds_proto protoreflect.FileDescriptor
View Source
var File_xds_envoy_base_proto protoreflect.FileDescriptor
View Source
var File_xds_envoy_simplified_proto protoreflect.FileDescriptor
View Source
var File_xds_lds_proto protoreflect.FileDescriptor
View Source
var File_xds_rds_proto protoreflect.FileDescriptor
View Source
var File_xds_workload_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Address

type Address struct {

	// Types that are assignable to Address:
	//
	//	*Address_SocketAddress
	//	*Address_Pipe
	Address isAddress_Address `protobuf_oneof:"address"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use Address.ProtoReflect.Descriptor instead.

func (*Address) GetAddress

func (m *Address) GetAddress() isAddress_Address

func (*Address) GetPipe

func (x *Address) GetPipe() *Pipe

func (*Address) GetSocketAddress

func (x *Address) GetSocketAddress() *SocketAddress

func (*Address) ProtoMessage

func (*Address) ProtoMessage()

func (*Address) ProtoReflect

func (x *Address) ProtoReflect() protoreflect.Message

func (*Address) Reset

func (x *Address) Reset()

func (*Address) String

func (x *Address) String() string

type Address_Pipe

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

type Address_SocketAddress

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

type AggregatedConfigSource

type AggregatedConfigSource struct {
	// contains filtered or unexported fields
}

func (*AggregatedConfigSource) Descriptor deprecated

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

Deprecated: Use AggregatedConfigSource.ProtoReflect.Descriptor instead.

func (*AggregatedConfigSource) ProtoMessage

func (*AggregatedConfigSource) ProtoMessage()

func (*AggregatedConfigSource) ProtoReflect

func (x *AggregatedConfigSource) ProtoReflect() protoreflect.Message

func (*AggregatedConfigSource) Reset

func (x *AggregatedConfigSource) Reset()

func (*AggregatedConfigSource) String

func (x *AggregatedConfigSource) String() string

type Any

type Any struct {

	// A URL/resource name whose content describes the type of the
	// serialized protocol buffer message.
	//
	// For URLs which use the scheme `http`, `https`, or no scheme, the
	// following restrictions and interpretations apply:
	//
	//   - If no scheme is provided, `https` is assumed.
	//   - The last segment of the URL's path must represent the fully
	//     qualified name of the type (as in `path/google.protobuf.Duration`).
	//     The name should be in a canonical form (e.g., leading "." is
	//     not accepted).
	//   - An HTTP GET on the URL must yield a [google.protobuf.Type][]
	//     value in binary format, or produce an error.
	//   - Applications are allowed to cache lookup results based on the
	//     URL, or have them precompiled into a binary to avoid any
	//     lookup. Therefore, binary compatibility needs to be preserved
	//     on changes to types. (Use versioned type names to manage
	//     breaking changes.)
	//
	// Schemes other than `http`, `https` (or the empty scheme) might be
	// used with implementation specific semantics.
	TypeUrl string `protobuf:"bytes,1,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// Must be a valid serialized protocol buffer of the above specified type.
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

   Foo foo = ...;
   Any any = Any.pack(foo);
   ...
   if (any.is(Foo.class)) {
     foo = any.unpack(Foo.class);
   }

Example 3: Pack and unpack a message in Python.

   foo = Foo(...)
   any = Any()
   any.Pack(foo)
   ...
   if any.Is(Foo.DESCRIPTOR):
     any.Unpack(foo)
     ...

Example 4: Pack and unpack a message in Go

    foo := &pb.Foo{...}
    any, err := ptypes.MarshalAny(foo)
    ...
    foo := &pb.Foo{}
    if err := ptypes.UnmarshalAny(any, foo); err != nil {
      ...
    }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}

func (*Any) Descriptor deprecated

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

Deprecated: Use Any.ProtoReflect.Descriptor instead.

func (*Any) GetTypeUrl

func (x *Any) GetTypeUrl() string

func (*Any) GetValue

func (x *Any) GetValue() []byte

func (*Any) ProtoMessage

func (*Any) ProtoMessage()

func (*Any) ProtoReflect

func (x *Any) ProtoReflect() protoreflect.Message

func (*Any) Reset

func (x *Any) Reset()

func (*Any) String

func (x *Any) String() string

type AuthCondition

type AuthCondition struct {
	Invert bool   `protobuf:"varint,1,opt,name=invert,proto3" json:"invert,omitempty"`
	Port   uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthCondition) Descriptor deprecated

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

Deprecated: Use AuthCondition.ProtoReflect.Descriptor instead.

func (*AuthCondition) GetInvert

func (x *AuthCondition) GetInvert() bool

func (*AuthCondition) GetPort

func (x *AuthCondition) GetPort() uint32

func (*AuthCondition) ProtoMessage

func (*AuthCondition) ProtoMessage()

func (*AuthCondition) ProtoReflect

func (x *AuthCondition) ProtoReflect() protoreflect.Message

func (*AuthCondition) Reset

func (x *AuthCondition) Reset()

func (*AuthCondition) String

func (x *AuthCondition) String() string

type AuthRule

type AuthRule struct {
	Invert bool `protobuf:"varint,1,opt,name=invert,proto3" json:"invert,omitempty"`
	// Rules
	Identity  string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// contains filtered or unexported fields
}

func (*AuthRule) Descriptor deprecated

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

Deprecated: Use AuthRule.ProtoReflect.Descriptor instead.

func (*AuthRule) GetIdentity

func (x *AuthRule) GetIdentity() string

func (*AuthRule) GetInvert

func (x *AuthRule) GetInvert() bool

func (*AuthRule) GetNamespace

func (x *AuthRule) GetNamespace() string

func (*AuthRule) ProtoMessage

func (*AuthRule) ProtoMessage()

func (*AuthRule) ProtoReflect

func (x *AuthRule) ProtoReflect() protoreflect.Message

func (*AuthRule) Reset

func (x *AuthRule) Reset()

func (*AuthRule) String

func (x *AuthRule) String() string

type Authorization

type Authorization struct {

	// If true, mTLS will be required
	EnforceMTLS bool `protobuf:"varint,1,opt,name=enforceMTLS,proto3" json:"enforceMTLS,omitempty"`
	// Allow policies
	Allow []*Policy `protobuf:"bytes,2,rep,name=allow,proto3" json:"allow,omitempty"`
	// Deny policies
	Deny []*Policy `protobuf:"bytes,3,rep,name=deny,proto3" json:"deny,omitempty"`
	// contains filtered or unexported fields
}

func (*Authorization) Descriptor deprecated

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

Deprecated: Use Authorization.ProtoReflect.Descriptor instead.

func (*Authorization) GetAllow

func (x *Authorization) GetAllow() []*Policy

func (*Authorization) GetDeny

func (x *Authorization) GetDeny() []*Policy

func (*Authorization) GetEnforceMTLS

func (x *Authorization) GetEnforceMTLS() bool

func (*Authorization) ProtoMessage

func (*Authorization) ProtoMessage()

func (*Authorization) ProtoReflect

func (x *Authorization) ProtoReflect() protoreflect.Message

func (*Authorization) Reset

func (x *Authorization) Reset()

func (*Authorization) String

func (x *Authorization) String() string

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,proto3" json:"source_address,omitempty"`
	// contains filtered or unexported fields
}

func (*BindConfig) Descriptor deprecated

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

Deprecated: Use BindConfig.ProtoReflect.Descriptor instead.

func (*BindConfig) GetSourceAddress

func (x *BindConfig) GetSourceAddress() *SocketAddress

func (*BindConfig) ProtoMessage

func (*BindConfig) ProtoMessage()

func (*BindConfig) ProtoReflect

func (x *BindConfig) ProtoReflect() protoreflect.Message

func (*BindConfig) Reset

func (x *BindConfig) Reset()

func (*BindConfig) String

func (x *BindConfig) String() string

type BoolValue

type BoolValue struct {

	// The bool value.
	Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Wrapper message for `bool`.

The JSON representation for `BoolValue` is JSON `true` and `false`.

func (*BoolValue) Descriptor deprecated

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

Deprecated: Use BoolValue.ProtoReflect.Descriptor instead.

func (*BoolValue) GetValue

func (x *BoolValue) GetValue() bool

func (*BoolValue) ProtoMessage

func (*BoolValue) ProtoMessage()

func (*BoolValue) ProtoReflect

func (x *BoolValue) ProtoReflect() protoreflect.Message

func (*BoolValue) Reset

func (x *BoolValue) Reset()

func (*BoolValue) String

func (x *BoolValue) 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_auth.DownstreamTlsContext.require_client_certificate>`,
	// :ref:`verify_certificate_hash
	// <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`, or
	// :ref:`verify_subject_alt_name
	// <envoy_api_field_auth.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,proto3" json:"trusted_ca,omitempty"`
	// If specified, Envoy will verify (pin) the hex-encoded SHA-256 hash of
	// the presented certificate.
	VerifyCertificateHash []string `` /* 126-byte string literal not displayed */
	// 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,proto3" 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,proto3" json:"verify_subject_alt_name,omitempty"`
	// [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
	RequireOcspStaple *BoolValue `protobuf:"bytes,5,opt,name=require_ocsp_staple,json=requireOcspStaple,proto3" json:"require_ocsp_staple,omitempty"`
	// [#not-implemented-hide:] Must present signed certificate time-stamp.
	RequireSignedCertificateTimestamp *BoolValue `` /* 164-byte string literal not displayed */
	// An optional `certificate revocation list
	// <http://https://en.wikipedia.org/wiki/Certificate_revocation_list>`_
	// (in PEM format). If specified, Envoy will verify that the presented peer
	// certificate has not been revoked by this CRL. If this DataSource contains
	// multiple CRLs, all of them will be used.
	Crl *DataSource `protobuf:"bytes,7,opt,name=crl,proto3" json:"crl,omitempty"`
	// contains filtered or unexported fields
}

func (*CertificateValidationContext) Descriptor deprecated

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

Deprecated: Use CertificateValidationContext.ProtoReflect.Descriptor instead.

func (*CertificateValidationContext) GetCrl

func (*CertificateValidationContext) GetRequireOcspStaple

func (x *CertificateValidationContext) GetRequireOcspStaple() *BoolValue

func (*CertificateValidationContext) GetRequireSignedCertificateTimestamp

func (x *CertificateValidationContext) GetRequireSignedCertificateTimestamp() *BoolValue

func (*CertificateValidationContext) GetTrustedCa

func (x *CertificateValidationContext) GetTrustedCa() *DataSource

func (*CertificateValidationContext) GetVerifyCertificateHash

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

func (*CertificateValidationContext) GetVerifySpkiSha256

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

func (*CertificateValidationContext) GetVerifySubjectAltName

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

func (*CertificateValidationContext) ProtoMessage

func (*CertificateValidationContext) ProtoMessage()

func (*CertificateValidationContext) ProtoReflect

func (*CertificateValidationContext) Reset

func (x *CertificateValidationContext) Reset()

func (*CertificateValidationContext) String

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 *UInt32Value `protobuf:"bytes,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use CidrRange.ProtoReflect.Descriptor instead.

func (*CidrRange) GetAddressPrefix

func (x *CidrRange) GetAddressPrefix() string

func (*CidrRange) GetPrefixLen

func (x *CidrRange) GetPrefixLen() *UInt32Value

func (*CidrRange) ProtoMessage

func (*CidrRange) ProtoMessage()

func (*CidrRange) ProtoReflect

func (x *CidrRange) ProtoReflect() protoreflect.Message

func (*CidrRange) Reset

func (x *CidrRange) Reset()

func (*CidrRange) String

func (x *CidrRange) String() string

type CircuitBreakers

type CircuitBreakers struct {

	// If multiple :ref:`Thresholds<envoy_api_msg_config.cluster.v3.CircuitBreakers.Thresholds>`
	// are defined with the same :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`,
	// the first one in the list is used. If no Thresholds is defined for a given
	// :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`, the default values
	// are used.
	Thresholds []*CircuitBreakers_Thresholds `protobuf:"bytes,1,rep,name=thresholds,proto3" json:"thresholds,omitempty"`
	// contains filtered or unexported fields
}

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

func (*CircuitBreakers) Descriptor deprecated

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

Deprecated: Use CircuitBreakers.ProtoReflect.Descriptor instead.

func (*CircuitBreakers) GetThresholds

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

func (*CircuitBreakers) ProtoMessage

func (*CircuitBreakers) ProtoMessage()

func (*CircuitBreakers) ProtoReflect

func (x *CircuitBreakers) ProtoReflect() protoreflect.Message

func (*CircuitBreakers) Reset

func (x *CircuitBreakers) Reset()

func (*CircuitBreakers) String

func (x *CircuitBreakers) String() string

type CircuitBreakers_Thresholds

type CircuitBreakers_Thresholds struct {

	// The :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`
	// the specified CircuitBreaker settings apply to.
	Priority RoutingPriority `protobuf:"varint,1,opt,name=priority,proto3,enum=xds.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 *UInt32Value `protobuf:"bytes,2,opt,name=max_connections,json=maxConnections,proto3" 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 *UInt32Value `protobuf:"bytes,3,opt,name=max_pending_requests,json=maxPendingRequests,proto3" 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 *UInt32Value `protobuf:"bytes,4,opt,name=max_requests,json=maxRequests,proto3" 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 *UInt32Value `protobuf:"bytes,5,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
	// Specifies a limit on concurrent retries in relation to the number of active requests. This
	// parameter is optional.
	//
	// .. note::
	//
	//	If this field is set, the retry budget will override any configured retry circuit
	//	breaker.
	RetryBudget *CircuitBreakers_Thresholds_RetryBudget `protobuf:"bytes,8,opt,name=retry_budget,json=retryBudget,proto3" json:"retry_budget,omitempty"`
	// If track_remaining is true, then stats will be published that expose
	// the number of resources remaining until the circuit breakers open. If
	// not specified, the default is false.
	//
	// .. note::
	//
	//	If a retry budget is used in lieu of the max_retries circuit breaker,
	//	the remaining retry resources remaining will not be tracked.
	TrackRemaining bool `protobuf:"varint,6,opt,name=track_remaining,json=trackRemaining,proto3" json:"track_remaining,omitempty"`
	// The maximum number of connection pools per cluster that Envoy will concurrently support at
	// once. If not specified, the default is unlimited. Set this for clusters which create a
	// large number of connection pools. See
	// :ref:`Circuit Breaking <arch_overview_circuit_break_cluster_maximum_connection_pools>` for
	// more details.
	MaxConnectionPools *UInt32Value `protobuf:"bytes,7,opt,name=max_connection_pools,json=maxConnectionPools,proto3" json:"max_connection_pools,omitempty"`
	// contains filtered or unexported fields
}

A Thresholds defines CircuitBreaker settings for a :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`. [#next-free-field: 9]

func (*CircuitBreakers_Thresholds) Descriptor deprecated

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

Deprecated: Use CircuitBreakers_Thresholds.ProtoReflect.Descriptor instead.

func (*CircuitBreakers_Thresholds) GetMaxConnectionPools

func (x *CircuitBreakers_Thresholds) GetMaxConnectionPools() *UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxConnections

func (x *CircuitBreakers_Thresholds) GetMaxConnections() *UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxPendingRequests

func (x *CircuitBreakers_Thresholds) GetMaxPendingRequests() *UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxRequests

func (x *CircuitBreakers_Thresholds) GetMaxRequests() *UInt32Value

func (*CircuitBreakers_Thresholds) GetMaxRetries

func (x *CircuitBreakers_Thresholds) GetMaxRetries() *UInt32Value

func (*CircuitBreakers_Thresholds) GetPriority

func (*CircuitBreakers_Thresholds) GetRetryBudget

func (*CircuitBreakers_Thresholds) GetTrackRemaining

func (x *CircuitBreakers_Thresholds) GetTrackRemaining() bool

func (*CircuitBreakers_Thresholds) ProtoMessage

func (*CircuitBreakers_Thresholds) ProtoMessage()

func (*CircuitBreakers_Thresholds) ProtoReflect

func (*CircuitBreakers_Thresholds) Reset

func (x *CircuitBreakers_Thresholds) Reset()

func (*CircuitBreakers_Thresholds) String

func (x *CircuitBreakers_Thresholds) String() string

type CircuitBreakers_Thresholds_RetryBudget

type CircuitBreakers_Thresholds_RetryBudget struct {

	// Specifies the limit on concurrent retries as a percentage of the sum of active requests and
	// active pending requests. For example, if there are 100 active requests and the
	// budget_percent is set to 25, there may be 25 active retries.
	//
	// This parameter is optional. Defaults to 20%.
	BudgetPercent *Percent `protobuf:"bytes,1,opt,name=budget_percent,json=budgetPercent,proto3" json:"budget_percent,omitempty"`
	// Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
	// number of active retries may never go below this number.
	//
	// This parameter is optional. Defaults to 3.
	MinRetryConcurrency *UInt32Value `protobuf:"bytes,2,opt,name=min_retry_concurrency,json=minRetryConcurrency,proto3" json:"min_retry_concurrency,omitempty"`
	// contains filtered or unexported fields
}

func (*CircuitBreakers_Thresholds_RetryBudget) Descriptor deprecated

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

Deprecated: Use CircuitBreakers_Thresholds_RetryBudget.ProtoReflect.Descriptor instead.

func (*CircuitBreakers_Thresholds_RetryBudget) GetBudgetPercent

func (x *CircuitBreakers_Thresholds_RetryBudget) GetBudgetPercent() *Percent

func (*CircuitBreakers_Thresholds_RetryBudget) GetMinRetryConcurrency

func (x *CircuitBreakers_Thresholds_RetryBudget) GetMinRetryConcurrency() *UInt32Value

func (*CircuitBreakers_Thresholds_RetryBudget) ProtoMessage

func (*CircuitBreakers_Thresholds_RetryBudget) ProtoReflect

func (*CircuitBreakers_Thresholds_RetryBudget) Reset

func (*CircuitBreakers_Thresholds_RetryBudget) String

type Cluster

type Cluster struct {

	// Supplies the name of the cluster which must be unique across all clusters.
	// The cluster name is used when emitting
	// :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
	// <envoy_api_field_Cluster.alt_stat_name>` is not provided.
	// Any “:“ in the cluster name will be converted to “_“ when emitting statistics.
	// By default, the maximum length of a cluster name is limited to 60
	// characters. This limit can be increased by setting the
	// :option:`--max-obj-name-len` command line argument to the desired value.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// An optional alternative to the cluster name to be used while emitting stats.
	// Any “:“ in the name will be converted to “_“ when emitting statistics. This should not be
	// confused with :ref:`Router Filter Header
	// <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
	AltStatName string `protobuf:"bytes,28,opt,name=alt_stat_name,json=altStatName,proto3" json:"alt_stat_name,omitempty"`
	// The :ref:`service discovery type <arch_overview_service_discovery_types>`
	// to use for resolving the cluster.
	Type Cluster_DiscoveryType `protobuf:"varint,2,opt,name=type,proto3,enum=xds.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,proto3" json:"eds_cluster_config,omitempty"`
	// The timeout for new network connections to hosts in the cluster.
	ConnectTimeout *Duration `protobuf:"bytes,4,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
	// Soft limit on size of the cluster’s connections read and write buffers. If
	// unspecified, an implementation defined default is applied (1MiB).
	PerConnectionBufferLimitBytes *UInt32Value `` /* 154-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=xds.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,proto3" json:"hosts,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 *UInt32Value `` /* 137-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,proto3" json:"circuit_breakers,omitempty"`
	// 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 *Duration `protobuf:"bytes,16,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
	// The DNS IP address resolution policy. If this setting is not specified, the
	// value defaults to
	// :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
	DnsLookupFamily Cluster_DnsLookupFamily `` /* 143-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,proto3" json:"dns_resolvers,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 *Duration `protobuf:"bytes,20,opt,name=cleanup_interval,json=cleanupInterval,proto3" json:"cleanup_interval,omitempty"`
	// Optional configuration used to bind newly established upstream connections.
	// This overrides any bind_config specified in the bootstrap proto.
	// If the address and port are empty, no bind will be performed.
	UpstreamBindConfig *BindConfig `protobuf:"bytes,21,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"`
	// Configuration for load balancing subsetting.
	LbSubsetConfig *Cluster_LbSubsetConfig `protobuf:"bytes,22,opt,name=lb_subset_config,json=lbSubsetConfig,proto3" 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 assignable to LbConfig:
	//
	//	*Cluster_RingHashLbConfig_
	LbConfig isCluster_LbConfig `protobuf_oneof:"lb_config"`
	// Common configuration for all load balancer implementations.
	CommonLbConfig *Cluster_CommonLbConfig `protobuf:"bytes,27,opt,name=common_lb_config,json=commonLbConfig,proto3" json:"common_lb_config,omitempty"`
	// The Metadata field can be used to provide additional information about the
	// cluster. It can be used for stats, logging, and varying filter behavior.
	// Fields should use reverse DNS notation to denote which entity within Envoy
	// will need the information. For instance, if the metadata is intended for
	// the Router filter, the filter name should be specified as *envoy.router*.
	Metadata *Metadata `protobuf:"bytes,25,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Determines how Envoy selects the protocol used to speak to upstream hosts.
	ProtocolSelection      Cluster_ClusterProtocolSelection `` /* 156-byte string literal not displayed */
	Filters                []*ClusterFilter                 `protobuf:"bytes,40,rep,name=filters,proto3" json:"filters,omitempty"`
	TransportSocketMatches []*TransportSocketMatch          `` /* 130-byte string literal not displayed */
	// contains filtered or unexported fields
}

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

func (*Cluster) Descriptor deprecated

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

Deprecated: Use Cluster.ProtoReflect.Descriptor instead.

func (*Cluster) GetAltStatName

func (x *Cluster) GetAltStatName() string

func (*Cluster) GetCircuitBreakers

func (x *Cluster) GetCircuitBreakers() *CircuitBreakers

func (*Cluster) GetCleanupInterval

func (x *Cluster) GetCleanupInterval() *Duration

func (*Cluster) GetCommonLbConfig

func (x *Cluster) GetCommonLbConfig() *Cluster_CommonLbConfig

func (*Cluster) GetConnectTimeout

func (x *Cluster) GetConnectTimeout() *Duration

func (*Cluster) GetDnsLookupFamily

func (x *Cluster) GetDnsLookupFamily() Cluster_DnsLookupFamily

func (*Cluster) GetDnsRefreshRate

func (x *Cluster) GetDnsRefreshRate() *Duration

func (*Cluster) GetDnsResolvers

func (x *Cluster) GetDnsResolvers() []*Address

func (*Cluster) GetEdsClusterConfig

func (x *Cluster) GetEdsClusterConfig() *Cluster_EdsClusterConfig

func (*Cluster) GetFilters

func (x *Cluster) GetFilters() []*ClusterFilter

func (*Cluster) GetHosts

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

func (*Cluster) GetLbConfig

func (m *Cluster) GetLbConfig() isCluster_LbConfig

func (*Cluster) GetLbPolicy

func (x *Cluster) GetLbPolicy() Cluster_LbPolicy

func (*Cluster) GetLbSubsetConfig

func (x *Cluster) GetLbSubsetConfig() *Cluster_LbSubsetConfig

func (*Cluster) GetMaxRequestsPerConnection

func (x *Cluster) GetMaxRequestsPerConnection() *UInt32Value

func (*Cluster) GetMetadata

func (x *Cluster) GetMetadata() *Metadata

func (*Cluster) GetName

func (x *Cluster) GetName() string

func (*Cluster) GetPerConnectionBufferLimitBytes

func (x *Cluster) GetPerConnectionBufferLimitBytes() *UInt32Value

func (*Cluster) GetProtocolSelection

func (x *Cluster) GetProtocolSelection() Cluster_ClusterProtocolSelection

func (*Cluster) GetRingHashLbConfig

func (x *Cluster) GetRingHashLbConfig() *Cluster_RingHashLbConfig

func (*Cluster) GetTransportSocketMatches

func (x *Cluster) GetTransportSocketMatches() []*TransportSocketMatch

func (*Cluster) GetType

func (x *Cluster) GetType() Cluster_DiscoveryType

func (*Cluster) GetUpstreamBindConfig

func (x *Cluster) GetUpstreamBindConfig() *BindConfig

func (*Cluster) ProtoMessage

func (*Cluster) ProtoMessage()

func (*Cluster) ProtoReflect

func (x *Cluster) ProtoReflect() protoreflect.Message

func (*Cluster) Reset

func (x *Cluster) Reset()

func (*Cluster) String

func (x *Cluster) String() string

type ClusterFilter

type ClusterFilter struct {

	// The name of the filter to instantiate. The name must match a
	// :ref:`supported filter <config_network_filters>`.
	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.
	TypedConfig *Any `protobuf:"bytes,2,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
	// contains filtered or unexported fields
}

CDS filter uses Any ? Original also uses Filter name

func (*ClusterFilter) Descriptor deprecated

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

Deprecated: Use ClusterFilter.ProtoReflect.Descriptor instead.

func (*ClusterFilter) GetName

func (x *ClusterFilter) GetName() string

func (*ClusterFilter) GetTypedConfig

func (x *ClusterFilter) GetTypedConfig() *Any

func (*ClusterFilter) ProtoMessage

func (*ClusterFilter) ProtoMessage()

func (*ClusterFilter) ProtoReflect

func (x *ClusterFilter) ProtoReflect() protoreflect.Message

func (*ClusterFilter) Reset

func (x *ClusterFilter) Reset()

func (*ClusterFilter) String

func (x *ClusterFilter) String() string

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,proto3" json:"endpoints,omitempty"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use ClusterLoadAssignment.ProtoReflect.Descriptor instead.

func (*ClusterLoadAssignment) GetClusterName

func (x *ClusterLoadAssignment) GetClusterName() string

func (*ClusterLoadAssignment) GetEndpoints

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

func (*ClusterLoadAssignment) ProtoMessage

func (*ClusterLoadAssignment) ProtoMessage()

func (*ClusterLoadAssignment) ProtoReflect

func (x *ClusterLoadAssignment) ProtoReflect() protoreflect.Message

func (*ClusterLoadAssignment) Reset

func (x *ClusterLoadAssignment) Reset()

func (*ClusterLoadAssignment) String

func (x *ClusterLoadAssignment) String() string

type Cluster_ClusterProtocolSelection

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

func (Cluster_ClusterProtocolSelection) Descriptor

func (Cluster_ClusterProtocolSelection) Enum

func (Cluster_ClusterProtocolSelection) EnumDescriptor deprecated

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

Deprecated: Use Cluster_ClusterProtocolSelection.Descriptor instead.

func (Cluster_ClusterProtocolSelection) Number

func (Cluster_ClusterProtocolSelection) String

func (Cluster_ClusterProtocolSelection) Type

type Cluster_CommonLbConfig

type Cluster_CommonLbConfig struct {
	// contains filtered or unexported fields
}

Common configuration for all load balancer implementations.

func (*Cluster_CommonLbConfig) Descriptor deprecated

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

Deprecated: Use Cluster_CommonLbConfig.ProtoReflect.Descriptor instead.

func (*Cluster_CommonLbConfig) ProtoMessage

func (*Cluster_CommonLbConfig) ProtoMessage()

func (*Cluster_CommonLbConfig) ProtoReflect

func (x *Cluster_CommonLbConfig) ProtoReflect() protoreflect.Message

func (*Cluster_CommonLbConfig) Reset

func (x *Cluster_CommonLbConfig) Reset()

func (*Cluster_CommonLbConfig) String

func (x *Cluster_CommonLbConfig) String() string

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

func (Cluster_DiscoveryType) Enum

func (Cluster_DiscoveryType) EnumDescriptor deprecated

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

Deprecated: Use Cluster_DiscoveryType.Descriptor instead.

func (Cluster_DiscoveryType) Number

func (Cluster_DiscoveryType) String

func (x Cluster_DiscoveryType) String() string

func (Cluster_DiscoveryType) Type

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

func (Cluster_DnsLookupFamily) Enum

func (Cluster_DnsLookupFamily) EnumDescriptor deprecated

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

Deprecated: Use Cluster_DnsLookupFamily.Descriptor instead.

func (Cluster_DnsLookupFamily) Number

func (Cluster_DnsLookupFamily) String

func (x Cluster_DnsLookupFamily) String() string

func (Cluster_DnsLookupFamily) Type

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,proto3" 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"`
	// contains filtered or unexported fields
}

Only valid when discovery type is EDS.

func (*Cluster_EdsClusterConfig) Descriptor deprecated

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

Deprecated: Use Cluster_EdsClusterConfig.ProtoReflect.Descriptor instead.

func (*Cluster_EdsClusterConfig) GetEdsConfig

func (x *Cluster_EdsClusterConfig) GetEdsConfig() *ConfigSource

func (*Cluster_EdsClusterConfig) GetServiceName

func (x *Cluster_EdsClusterConfig) GetServiceName() string

func (*Cluster_EdsClusterConfig) ProtoMessage

func (*Cluster_EdsClusterConfig) ProtoMessage()

func (*Cluster_EdsClusterConfig) ProtoReflect

func (x *Cluster_EdsClusterConfig) ProtoReflect() protoreflect.Message

func (*Cluster_EdsClusterConfig) Reset

func (x *Cluster_EdsClusterConfig) Reset()

func (*Cluster_EdsClusterConfig) String

func (x *Cluster_EdsClusterConfig) String() string

type Cluster_LbPolicy

type Cluster_LbPolicy int32

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

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

func (Cluster_LbPolicy) Descriptor

func (Cluster_LbPolicy) Enum

func (Cluster_LbPolicy) EnumDescriptor deprecated

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

Deprecated: Use Cluster_LbPolicy.Descriptor instead.

func (Cluster_LbPolicy) Number

func (Cluster_LbPolicy) String

func (x Cluster_LbPolicy) String() string

func (Cluster_LbPolicy) Type

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 `` /* 159-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 *Struct `protobuf:"bytes,2,opt,name=default_subset,json=defaultSubset,proto3" 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,proto3" json:"subset_selectors,omitempty"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use Cluster_LbSubsetConfig.ProtoReflect.Descriptor instead.

func (*Cluster_LbSubsetConfig) GetDefaultSubset

func (x *Cluster_LbSubsetConfig) GetDefaultSubset() *Struct

func (*Cluster_LbSubsetConfig) GetFallbackPolicy

func (*Cluster_LbSubsetConfig) GetSubsetSelectors

func (*Cluster_LbSubsetConfig) ProtoMessage

func (*Cluster_LbSubsetConfig) ProtoMessage()

func (*Cluster_LbSubsetConfig) ProtoReflect

func (x *Cluster_LbSubsetConfig) ProtoReflect() protoreflect.Message

func (*Cluster_LbSubsetConfig) Reset

func (x *Cluster_LbSubsetConfig) Reset()

func (*Cluster_LbSubsetConfig) String

func (x *Cluster_LbSubsetConfig) String() string

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

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Enum

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) EnumDescriptor deprecated

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

Deprecated: Use Cluster_LbSubsetConfig_LbSubsetFallbackPolicy.Descriptor instead.

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Number

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) String

func (Cluster_LbSubsetConfig_LbSubsetFallbackPolicy) Type

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,proto3" json:"keys,omitempty"`
	// contains filtered or unexported fields
}

Specifications for subsets.

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Descriptor deprecated

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

Deprecated: Use Cluster_LbSubsetConfig_LbSubsetSelector.ProtoReflect.Descriptor instead.

func (*Cluster_LbSubsetConfig_LbSubsetSelector) GetKeys

func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoMessage

func (*Cluster_LbSubsetConfig_LbSubsetSelector) ProtoReflect

func (*Cluster_LbSubsetConfig_LbSubsetSelector) Reset

func (*Cluster_LbSubsetConfig_LbSubsetSelector) String

type Cluster_RingHashLbConfig

type Cluster_RingHashLbConfig struct {

	// Deprecated settings from v1 config.
	// [#not-implemented-hide:] Hide from docs.
	//
	// Deprecated: Marked as deprecated in xds/cds.proto.
	DeprecatedV1 *Cluster_RingHashLbConfig_DeprecatedV1 `protobuf:"bytes,2,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// contains filtered or unexported fields
}

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

func (*Cluster_RingHashLbConfig) Descriptor deprecated

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

Deprecated: Use Cluster_RingHashLbConfig.ProtoReflect.Descriptor instead.

func (*Cluster_RingHashLbConfig) GetDeprecatedV1 deprecated

Deprecated: Marked as deprecated in xds/cds.proto.

func (*Cluster_RingHashLbConfig) ProtoMessage

func (*Cluster_RingHashLbConfig) ProtoMessage()

func (*Cluster_RingHashLbConfig) ProtoReflect

func (x *Cluster_RingHashLbConfig) ProtoReflect() protoreflect.Message

func (*Cluster_RingHashLbConfig) Reset

func (x *Cluster_RingHashLbConfig) Reset()

func (*Cluster_RingHashLbConfig) String

func (x *Cluster_RingHashLbConfig) String() string

type Cluster_RingHashLbConfig_

type Cluster_RingHashLbConfig_ struct {
	// Optional configuration for the Ring Hash load balancing policy.
	RingHashLbConfig *Cluster_RingHashLbConfig `protobuf:"bytes,23,opt,name=ring_hash_lb_config,json=ringHashLbConfig,proto3,oneof"`
}

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 *BoolValue `protobuf:"bytes,1,opt,name=use_std_hash,json=useStdHash,proto3" json:"use_std_hash,omitempty"`
	// contains filtered or unexported fields
}

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

func (*Cluster_RingHashLbConfig_DeprecatedV1) Descriptor deprecated

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

Deprecated: Use Cluster_RingHashLbConfig_DeprecatedV1.ProtoReflect.Descriptor instead.

func (*Cluster_RingHashLbConfig_DeprecatedV1) GetUseStdHash

func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoMessage

func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoMessage()

func (*Cluster_RingHashLbConfig_DeprecatedV1) ProtoReflect

func (*Cluster_RingHashLbConfig_DeprecatedV1) Reset

func (*Cluster_RingHashLbConfig_DeprecatedV1) String

type CommonTlsContext

type CommonTlsContext struct {

	// TLS protocol versions, cipher suites etc.
	TlsParams *TlsParameters `protobuf:"bytes,1,opt,name=tls_params,json=tlsParams,proto3" 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,proto3" json:"tls_certificates,omitempty"`
	// How to validate peer certificates.
	ValidationContext *CertificateValidationContext `protobuf:"bytes,3,opt,name=validation_context,json=validationContext,proto3" 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,proto3" json:"alpn_protocols,omitempty"`
	// [#not-implemented-hide:]
	//
	// Deprecated: Marked as deprecated in xds/lds.proto.
	DeprecatedV1 *CommonTlsContext_DeprecatedV1 `protobuf:"bytes,5,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// contains filtered or unexported fields
}

TLS context shared by both client and server TLS contexts.

func (*CommonTlsContext) Descriptor deprecated

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

Deprecated: Use CommonTlsContext.ProtoReflect.Descriptor instead.

func (*CommonTlsContext) GetAlpnProtocols

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

func (*CommonTlsContext) GetDeprecatedV1 deprecated

func (x *CommonTlsContext) GetDeprecatedV1() *CommonTlsContext_DeprecatedV1

Deprecated: Marked as deprecated in xds/lds.proto.

func (*CommonTlsContext) GetTlsCertificates

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

func (*CommonTlsContext) GetTlsParams

func (x *CommonTlsContext) GetTlsParams() *TlsParameters

func (*CommonTlsContext) GetValidationContext

func (x *CommonTlsContext) GetValidationContext() *CertificateValidationContext

func (*CommonTlsContext) ProtoMessage

func (*CommonTlsContext) ProtoMessage()

func (*CommonTlsContext) ProtoReflect

func (x *CommonTlsContext) ProtoReflect() protoreflect.Message

func (*CommonTlsContext) Reset

func (x *CommonTlsContext) Reset()

func (*CommonTlsContext) String

func (x *CommonTlsContext) String() string

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"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use CommonTlsContext_DeprecatedV1.ProtoReflect.Descriptor instead.

func (*CommonTlsContext_DeprecatedV1) GetAltAlpnProtocols

func (x *CommonTlsContext_DeprecatedV1) GetAltAlpnProtocols() string

func (*CommonTlsContext_DeprecatedV1) ProtoMessage

func (*CommonTlsContext_DeprecatedV1) ProtoMessage()

func (*CommonTlsContext_DeprecatedV1) ProtoReflect

func (*CommonTlsContext_DeprecatedV1) Reset

func (x *CommonTlsContext_DeprecatedV1) Reset()

func (*CommonTlsContext_DeprecatedV1) String

type ConfigSource

type ConfigSource struct {

	// Types that are assignable to ConfigSourceSpecifier:
	//
	//	*ConfigSource_Path
	//	*ConfigSource_Ads
	ConfigSourceSpecifier isConfigSource_ConfigSourceSpecifier `protobuf_oneof:"config_source_specifier"`
	// When this timeout is specified, Envoy will wait no longer than the specified time for first
	// config response on this xDS subscription during the :ref:`initialization process
	// <arch_overview_initialization>`. After reaching the timeout, Envoy will move to the next
	// initialization phase, even if the first config is not delivered yet. The timer is activated
	// when the xDS API subscription starts, and is disarmed on first config update or on error. 0
	// means no timeout - Envoy will wait indefinitely for the first xDS config (unless another
	// timeout applies). The default is 15s.
	InitialFetchTimeout *Duration `protobuf:"bytes,4,opt,name=initial_fetch_timeout,json=initialFetchTimeout,proto3" json:"initial_fetch_timeout,omitempty"`
	// contains filtered or unexported fields
}

Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters <config_cluster_manager>`, :ref:`routes <envoy_api_msg_config.route.v3.RouteConfiguration>`, :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. [#next-free-field: 8]

func (*ConfigSource) Descriptor deprecated

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

Deprecated: Use ConfigSource.ProtoReflect.Descriptor instead.

func (*ConfigSource) GetAds

func (x *ConfigSource) GetAds() *AggregatedConfigSource

func (*ConfigSource) GetConfigSourceSpecifier

func (m *ConfigSource) GetConfigSourceSpecifier() isConfigSource_ConfigSourceSpecifier

func (*ConfigSource) GetInitialFetchTimeout

func (x *ConfigSource) GetInitialFetchTimeout() *Duration

func (*ConfigSource) GetPath

func (x *ConfigSource) GetPath() string

func (*ConfigSource) ProtoMessage

func (*ConfigSource) ProtoMessage()

func (*ConfigSource) ProtoReflect

func (x *ConfigSource) ProtoReflect() protoreflect.Message

func (*ConfigSource) Reset

func (x *ConfigSource) Reset()

func (*ConfigSource) String

func (x *ConfigSource) String() string

type ConfigSource_Ads

type ConfigSource_Ads struct {
	// When set, ADS will be used to fetch resources. The ADS API configuration
	// source in the bootstrap configuration is used.
	Ads *AggregatedConfigSource `protobuf:"bytes,3,opt,name=ads,proto3,oneof"`
}

type ConfigSource_Path

type ConfigSource_Path struct {
	// Path on the filesystem to source and watch for configuration updates.
	// When sourcing configuration for :ref:`secret <envoy_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
	// the certificate and key files are also watched for updates.
	//
	// .. note::
	//
	//	The path to the source must exist at config load time.
	//
	// .. note::
	//
	//	Envoy will only watch the file path for *moves.* This is because in general only moves
	//	are atomic. The same method of swapping files as is demonstrated in the
	//	:ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be used here also.
	Path string `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type DataSource

type DataSource struct {

	// Types that are assignable to Specifier:
	//
	//	*DataSource_Filename
	//	*DataSource_InlineBytes
	//	*DataSource_InlineString
	Specifier isDataSource_Specifier `protobuf_oneof:"specifier"`
	// contains filtered or unexported fields
}

Data source consisting of either a file or an inline value.

func (*DataSource) Descriptor deprecated

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

Deprecated: Use DataSource.ProtoReflect.Descriptor instead.

func (*DataSource) GetFilename

func (x *DataSource) GetFilename() string

func (*DataSource) GetInlineBytes

func (x *DataSource) GetInlineBytes() []byte

func (*DataSource) GetInlineString

func (x *DataSource) GetInlineString() string

func (*DataSource) GetSpecifier

func (m *DataSource) GetSpecifier() isDataSource_Specifier

func (*DataSource) ProtoMessage

func (*DataSource) ProtoMessage()

func (*DataSource) ProtoReflect

func (x *DataSource) ProtoReflect() protoreflect.Message

func (*DataSource) Reset

func (x *DataSource) Reset()

func (*DataSource) String

func (x *DataSource) String() string

type DataSource_Filename

type DataSource_Filename struct {
	// Local filesystem data source.
	Filename string `protobuf:"bytes,1,opt,name=filename,proto3,oneof"`
}

type DataSource_InlineBytes

type DataSource_InlineBytes struct {
	// Bytes inlined in the configuration.
	InlineBytes []byte `protobuf:"bytes,2,opt,name=inline_bytes,json=inlineBytes,proto3,oneof"`
}

type DataSource_InlineString

type DataSource_InlineString struct {
	// String inlined in the configuration.
	InlineString string `protobuf:"bytes,3,opt,name=inline_string,json=inlineString,proto3,oneof"`
}

type DeltaDiscoveryRequest

type DeltaDiscoveryRequest struct {

	// The node making the request.
	Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	// Type of the resource that is being requested, e.g.
	// “type.googleapis.com/envoy.api.v2.ClusterLoadAssignment“. This does not need to be set if
	// resources are only referenced via “xds_resource_subscribe“ and
	// “xds_resources_unsubscribe“.
	TypeUrl string `protobuf:"bytes,2,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// DeltaDiscoveryRequests allow the client to add or remove individual
	// resources to the set of tracked resources in the context of a stream.
	// All resource names in the resource_names_subscribe list are added to the
	// set of tracked resources and all resource names in the resource_names_unsubscribe
	// list are removed from the set of tracked resources.
	//
	// *Unlike* state-of-the-world xDS, an empty resource_names_subscribe or
	// resource_names_unsubscribe list simply means that no resources are to be
	// added or removed to the resource list.
	// *Like* state-of-the-world xDS, the server must send updates for all tracked
	// resources, but can also send updates for resources the client has not subscribed to.
	//
	// NOTE: the server must respond with all resources listed in resource_names_subscribe,
	// even if it believes the client has the most recent version of them. The reason:
	// the client may have dropped them, but then regained interest before it had a chance
	// to send the unsubscribe message. See DeltaSubscriptionStateTest.RemoveThenAdd.
	//
	// These two fields can be set in any DeltaDiscoveryRequest, including ACKs
	// and initial_resource_versions.
	//
	// A list of Resource names to add to the list of tracked resources.
	ResourceNamesSubscribe []string `` /* 129-byte string literal not displayed */
	// A list of Resource names to remove from the list of tracked resources.
	ResourceNamesUnsubscribe []string `` /* 135-byte string literal not displayed */
	// Informs the server of the versions of the resources the xDS client knows of, to enable the
	// client to continue the same logical xDS session even in the face of gRPC stream reconnection.
	// It will not be populated: [1] in the very first stream of a session, since the client will
	// not yet have any resources,  [2] in any message after the first in a stream (for a given
	// type_url), since the server will already be correctly tracking the client's state.
	// (In ADS, the first message *of each type_url* of a reconnected stream populates this map.)
	// The map's keys are names of xDS resources known to the xDS client.
	// The map's values are opaque resource versions.
	InitialResourceVersions map[string]string `` /* 220-byte string literal not displayed */
	// When the DeltaDiscoveryRequest is a ACK or NACK message in response
	// to a previous DeltaDiscoveryResponse, the response_nonce must be the
	// nonce in the DeltaDiscoveryResponse.
	// Otherwise (unlike in DiscoveryRequest) response_nonce must be omitted.
	ResponseNonce string `protobuf:"bytes,6,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_v3_api_msg_service.discovery.v3.DiscoveryResponse>`
	// failed to update configuration. The “message“ field in “error_details“
	// provides the Envoy internal exception related to the failure.
	ErrorDetail *Status `protobuf:"bytes,7,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
	// contains filtered or unexported fields
}

func (*DeltaDiscoveryRequest) Descriptor deprecated

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

Deprecated: Use DeltaDiscoveryRequest.ProtoReflect.Descriptor instead.

func (*DeltaDiscoveryRequest) GetErrorDetail

func (x *DeltaDiscoveryRequest) GetErrorDetail() *Status

func (*DeltaDiscoveryRequest) GetInitialResourceVersions

func (x *DeltaDiscoveryRequest) GetInitialResourceVersions() map[string]string

func (*DeltaDiscoveryRequest) GetNode

func (x *DeltaDiscoveryRequest) GetNode() *Node

func (*DeltaDiscoveryRequest) GetResourceNamesSubscribe

func (x *DeltaDiscoveryRequest) GetResourceNamesSubscribe() []string

func (*DeltaDiscoveryRequest) GetResourceNamesUnsubscribe

func (x *DeltaDiscoveryRequest) GetResourceNamesUnsubscribe() []string

func (*DeltaDiscoveryRequest) GetResponseNonce

func (x *DeltaDiscoveryRequest) GetResponseNonce() string

func (*DeltaDiscoveryRequest) GetTypeUrl

func (x *DeltaDiscoveryRequest) GetTypeUrl() string

func (*DeltaDiscoveryRequest) ProtoMessage

func (*DeltaDiscoveryRequest) ProtoMessage()

func (*DeltaDiscoveryRequest) ProtoReflect

func (x *DeltaDiscoveryRequest) ProtoReflect() protoreflect.Message

func (*DeltaDiscoveryRequest) Reset

func (x *DeltaDiscoveryRequest) Reset()

func (*DeltaDiscoveryRequest) String

func (x *DeltaDiscoveryRequest) String() string

type DeltaDiscoveryResponse

type DeltaDiscoveryResponse struct {

	// The version of the response data (used for debugging).
	SystemVersionInfo string `protobuf:"bytes,1,opt,name=system_version_info,json=systemVersionInfo,proto3" json:"system_version_info,omitempty"`
	// The response resources. These are typed resources, whose types must match
	// the type_url field.
	Resources []*Resource `protobuf:"bytes,2,rep,name=resources,proto3" json:"resources,omitempty"`
	// Type URL for resources. Identifies the xDS API when muxing over ADS.
	// Must be consistent with the type_url in the Any within 'resources' if 'resources' is non-empty.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// Resources names of resources that have be deleted and to be removed from the xDS Client.
	// Removed resources for missing resources can be ignored.
	RemovedResources []string `protobuf:"bytes,6,rep,name=removed_resources,json=removedResources,proto3" json:"removed_resources,omitempty"`
	// The nonce provides a way for DeltaDiscoveryRequests to uniquely
	// reference a DeltaDiscoveryResponse when (N)ACKing. The nonce is required.
	Nonce string `protobuf:"bytes,5,opt,name=nonce,proto3" json:"nonce,omitempty"`
	// contains filtered or unexported fields
}

func (*DeltaDiscoveryResponse) Descriptor deprecated

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

Deprecated: Use DeltaDiscoveryResponse.ProtoReflect.Descriptor instead.

func (*DeltaDiscoveryResponse) GetNonce

func (x *DeltaDiscoveryResponse) GetNonce() string

func (*DeltaDiscoveryResponse) GetRemovedResources

func (x *DeltaDiscoveryResponse) GetRemovedResources() []string

func (*DeltaDiscoveryResponse) GetResources

func (x *DeltaDiscoveryResponse) GetResources() []*Resource

func (*DeltaDiscoveryResponse) GetSystemVersionInfo

func (x *DeltaDiscoveryResponse) GetSystemVersionInfo() string

func (*DeltaDiscoveryResponse) GetTypeUrl

func (x *DeltaDiscoveryResponse) GetTypeUrl() string

func (*DeltaDiscoveryResponse) ProtoMessage

func (*DeltaDiscoveryResponse) ProtoMessage()

func (*DeltaDiscoveryResponse) ProtoReflect

func (x *DeltaDiscoveryResponse) ProtoReflect() protoreflect.Message

func (*DeltaDiscoveryResponse) Reset

func (x *DeltaDiscoveryResponse) Reset()

func (*DeltaDiscoveryResponse) String

func (x *DeltaDiscoveryResponse) String() string

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,proto3" 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,proto3" json:"resource_names,omitempty"`
	// Type of the resource that is being requested, e.g.
	// "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
	// in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
	// required for ADS.
	TypeUrl string `protobuf:"bytes,4,opt,name=type_url,json=typeUrl,proto3" json:"type_url,omitempty"`
	// nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
	// discussion on version_info and the DiscoveryResponse nonce comment. This
	// may be empty if no nonce is available, e.g. at startup or for non-stream
	// xDS implementations.
	ResponseNonce string `protobuf:"bytes,5,opt,name=response_nonce,json=responseNonce,proto3" json:"response_nonce,omitempty"`
	// This is populated when the previous :ref:`DiscoveryResponse <envoy_api_msg_DiscoveryResponse>`
	// failed to update configuration. The *message* field in *error_details* provides the Envoy
	// internal exception related to the failure. It is only intended for consumption during manual
	// debugging, the string provided is not guaranteed to be stable across Envoy versions.
	// google.rpc.Status
	ErrorDetail *Status `protobuf:"bytes,6,opt,name=error_detail,json=errorDetail,proto3" json:"error_detail,omitempty"`
	// Extension to Envoy - allow push
	Resources []*Any `protobuf:"bytes,7,rep,name=resources,proto3" json:"resources,omitempty"`
	// contains filtered or unexported fields
}

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

func (*DiscoveryRequest) Descriptor deprecated

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

Deprecated: Use DiscoveryRequest.ProtoReflect.Descriptor instead.

func (*DiscoveryRequest) GetErrorDetail

func (x *DiscoveryRequest) GetErrorDetail() *Status

func (*DiscoveryRequest) GetNode

func (x *DiscoveryRequest) GetNode() *Node

func (*DiscoveryRequest) GetResourceNames

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

func (*DiscoveryRequest) GetResources

func (x *DiscoveryRequest) GetResources() []*Any

func (*DiscoveryRequest) GetResponseNonce

func (x *DiscoveryRequest) GetResponseNonce() string

func (*DiscoveryRequest) GetTypeUrl

func (x *DiscoveryRequest) GetTypeUrl() string

func (*DiscoveryRequest) GetVersionInfo

func (x *DiscoveryRequest) GetVersionInfo() string

func (*DiscoveryRequest) ProtoMessage

func (*DiscoveryRequest) ProtoMessage()

func (*DiscoveryRequest) ProtoReflect

func (x *DiscoveryRequest) ProtoReflect() protoreflect.Message

func (*DiscoveryRequest) Reset

func (x *DiscoveryRequest) Reset()

func (*DiscoveryRequest) String

func (x *DiscoveryRequest) String() string

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.
	// google.protobuf.Any
	Resources []*Any `protobuf:"bytes,2,rep,name=resources,proto3" 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"`
	ControlPlane *DiscoveryResponse_ControlPlane `protobuf:"bytes,6,opt,name=controlPlane,proto3" json:"controlPlane,omitempty"`
	// contains filtered or unexported fields
}

func (*DiscoveryResponse) Descriptor deprecated

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

Deprecated: Use DiscoveryResponse.ProtoReflect.Descriptor instead.

func (*DiscoveryResponse) GetCanary

func (x *DiscoveryResponse) GetCanary() bool

func (*DiscoveryResponse) GetControlPlane

func (x *DiscoveryResponse) GetControlPlane() *DiscoveryResponse_ControlPlane

func (*DiscoveryResponse) GetNonce

func (x *DiscoveryResponse) GetNonce() string

func (*DiscoveryResponse) GetResources

func (x *DiscoveryResponse) GetResources() []*Any

func (*DiscoveryResponse) GetTypeUrl

func (x *DiscoveryResponse) GetTypeUrl() string

func (*DiscoveryResponse) GetVersionInfo

func (x *DiscoveryResponse) GetVersionInfo() string

func (*DiscoveryResponse) ProtoMessage

func (*DiscoveryResponse) ProtoMessage()

func (*DiscoveryResponse) ProtoReflect

func (x *DiscoveryResponse) ProtoReflect() protoreflect.Message

func (*DiscoveryResponse) Reset

func (x *DiscoveryResponse) Reset()

func (*DiscoveryResponse) String

func (x *DiscoveryResponse) String() string

type DiscoveryResponse_ControlPlane

type DiscoveryResponse_ControlPlane struct {
	Identifier string `protobuf:"bytes,1,opt,name=Identifier,proto3" json:"Identifier,omitempty"`
	// contains filtered or unexported fields
}

func (*DiscoveryResponse_ControlPlane) Descriptor deprecated

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

Deprecated: Use DiscoveryResponse_ControlPlane.ProtoReflect.Descriptor instead.

func (*DiscoveryResponse_ControlPlane) GetIdentifier

func (x *DiscoveryResponse_ControlPlane) GetIdentifier() string

func (*DiscoveryResponse_ControlPlane) ProtoMessage

func (*DiscoveryResponse_ControlPlane) ProtoMessage()

func (*DiscoveryResponse_ControlPlane) ProtoReflect

func (*DiscoveryResponse_ControlPlane) Reset

func (x *DiscoveryResponse_ControlPlane) Reset()

func (*DiscoveryResponse_ControlPlane) String

type DownstreamTlsContext

type DownstreamTlsContext struct {

	// Common TLS context settings.
	CommonTlsContext *CommonTlsContext `protobuf:"bytes,1,opt,name=common_tls_context,json=commonTlsContext,proto3" json:"common_tls_context,omitempty"`
	// If specified, Envoy will reject connections without a valid client
	// certificate.
	RequireClientCertificate *BoolValue `` /* 135-byte string literal not displayed */
	// If specified, Envoy will reject connections without a valid and matching SNI.
	// [#not-implemented-hide:]
	RequireSni *BoolValue `protobuf:"bytes,3,opt,name=require_sni,json=requireSni,proto3" json:"require_sni,omitempty"`
	// contains filtered or unexported fields
}

func (*DownstreamTlsContext) Descriptor deprecated

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

Deprecated: Use DownstreamTlsContext.ProtoReflect.Descriptor instead.

func (*DownstreamTlsContext) GetCommonTlsContext

func (x *DownstreamTlsContext) GetCommonTlsContext() *CommonTlsContext

func (*DownstreamTlsContext) GetRequireClientCertificate

func (x *DownstreamTlsContext) GetRequireClientCertificate() *BoolValue

func (*DownstreamTlsContext) GetRequireSni

func (x *DownstreamTlsContext) GetRequireSni() *BoolValue

func (*DownstreamTlsContext) ProtoMessage

func (*DownstreamTlsContext) ProtoMessage()

func (*DownstreamTlsContext) ProtoReflect

func (x *DownstreamTlsContext) ProtoReflect() protoreflect.Message

func (*DownstreamTlsContext) Reset

func (x *DownstreamTlsContext) Reset()

func (*DownstreamTlsContext) String

func (x *DownstreamTlsContext) String() string

type Duration

type Duration struct {

	// Signed seconds of the span of time. Must be from -315,576,000,000
	// to +315,576,000,000 inclusive. Note: these bounds are computed from:
	// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
	Seconds int64 `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	// Signed fractions of a second at nanosecond resolution of the span
	// of time. Durations less than one second are represented with a 0
	// `seconds` field and a positive or negative `nanos` field. For durations
	// of one second or more, a non-zero value for the `nanos` field must be
	// of the same sign as the `seconds` field. Must be from -999,999,999
	// to +999,999,999 inclusive.
	Nanos int32 `protobuf:"varint,2,opt,name=nanos,proto3" json:"nanos,omitempty"`
	// contains filtered or unexported fields
}

A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.

Examples

Example 1: Compute Duration from two Timestamps in pseudo code.

Timestamp start = ...;
Timestamp end = ...;
Duration duration = ...;

duration.seconds = end.seconds - start.seconds;
duration.nanos = end.nanos - start.nanos;

if (duration.seconds < 0 && duration.nanos > 0) {
  duration.seconds += 1;
  duration.nanos -= 1000000000;
} else if (durations.seconds > 0 && duration.nanos < 0) {
  duration.seconds -= 1;
  duration.nanos += 1000000000;
}

Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.

Timestamp start = ...;
Duration duration = ...;
Timestamp end = ...;

end.seconds = start.seconds + duration.seconds;
end.nanos = start.nanos + duration.nanos;

if (end.nanos < 0) {
  end.seconds -= 1;
  end.nanos += 1000000000;
} else if (end.nanos >= 1000000000) {
  end.seconds += 1;
  end.nanos -= 1000000000;
}

Example 3: Compute Duration from datetime.timedelta in Python.

td = datetime.timedelta(days=3, minutes=10)
duration = Duration()
duration.FromTimedelta(td)

JSON Mapping

In JSON format, the Duration type is encoded as a string rather than an object, where the string ends in the suffix "s" (indicating seconds) and is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should be expressed in JSON format as "3.000000001s", and 3 seconds and 1 microsecond should be expressed in JSON format as "3.000001s".

func (*Duration) Descriptor deprecated

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

Deprecated: Use Duration.ProtoReflect.Descriptor instead.

func (*Duration) GetNanos

func (x *Duration) GetNanos() int32

func (*Duration) GetSeconds

func (x *Duration) GetSeconds() int64

func (*Duration) ProtoMessage

func (*Duration) ProtoMessage()

func (*Duration) ProtoReflect

func (x *Duration) ProtoReflect() protoreflect.Message

func (*Duration) Reset

func (x *Duration) Reset()

func (*Duration) String

func (x *Duration) String() string

type Endpoint

type Endpoint struct {
	Address *Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

Upstream host identifier.

func (*Endpoint) Descriptor deprecated

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

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) GetAddress

func (x *Endpoint) GetAddress() *Address

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) String

func (x *Endpoint) String() string

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"`
	// Types that are assignable to ConfigType:
	//
	//	*Filter_TypedConfig
	ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"`
	// [#not-implemented-hide:]
	//
	// Deprecated: Marked as deprecated in xds/envoy_base.proto.
	DeprecatedV1 *Filter_DeprecatedV1 `protobuf:"bytes,3,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// contains filtered or unexported fields
}

func (*Filter) Descriptor deprecated

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

Deprecated: Use Filter.ProtoReflect.Descriptor instead.

func (*Filter) GetConfigType

func (m *Filter) GetConfigType() isFilter_ConfigType

func (*Filter) GetDeprecatedV1 deprecated

func (x *Filter) GetDeprecatedV1() *Filter_DeprecatedV1

Deprecated: Marked as deprecated in xds/envoy_base.proto.

func (*Filter) GetName

func (x *Filter) GetName() string

func (*Filter) GetTypedConfig

func (x *Filter) GetTypedConfig() *Any

func (*Filter) ProtoMessage

func (*Filter) ProtoMessage()

func (*Filter) ProtoReflect

func (x *Filter) ProtoReflect() protoreflect.Message

func (*Filter) Reset

func (x *Filter) Reset()

func (*Filter) String

func (x *Filter) String() string

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,proto3" json:"filter_chain_match,omitempty"`
	// The TLS context for this filter chain.
	TlsContext *DownstreamTlsContext `protobuf:"bytes,2,opt,name=tls_context,json=tlsContext,proto3" 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,proto3" 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 *BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"`
	// [#not-implemented-hide:] filter chain metadata.
	Metadata *Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// See :ref:`base.TransportSocket<envoy_api_msg_core.TransportSocket>` description.
	TransportSocket *TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
	// contains filtered or unexported fields
}

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

func (*FilterChain) Descriptor deprecated

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

Deprecated: Use FilterChain.ProtoReflect.Descriptor instead.

func (*FilterChain) GetFilterChainMatch

func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch

func (*FilterChain) GetFilters

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

func (*FilterChain) GetMetadata

func (x *FilterChain) GetMetadata() *Metadata

func (*FilterChain) GetTlsContext

func (x *FilterChain) GetTlsContext() *DownstreamTlsContext

func (*FilterChain) GetTransportSocket

func (x *FilterChain) GetTransportSocket() *TransportSocket

func (*FilterChain) GetUseProxyProto

func (x *FilterChain) GetUseProxyProto() *BoolValue

func (*FilterChain) ProtoMessage

func (*FilterChain) ProtoMessage()

func (*FilterChain) ProtoReflect

func (x *FilterChain) ProtoReflect() protoreflect.Message

func (*FilterChain) Reset

func (x *FilterChain) Reset()

func (*FilterChain) String

func (x *FilterChain) String() string

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,proto3" 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,proto3" 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 *UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" 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,proto3" 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 []*UInt32Value `protobuf:"bytes,7,rep,name=source_ports,json=sourcePorts,proto3" 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 *UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
	// contains filtered or unexported fields
}

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

func (*FilterChainMatch) Descriptor deprecated

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

Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead.

func (*FilterChainMatch) GetAddressSuffix

func (x *FilterChainMatch) GetAddressSuffix() string

func (*FilterChainMatch) GetDestinationPort

func (x *FilterChainMatch) GetDestinationPort() *UInt32Value

func (*FilterChainMatch) GetPrefixRanges

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

func (*FilterChainMatch) GetSniDomains

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

func (*FilterChainMatch) GetSourcePorts

func (x *FilterChainMatch) GetSourcePorts() []*UInt32Value

func (*FilterChainMatch) GetSourcePrefixRanges

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

func (*FilterChainMatch) GetSuffixLen

func (x *FilterChainMatch) GetSuffixLen() *UInt32Value

func (*FilterChainMatch) ProtoMessage

func (*FilterChainMatch) ProtoMessage()

func (*FilterChainMatch) ProtoReflect

func (x *FilterChainMatch) ProtoReflect() protoreflect.Message

func (*FilterChainMatch) Reset

func (x *FilterChainMatch) Reset()

func (*FilterChainMatch) String

func (x *FilterChainMatch) String() string

type Filter_DeprecatedV1

type Filter_DeprecatedV1 struct {
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// contains filtered or unexported fields
}

[#not-implemented-hide:]

func (*Filter_DeprecatedV1) Descriptor deprecated

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

Deprecated: Use Filter_DeprecatedV1.ProtoReflect.Descriptor instead.

func (*Filter_DeprecatedV1) GetType

func (x *Filter_DeprecatedV1) GetType() string

func (*Filter_DeprecatedV1) ProtoMessage

func (*Filter_DeprecatedV1) ProtoMessage()

func (*Filter_DeprecatedV1) ProtoReflect

func (x *Filter_DeprecatedV1) ProtoReflect() protoreflect.Message

func (*Filter_DeprecatedV1) Reset

func (x *Filter_DeprecatedV1) Reset()

func (*Filter_DeprecatedV1) String

func (x *Filter_DeprecatedV1) String() string

type Filter_TypedConfig

type Filter_TypedConfig struct {
	// Filter specific configuration which depends on the filter being
	// instantiated. See the supported filters for further documentation.
	TypedConfig *Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

type HttpConnectionManager

type HttpConnectionManager struct {

	//	enum CodecType {
	//	    // For every new connection, the connection manager will determine which
	//	    // codec to use. This mode supports both ALPN for TLS listeners as well as
	//	    // protocol inference for plaintext listeners. If ALPN data is available, it
	//	    // is preferred, otherwise protocol inference is used. In almost all cases,
	//	    // this is the right option to choose for this setting.
	//	    AUTO = 0;
	//
	//	    // The connection manager will assume that the client is speaking HTTP/1.1.
	//	    HTTP1 = 1;
	//
	//	    // The connection manager will assume that the client is speaking HTTP/2
	//	    // (Envoy does not require HTTP/2 to take place over TLS or to use ALPN.
	//	    // Prior knowledge is allowed).
	//	    HTTP2 = 2;
	//
	//	    // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with
	//	    // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient
	//	    // to distinguish HTTP1 and HTTP2 traffic.
	//	    HTTP3 = 3;
	//	}
	//
	//	enum ServerHeaderTransformation {
	//	    // Overwrite any Server header with the contents of server_name.
	//	    OVERWRITE = 0;
	//
	//	    // If no Server header is present, append Server server_name
	//	    // If a Server header is present, pass it through.
	//	    APPEND_IF_ABSENT = 1;
	//
	//	    // Pass through the value of the server header, and do not append a header
	//	    // if none is present.
	//	    PASS_THROUGH = 2;
	//	}
	//
	//	// How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
	//	// header.
	//	enum ForwardClientCertDetails {
	//	    // Do not send the XFCC header to the next hop. This is the default value.
	//	    SANITIZE = 0;
	//
	//	    // When the client connection is mTLS (Mutual TLS), forward the XFCC header
	//	    // in the request.
	//	    FORWARD_ONLY = 1;
	//
	//	    // When the client connection is mTLS, append the client certificate
	//	    // information to the request’s XFCC header and forward it.
	//	    APPEND_FORWARD = 2;
	//
	//	    // When the client connection is mTLS, reset the XFCC header with the client
	//	    // certificate information and send it to the next hop.
	//	    SANITIZE_SET = 3;
	//
	//	    // Always forward the XFCC header in the request, regardless of whether the
	//	    // client connection is mTLS.
	//	    ALWAYS_FORWARD_ONLY = 4;
	//	}
	//
	//	// [#next-free-field: 10]
	//	message Tracing {
	//	    option (udpa.annotations.versioning).previous_message_type =
	//	        "envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager.Tracing";
	//
	//	    enum OperationName {
	//	        // The HTTP listener is used for ingress/incoming requests.
	//	        INGRESS = 0;
	//
	//	        // The HTTP listener is used for egress/outgoing requests.
	//	        EGRESS = 1;
	//	    }
	//
	//	    reserved 1, 2;
	//
	//	    reserved "operation_name", "request_headers_for_tags";
	//
	//	    // Target percentage of requests managed by this HTTP connection manager that will be force
	//	    // traced if the :ref:`x-client-trace-id <config_http_conn_man_headers_x-client-trace-id>`
	//	    // header is set. This field is a direct analog for the runtime variable
	//	    // 'tracing.client_sampling' in the :ref:`HTTP Connection Manager
	//	    // <config_http_conn_man_runtime>`.
	//	    // Default: 100%
	//	    type.v3.Percent client_sampling = 3;
	//
	//	    // Target percentage of requests managed by this HTTP connection manager that will be randomly
	//	    // selected for trace generation, if not requested by the client or not forced. This field is
	//	    // a direct analog for the runtime variable 'tracing.random_sampling' in the
	//	    // :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	//	    // Default: 100%
	//	    type.v3.Percent random_sampling = 4;
	//
	//	    // Target percentage of requests managed by this HTTP connection manager that will be traced
	//	    // after all other sampling checks have been applied (client-directed, force tracing, random
	//	    // sampling). This field functions as an upper limit on the total configured sampling rate. For
	//	    // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1%
	//	    // of client requests with the appropriate headers to be force traced. This field is a direct
	//	    // analog for the runtime variable 'tracing.global_enabled' in the
	//	    // :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	//	    // Default: 100%
	//	    type.v3.Percent overall_sampling = 5;
	//
	//	    // Whether to annotate spans with additional data. If true, spans will include logs for stream
	//	    // events.
	//	    bool verbose = 6;
	//
	//	    // Maximum length of the request path to extract and include in the HttpUrl tag. Used to
	//	    // truncate lengthy request paths to meet the needs of a tracing backend.
	//	    // Default: 256
	//	    google.protobuf.UInt32Value max_path_tag_length = 7;
	//
	//	    // A list of custom tags with unique tag name to create tags for the active span.
	//	    repeated type.tracing.v3.CustomTag custom_tags = 8;
	//
	//	    // Configuration for an external tracing provider.
	//	    // If not specified, no tracing will be performed.
	//	    //
	//	    // .. attention::
	//	    //   Please be aware that *envoy.tracers.opencensus* provider can only be configured once
	//	    //   in Envoy lifetime.
	//	    //   Any attempts to reconfigure it or to use different configurations for different HCM filters
	//	    //   will be rejected.
	//	    //   Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes
	//	    //   on OpenCensus side.
	//	    config.trace.v3.Tracing.Http provider = 9;
	//	}
	//
	//	message InternalAddressConfig {
	//	    option (udpa.annotations.versioning).previous_message_type =
	//	    "envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager."
	//	        "InternalAddressConfig";
	//
	//	    // Whether unix socket addresses should be considered internal.
	//	    bool unix_sockets = 1;
	//	}
	//
	//	// [#next-free-field: 7]
	//	message SetCurrentClientCertDetails {
	//	    option (udpa.annotations.versioning).previous_message_type =
	//	    "envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager."
	//	        "SetCurrentClientCertDetails";
	//
	//	    reserved 2;
	//
	//	    // Whether to forward the subject of the client cert. Defaults to false.
	//	    google.protobuf.BoolValue subject = 1;
	//
	//	    // Whether to forward the entire client cert in URL encoded PEM format. This will appear in the
	//	    // XFCC header comma separated from other values with the value Cert="PEM".
	//	    // Defaults to false.
	//	    bool cert = 3;
	//
	//	    // Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM
	//	    // format. This will appear in the XFCC header comma separated from other values with the value
	//	    // Chain="PEM".
	//	    // Defaults to false.
	//	    bool chain = 6;
	//
	//	    // Whether to forward the DNS type Subject Alternative Names of the client cert.
	//	    // Defaults to false.
	//	    bool dns = 4;
	//
	//	    // Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to
	//	    // false.
	//	    bool uri = 5;
	//	}
	//
	//	// The configuration for HTTP upgrades.
	//	// For each upgrade type desired, an UpgradeConfig must be added.
	//	//
	//	// .. warning::
	//	//
	//	//    The current implementation of upgrade headers does not handle
	//	//    multi-valued upgrade headers. Support for multi-valued headers may be
	//	//    added in the future if needed.
	//	//
	//	// .. warning::
	//	//    The current implementation of upgrade headers does not work with HTTP/2
	//	//    upstreams.
	//	message UpgradeConfig {
	//	    option (udpa.annotations.versioning).previous_message_type =
	//	    "envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager."
	//	        "UpgradeConfig";
	//
	//	    // The case-insensitive name of this upgrade, e.g. "websocket".
	//	    // For each upgrade type present in upgrade_configs, requests with
	//	    // Upgrade: [upgrade_type]
	//	    // will be proxied upstream.
	//	    string upgrade_type = 1;
	//
	//	    // If present, this represents the filter chain which will be created for
	//	    // this type of upgrade. If no filters are present, the filter chain for
	//	    // HTTP connections will be used for this upgrade type.
	//	    repeated HttpFilter filters = 2;
	//
	//	    // Determines if upgrades are enabled or disabled by default. Defaults to true.
	//	    // This can be overridden on a per-route basis with :ref:`cluster
	//	    // <envoy_api_field_config.route.v3.RouteAction.upgrade_configs>` as documented in the
	//	    // :ref:`upgrade documentation <arch_overview_upgrades>`.
	//	    google.protobuf.BoolValue enabled = 3;
	//	}
	//
	//	reserved 27, 11;
	//
	//	reserved "idle_timeout";
	//
	//	// Supplies the type of codec that the connection manager should use.
	//	CodecType codec_type = 1 [(validate.rules).enum = {defined_only: true}];
	//
	//	// The human readable prefix to use when emitting statistics for the
	//	// connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for
	//	// more information.
	//	string stat_prefix = 2 [(validate.rules).string = {min_len: 1}];
	//
	// Types that are assignable to RouteSpecifier:
	//
	//	*HttpConnectionManager_Rds
	RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"`
	// contains filtered or unexported fields
}

[#next-free-field: 43]

func (*HttpConnectionManager) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager) GetRds

func (x *HttpConnectionManager) GetRds() *Rds

func (*HttpConnectionManager) GetRouteSpecifier

func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier

func (*HttpConnectionManager) ProtoMessage

func (*HttpConnectionManager) ProtoMessage()

func (*HttpConnectionManager) ProtoReflect

func (x *HttpConnectionManager) ProtoReflect() protoreflect.Message

func (*HttpConnectionManager) Reset

func (x *HttpConnectionManager) Reset()

func (*HttpConnectionManager) String

func (x *HttpConnectionManager) String() string

type HttpConnectionManager_Rds

type HttpConnectionManager_Rds struct {
	// The connection manager’s route table will be dynamically loaded via the RDS API.
	Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"`
}

type LbEndpoint

type LbEndpoint struct {

	// Upstream host identifier
	Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// 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,proto3" 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 *UInt32Value `protobuf:"bytes,4,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"`
	// contains filtered or unexported fields
}

An Endpoint that Envoy can route traffic to.

func (*LbEndpoint) Descriptor deprecated

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

Deprecated: Use LbEndpoint.ProtoReflect.Descriptor instead.

func (*LbEndpoint) GetEndpoint

func (x *LbEndpoint) GetEndpoint() *Endpoint

func (*LbEndpoint) GetLoadBalancingWeight

func (x *LbEndpoint) GetLoadBalancingWeight() *UInt32Value

func (*LbEndpoint) GetMetadata

func (x *LbEndpoint) GetMetadata() *Metadata

func (*LbEndpoint) ProtoMessage

func (*LbEndpoint) ProtoMessage()

func (*LbEndpoint) ProtoReflect

func (x *LbEndpoint) ProtoReflect() protoreflect.Message

func (*LbEndpoint) Reset

func (x *LbEndpoint) Reset()

func (*LbEndpoint) String

func (x *LbEndpoint) String() string

type ListValue

type ListValue struct {

	// Repeated field of dynamically typed values.
	Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

`ListValue` is a wrapper around a repeated field of values.

The JSON representation for `ListValue` is JSON array.

func (*ListValue) Descriptor deprecated

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

Deprecated: Use ListValue.ProtoReflect.Descriptor instead.

func (*ListValue) GetValues

func (x *ListValue) GetValues() []*Value

func (*ListValue) ProtoMessage

func (*ListValue) ProtoMessage()

func (*ListValue) ProtoReflect

func (x *ListValue) ProtoReflect() protoreflect.Message

func (*ListValue) Reset

func (x *ListValue) Reset()

func (*ListValue) String

func (x *ListValue) String() string

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,proto3" json:"address,omitempty"`
	// A list of filter chains to consider for this listener. The
	// :ref:`FilterChain <envoy_api_msg_listener.FilterChain>` with the most specific
	// :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` criteria is used on a
	// connection.
	//
	// .. 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_listener.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,proto3" 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.
	//
	// .. attention::
	//
	//	This field is deprecated. Use :ref:`an original_dst <config_listener_filters_original_dst>`
	//	:ref:`listener filter <envoy_api_field_Listener.listener_filters>` instead.
	//
	//	Note that hand off to another listener is *NOT* performed without this flag. Once
	//	:ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>` is implemented this flag
	//	will be removed, as filter chain matching can be used to select a filter chain based on the
	//	restored destination address.
	//
	// Deprecated: Marked as deprecated in xds/lds.proto.
	UseOriginalDst *BoolValue `protobuf:"bytes,4,opt,name=use_original_dst,json=useOriginalDst,proto3" 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 *UInt32Value `` /* 154-byte string literal not displayed */
	// Listener metadata.
	Metadata *Metadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// [#not-implemented-hide:]
	DeprecatedV1 *Listener_DeprecatedV1 `protobuf:"bytes,7,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// The type of draining to perform at a listener-wide level.
	DrainType Listener_DrainType `protobuf:"varint,8,opt,name=drain_type,json=drainType,proto3,enum=xds.Listener_DrainType" json:"drain_type,omitempty"`
	// Whether the listener should be set as a transparent socket. When this flag is set to true,
	// connections can be redirected to the listener using an *iptables* *TPROXY* target, in which
	// case the original source and destination addresses and ports are preserved on accepted
	// connections. Requires Envoy to run with the *CAP_NET_ADMIN* capability. Defaults to false.
	Transparent bool `protobuf:"varint,10,opt,name=transparent,proto3" json:"transparent,omitempty"`
	// contains filtered or unexported fields
}

func (*Listener) Descriptor deprecated

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

Deprecated: Use Listener.ProtoReflect.Descriptor instead.

func (*Listener) GetAddress

func (x *Listener) GetAddress() *Address

func (*Listener) GetDeprecatedV1

func (x *Listener) GetDeprecatedV1() *Listener_DeprecatedV1

func (*Listener) GetDrainType

func (x *Listener) GetDrainType() Listener_DrainType

func (*Listener) GetFilterChains

func (x *Listener) GetFilterChains() []*FilterChain

func (*Listener) GetMetadata

func (x *Listener) GetMetadata() *Metadata

func (*Listener) GetName

func (x *Listener) GetName() string

func (*Listener) GetPerConnectionBufferLimitBytes

func (x *Listener) GetPerConnectionBufferLimitBytes() *UInt32Value

func (*Listener) GetTransparent

func (x *Listener) GetTransparent() bool

func (*Listener) GetUseOriginalDst deprecated

func (x *Listener) GetUseOriginalDst() *BoolValue

Deprecated: Marked as deprecated in xds/lds.proto.

func (*Listener) ProtoMessage

func (*Listener) ProtoMessage()

func (*Listener) ProtoReflect

func (x *Listener) ProtoReflect() protoreflect.Message

func (*Listener) Reset

func (x *Listener) Reset()

func (*Listener) String

func (x *Listener) String() string

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 *BoolValue `protobuf:"bytes,1,opt,name=bind_to_port,json=bindToPort,proto3" json:"bind_to_port,omitempty"`
	// contains filtered or unexported fields
}

[#not-implemented-hide:]

func (*Listener_DeprecatedV1) Descriptor deprecated

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

Deprecated: Use Listener_DeprecatedV1.ProtoReflect.Descriptor instead.

func (*Listener_DeprecatedV1) GetBindToPort

func (x *Listener_DeprecatedV1) GetBindToPort() *BoolValue

func (*Listener_DeprecatedV1) ProtoMessage

func (*Listener_DeprecatedV1) ProtoMessage()

func (*Listener_DeprecatedV1) ProtoReflect

func (x *Listener_DeprecatedV1) ProtoReflect() protoreflect.Message

func (*Listener_DeprecatedV1) Reset

func (x *Listener_DeprecatedV1) Reset()

func (*Listener_DeprecatedV1) String

func (x *Listener_DeprecatedV1) String() string

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

func (Listener_DrainType) Enum

func (Listener_DrainType) EnumDescriptor deprecated

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

Deprecated: Use Listener_DrainType.Descriptor instead.

func (Listener_DrainType) Number

func (Listener_DrainType) String

func (x Listener_DrainType) String() string

func (Listener_DrainType) Type

type Locality

type Locality struct {

	// Region this :ref:`zone <envoy_api_field_core.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"`
	// contains filtered or unexported fields
}

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

func (*Locality) Descriptor deprecated

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

Deprecated: Use Locality.ProtoReflect.Descriptor instead.

func (*Locality) GetRegion

func (x *Locality) GetRegion() string

func (*Locality) GetSubZone

func (x *Locality) GetSubZone() string

func (*Locality) GetZone

func (x *Locality) GetZone() string

func (*Locality) ProtoMessage

func (*Locality) ProtoMessage()

func (*Locality) ProtoReflect

func (x *Locality) ProtoReflect() protoreflect.Message

func (*Locality) Reset

func (x *Locality) Reset()

func (*Locality) String

func (x *Locality) String() string

type LocalityLbEndpoints

type LocalityLbEndpoints struct {

	// Identifies location of where the upstream hosts run.
	Locality *Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	// The group of endpoints belonging to the locality specified.
	LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" 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 *UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" 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"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use LocalityLbEndpoints.ProtoReflect.Descriptor instead.

func (*LocalityLbEndpoints) GetLbEndpoints

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

func (*LocalityLbEndpoints) GetLoadBalancingWeight

func (x *LocalityLbEndpoints) GetLoadBalancingWeight() *UInt32Value

func (*LocalityLbEndpoints) GetLocality

func (x *LocalityLbEndpoints) GetLocality() *Locality

func (*LocalityLbEndpoints) GetPriority

func (x *LocalityLbEndpoints) GetPriority() uint32

func (*LocalityLbEndpoints) ProtoMessage

func (*LocalityLbEndpoints) ProtoMessage()

func (*LocalityLbEndpoints) ProtoReflect

func (x *LocalityLbEndpoints) ProtoReflect() protoreflect.Message

func (*LocalityLbEndpoints) Reset

func (x *LocalityLbEndpoints) Reset()

func (*LocalityLbEndpoints) String

func (x *LocalityLbEndpoints) String() string

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]*Struct `` /* 191-byte string literal not displayed */
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use Metadata.ProtoReflect.Descriptor instead.

func (*Metadata) GetFilterMetadata

func (x *Metadata) GetFilterMetadata() map[string]*Struct

func (*Metadata) ProtoMessage

func (*Metadata) ProtoMessage()

func (*Metadata) ProtoReflect

func (x *Metadata) ProtoReflect() protoreflect.Message

func (*Metadata) Reset

func (x *Metadata) Reset()

func (*Metadata) String

func (x *Metadata) String() string

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 *Struct `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Locality specifying where the Envoy instance is running.
	Locality *Locality `protobuf:"bytes,4,opt,name=locality,proto3" 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"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use Node.ProtoReflect.Descriptor instead.

func (*Node) GetBuildVersion

func (x *Node) GetBuildVersion() string

func (*Node) GetCluster

func (x *Node) GetCluster() string

func (*Node) GetId

func (x *Node) GetId() string

func (*Node) GetLocality

func (x *Node) GetLocality() *Locality

func (*Node) GetMetadata

func (x *Node) GetMetadata() *Struct

func (*Node) ProtoMessage

func (*Node) ProtoMessage()

func (*Node) ProtoReflect

func (x *Node) ProtoReflect() protoreflect.Message

func (*Node) Reset

func (x *Node) Reset()

func (*Node) String

func (x *Node) String() string

type NullValue

type NullValue int32

`NullValue` is a singleton enumeration to represent the null value for the `Value` type union.

The JSON representation for `NullValue` is JSON `null`.
const (
	// Null value.
	NullValue_NULL_VALUE NullValue = 0
)

func (NullValue) Descriptor

func (NullValue) Descriptor() protoreflect.EnumDescriptor

func (NullValue) Enum

func (x NullValue) Enum() *NullValue

func (NullValue) EnumDescriptor deprecated

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

Deprecated: Use NullValue.Descriptor instead.

func (NullValue) Number

func (x NullValue) Number() protoreflect.EnumNumber

func (NullValue) String

func (x NullValue) String() string

func (NullValue) Type

type Percent

type Percent struct {
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Identifies a percentage, in the range [0.0, 100.0].

func (*Percent) Descriptor deprecated

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

Deprecated: Use Percent.ProtoReflect.Descriptor instead.

func (*Percent) GetValue

func (x *Percent) GetValue() float64

func (*Percent) ProtoMessage

func (*Percent) ProtoMessage()

func (*Percent) ProtoReflect

func (x *Percent) ProtoReflect() protoreflect.Message

func (*Percent) Reset

func (x *Percent) Reset()

func (*Percent) String

func (x *Percent) String() string

type Pipe

type Pipe struct {

	// Unix Domain Socket path. On Linux, paths starting with '@' will use the
	// abstract namespace. The starting '@' is replaced by a null byte by Envoy.
	// Paths starting with '@' will result in an error in environments other than
	// Linux.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*Pipe) Descriptor deprecated

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

Deprecated: Use Pipe.ProtoReflect.Descriptor instead.

func (*Pipe) GetPath

func (x *Pipe) GetPath() string

func (*Pipe) ProtoMessage

func (*Pipe) ProtoMessage()

func (*Pipe) ProtoReflect

func (x *Pipe) ProtoReflect() protoreflect.Message

func (*Pipe) Reset

func (x *Pipe) Reset()

func (*Pipe) String

func (x *Pipe) String() string

type Policy

type Policy struct {
	Rule []*AuthRule      `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"`
	When []*AuthCondition `protobuf:"bytes,2,rep,name=when,proto3" json:"when,omitempty"`
	// contains filtered or unexported fields
}

func (*Policy) Descriptor deprecated

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

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetRule

func (x *Policy) GetRule() []*AuthRule

func (*Policy) GetWhen

func (x *Policy) GetWhen() []*AuthCondition

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect

func (x *Policy) ProtoReflect() protoreflect.Message

func (*Policy) Reset

func (x *Policy) Reset()

func (*Policy) String

func (x *Policy) String() string

type Port

type Port struct {

	// Port the service is reached at (frontend).
	ServicePort uint32 `protobuf:"varint,1,opt,name=service_port,json=servicePort,proto3" json:"service_port,omitempty"`
	// Port the service forwards to (backend).
	TargetPort uint32 `protobuf:"varint,2,opt,name=target_port,json=targetPort,proto3" json:"target_port,omitempty"`
	// contains filtered or unexported fields
}

func (*Port) Descriptor deprecated

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

Deprecated: Use Port.ProtoReflect.Descriptor instead.

func (*Port) GetServicePort

func (x *Port) GetServicePort() uint32

func (*Port) GetTargetPort

func (x *Port) GetTargetPort() uint32

func (*Port) ProtoMessage

func (*Port) ProtoMessage()

func (*Port) ProtoReflect

func (x *Port) ProtoReflect() protoreflect.Message

func (*Port) Reset

func (x *Port) Reset()

func (*Port) String

func (x *Port) String() string

type PortList

type PortList struct {
	Ports []*Port `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"`
	// contains filtered or unexported fields
}

PorList represents the ports for a service

func (*PortList) Descriptor deprecated

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

Deprecated: Use PortList.ProtoReflect.Descriptor instead.

func (*PortList) GetPorts

func (x *PortList) GetPorts() []*Port

func (*PortList) ProtoMessage

func (*PortList) ProtoMessage()

func (*PortList) ProtoReflect

func (x *PortList) ProtoReflect() protoreflect.Message

func (*PortList) Reset

func (x *PortList) Reset()

func (*PortList) String

func (x *PortList) String() string

type Protocol

type Protocol int32
const (
	// DIRECT means requests should be forwarded as-is.
	Protocol_DIRECT Protocol = 0
	// HTTP means requests should be tunneled over HTTP.
	// This does not dictate HTTP/1.1 vs HTTP/2; ALPN should be used for that purpose.
	Protocol_HTTP Protocol = 1
)

func (Protocol) Descriptor

func (Protocol) Descriptor() protoreflect.EnumDescriptor

func (Protocol) Enum

func (x Protocol) Enum() *Protocol

func (Protocol) EnumDescriptor deprecated

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

Deprecated: Use Protocol.Descriptor instead.

func (Protocol) Number

func (x Protocol) Number() protoreflect.EnumNumber

func (Protocol) String

func (x Protocol) String() string

func (Protocol) Type

type Rds

type Rds struct {

	// Configuration source specifier for RDS.
	ConfigSource *ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"`
	// The name of the route configuration. This name will be passed to the RDS
	// API. This allows an Envoy configuration with multiple HTTP listeners (and
	// associated HTTP connection manager filters) to use different route
	// configurations.
	RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"`
	// contains filtered or unexported fields
}

func (*Rds) Descriptor deprecated

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

Deprecated: Use Rds.ProtoReflect.Descriptor instead.

func (*Rds) GetConfigSource

func (x *Rds) GetConfigSource() *ConfigSource

func (*Rds) GetRouteConfigName

func (x *Rds) GetRouteConfigName() string

func (*Rds) ProtoMessage

func (*Rds) ProtoMessage()

func (*Rds) ProtoReflect

func (x *Rds) ProtoReflect() protoreflect.Message

func (*Rds) Reset

func (x *Rds) Reset()

func (*Rds) String

func (x *Rds) String() string

type Resource

type Resource struct {

	// The resource's name, to distinguish it from others of the same type of resource.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// The aliases are a list of other names that this resource can go by.
	Aliases []string `protobuf:"bytes,4,rep,name=aliases,proto3" json:"aliases,omitempty"`
	// The resource level version. It allows xDS to track the state of individual
	// resources.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// The resource being tracked.
	//
	//	google.protobuf.Any resource = 2;
	Resource *any1.Any `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"`
	// Time-to-live value for the resource. For each resource, a timer is started. The timer is
	// reset each time the resource is received with a new TTL. If the resource is received with
	// no TTL set, the timer is removed for the resource. Upon expiration of the timer, the
	// configuration for the resource will be removed.
	//
	// The TTL can be refreshed or changed by sending a response that doesn't change the resource
	// version. In this case the resource field does not need to be populated, which allows for
	// light-weight "heartbeat" updates to keep a resource with a TTL alive.
	//
	// The TTL feature is meant to support configurations that should be removed in the event of
	// a management server failure. For example, the feature may be used for fault injection
	// testing where the fault injection should be terminated in the event that Envoy loses contact
	// with the management server.
	Ttl *duration.Duration `protobuf:"bytes,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// Cache control properties for the resource.
	// [#not-implemented-hide:]
	CacheControl *Resource_CacheControl `protobuf:"bytes,7,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
	// contains filtered or unexported fields
}

func (*Resource) Descriptor deprecated

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

Deprecated: Use Resource.ProtoReflect.Descriptor instead.

func (*Resource) GetAliases

func (x *Resource) GetAliases() []string

func (*Resource) GetCacheControl

func (x *Resource) GetCacheControl() *Resource_CacheControl

func (*Resource) GetName

func (x *Resource) GetName() string

func (*Resource) GetResource

func (x *Resource) GetResource() *any1.Any

func (*Resource) GetTtl

func (x *Resource) GetTtl() *duration.Duration

func (*Resource) GetVersion

func (x *Resource) GetVersion() string

func (*Resource) ProtoMessage

func (*Resource) ProtoMessage()

func (*Resource) ProtoReflect

func (x *Resource) ProtoReflect() protoreflect.Message

func (*Resource) Reset

func (x *Resource) Reset()

func (*Resource) String

func (x *Resource) String() string

type Resource_CacheControl

type Resource_CacheControl struct {

	// If true, xDS proxies may not cache this resource.
	// Note that this does not apply to clients other than xDS proxies, which must cache resources
	// for their own use, regardless of the value of this field.
	DoNotCache bool `protobuf:"varint,1,opt,name=do_not_cache,json=doNotCache,proto3" json:"do_not_cache,omitempty"`
	// contains filtered or unexported fields
}

Cache control properties for the resource. [#not-implemented-hide:]

func (*Resource_CacheControl) Descriptor deprecated

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

Deprecated: Use Resource_CacheControl.ProtoReflect.Descriptor instead.

func (*Resource_CacheControl) GetDoNotCache

func (x *Resource_CacheControl) GetDoNotCache() bool

func (*Resource_CacheControl) ProtoMessage

func (*Resource_CacheControl) ProtoMessage()

func (*Resource_CacheControl) ProtoReflect

func (x *Resource_CacheControl) ProtoReflect() protoreflect.Message

func (*Resource_CacheControl) Reset

func (x *Resource_CacheControl) Reset()

func (*Resource_CacheControl) String

func (x *Resource_CacheControl) String() string

type Route

type Route struct {

	// Name for the route.
	Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"`
	// Route matching parameters.
	Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// Types that are assignable to Action:
	//
	//	*Route_Route
	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.filters.http.router*.
	Metadata *Metadata `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// The typed_per_filter_config field can be used to provide route-specific
	// configurations for filters. The key should match the filter name, such as
	// *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter
	// specific; see the :ref:`HTTP filter documentation <config_http_filters>` for
	// if and how it is utilized.
	// [#comment: An entry's value may be wrapped in a
	// :ref:`FilterConfig<envoy_api_msg_config.route.v3.FilterConfig>`
	// message to specify additional options.]
	TypedPerFilterConfig map[string]*Any `` /* 214-byte string literal not displayed */
	// Specifies a list of HTTP headers that should be removed from each request
	// matching this route.
	RequestHeadersToRemove []string `` /* 132-byte string literal not displayed */
	// Specifies a list of HTTP headers that should be removed from each response
	// to requests matching this route.
	ResponseHeadersToRemove []string `` /* 135-byte string literal not displayed */
	// The maximum bytes which will be buffered for retries and shadowing.
	// If set, the bytes actually buffered will be the minimum value of this and the
	// listener per_connection_buffer_limit_bytes.
	PerRequestBufferLimitBytes *UInt32Value `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

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_config.route.v3.HeaderMatcher>`.

[#next-free-field: 18]

func (*Route) Descriptor deprecated

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

Deprecated: Use Route.ProtoReflect.Descriptor instead.

func (*Route) GetAction

func (m *Route) GetAction() isRoute_Action

func (*Route) GetMatch

func (x *Route) GetMatch() *RouteMatch

func (*Route) GetMetadata

func (x *Route) GetMetadata() *Metadata

func (*Route) GetName

func (x *Route) GetName() string

func (*Route) GetPerRequestBufferLimitBytes

func (x *Route) GetPerRequestBufferLimitBytes() *UInt32Value

func (*Route) GetRequestHeadersToRemove

func (x *Route) GetRequestHeadersToRemove() []string

func (*Route) GetResponseHeadersToRemove

func (x *Route) GetResponseHeadersToRemove() []string

func (*Route) GetRoute

func (x *Route) GetRoute() *RouteAction

func (*Route) GetTypedPerFilterConfig

func (x *Route) GetTypedPerFilterConfig() map[string]*Any

func (*Route) ProtoMessage

func (*Route) ProtoMessage()

func (*Route) ProtoReflect

func (x *Route) ProtoReflect() protoreflect.Message

func (*Route) Reset

func (x *Route) Reset()

func (*Route) String

func (x *Route) String() string

type RouteAction

type RouteAction struct {

	// Types that are assignable to ClusterSpecifier:
	//
	//	*RouteAction_Cluster
	//	*RouteAction_ClusterHeader
	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 `` /* 199-byte string literal not displayed */
	// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
	// in the upstream cluster with metadata matching what's set in this field will be considered
	// for load balancing. If using :ref:`weighted_clusters
	// <envoy_api_field_config.route.v3.RouteAction.weighted_clusters>`, metadata will be merged, with values
	// provided there taking precedence. The filter name should be specified as *envoy.lb*.
	MetadataMatch *Metadata `protobuf:"bytes,4,opt,name=metadata_match,json=metadataMatch,proto3" 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. The router filter will
	// place the original path before rewrite into the :ref:`x-envoy-original-path
	// <config_http_filters_router_x-envoy-original-path>` header.
	//
	// Only one of *prefix_rewrite* or
	// :ref:`regex_rewrite <envoy_api_field_config.route.v3.RouteAction.regex_rewrite>`
	// may be specified.
	//
	// .. attention::
	//
	//	Pay careful attention to the use of trailing slashes in the
	//	:ref:`route's match <envoy_api_field_config.route.v3.Route.match>` prefix value.
	//	Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
	//	rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
	//	:ref:`Route <envoy_api_msg_config.route.v3.Route>`, as shown by the below config entries:
	//
	//	.. code-block:: yaml
	//
	//	  - match:
	//	      prefix: "/prefix/"
	//	    route:
	//	      prefix_rewrite: "/"
	//	  - match:
	//	      prefix: "/prefix"
	//	    route:
	//	      prefix_rewrite: "/"
	//
	//	Having above entries in the config, requests to */prefix* will be stripped to */*, while
	//	requests to */prefix/etc* will be stripped to */etc*.
	PrefixRewrite string `protobuf:"bytes,5,opt,name=prefix_rewrite,json=prefixRewrite,proto3" json:"prefix_rewrite,omitempty"`
	// Types that are assignable to HostRewriteSpecifier:
	//
	//	*RouteAction_HostRewriteLiteral
	//	*RouteAction_AutoHostRewrite
	//	*RouteAction_HostRewriteHeader
	HostRewriteSpecifier isRouteAction_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"`
	// Specifies the upstream timeout for the route. If not specified, the default is 15s. This
	// spans between the point at which the entire downstream request (i.e. end-of-stream) has been
	// processed and when the upstream response has been completely processed. A value of 0 will
	// disable the route's timeout.
	//
	// .. 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 *Duration `protobuf:"bytes,8,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
	// although the connection manager wide :ref:`stream_idle_timeout
	// <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
	// will still apply. A value of 0 will completely disable the route's idle timeout, even if a
	// connection manager stream idle timeout is configured.
	//
	// The idle timeout is distinct to :ref:`timeout
	// <envoy_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
	// on the upstream response time; :ref:`idle_timeout
	// <envoy_api_field_config.route.v3.RouteAction.idle_timeout>` instead bounds the amount
	// of time the request's stream may be idle.
	//
	// After header decoding, the idle timeout will apply on downstream and
	// upstream request events. Each time an encode/decode event for headers or
	// data is processed for the stream, the timer will be reset. If the timeout
	// fires, the stream is terminated with a 408 Request Timeout error code if no
	// upstream response header has been received, otherwise a stream reset
	// occurs.
	//
	// If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
	// is configured, this timeout is scaled according to the value for
	// :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
	IdleTimeout *Duration `protobuf:"bytes,24,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// [#not-implemented-hide:]
	// Specifies the configuration for retry policy extension. Note that if this is set, it'll take
	// precedence over the virtual host level retry policy entirely (e.g.: policies are not merged,
	// most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_config.route.v3.VirtualHost.retry_policy>`
	// should not be set if this field is used.
	RetryPolicyTypedConfig *Any `` /* 132-byte string literal not displayed */
	// Indicates that the route has request mirroring policies.
	RequestMirrorPolicies []*RouteAction_RequestMirrorPolicy `` /* 127-byte string literal not displayed */
	// 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). If a hash policy has the "terminal" attribute set to true, and
	// there is already a hash generated, the hash is returned immediately,
	// ignoring the rest of the hash policy list.
	HashPolicy     []*RouteAction_HashPolicy    `protobuf:"bytes,15,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"`
	UpgradeConfigs []*RouteAction_UpgradeConfig `protobuf:"bytes,25,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"`
	// Specifies the maximum stream duration for this route.
	MaxStreamDuration *RouteAction_MaxStreamDuration `protobuf:"bytes,36,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 37]

func (*RouteAction) Descriptor deprecated

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

Deprecated: Use RouteAction.ProtoReflect.Descriptor instead.

func (*RouteAction) GetAutoHostRewrite

func (x *RouteAction) GetAutoHostRewrite() *BoolValue

func (*RouteAction) GetCluster

func (x *RouteAction) GetCluster() string

func (*RouteAction) GetClusterHeader

func (x *RouteAction) GetClusterHeader() string

func (*RouteAction) GetClusterNotFoundResponseCode

func (x *RouteAction) GetClusterNotFoundResponseCode() RouteAction_ClusterNotFoundResponseCode

func (*RouteAction) GetClusterSpecifier

func (m *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier

func (*RouteAction) GetHashPolicy

func (x *RouteAction) GetHashPolicy() []*RouteAction_HashPolicy

func (*RouteAction) GetHostRewriteHeader

func (x *RouteAction) GetHostRewriteHeader() string

func (*RouteAction) GetHostRewriteLiteral

func (x *RouteAction) GetHostRewriteLiteral() string

func (*RouteAction) GetHostRewriteSpecifier

func (m *RouteAction) GetHostRewriteSpecifier() isRouteAction_HostRewriteSpecifier

func (*RouteAction) GetIdleTimeout

func (x *RouteAction) GetIdleTimeout() *Duration

func (*RouteAction) GetMaxStreamDuration

func (x *RouteAction) GetMaxStreamDuration() *RouteAction_MaxStreamDuration

func (*RouteAction) GetMetadataMatch

func (x *RouteAction) GetMetadataMatch() *Metadata

func (*RouteAction) GetPrefixRewrite

func (x *RouteAction) GetPrefixRewrite() string

func (*RouteAction) GetRequestMirrorPolicies

func (x *RouteAction) GetRequestMirrorPolicies() []*RouteAction_RequestMirrorPolicy

func (*RouteAction) GetRetryPolicyTypedConfig

func (x *RouteAction) GetRetryPolicyTypedConfig() *Any

func (*RouteAction) GetTimeout

func (x *RouteAction) GetTimeout() *Duration

func (*RouteAction) GetUpgradeConfigs

func (x *RouteAction) GetUpgradeConfigs() []*RouteAction_UpgradeConfig

func (*RouteAction) ProtoMessage

func (*RouteAction) ProtoMessage()

func (*RouteAction) ProtoReflect

func (x *RouteAction) ProtoReflect() protoreflect.Message

func (*RouteAction) Reset

func (x *RouteAction) Reset()

func (*RouteAction) String

func (x *RouteAction) String() string

type RouteAction_AutoHostRewrite

type RouteAction_AutoHostRewrite struct {
	// Indicates that during forwarding, the host header will be swapped with
	// the hostname of the upstream host chosen by the cluster manager. This
	// option is applicable only when the destination cluster for a route is of
	// type *strict_dns* or *logical_dns*. Setting this to true with other cluster
	// types has no effect.
	AutoHostRewrite *BoolValue `protobuf:"bytes,7,opt,name=auto_host_rewrite,json=autoHostRewrite,proto3,oneof"`
}

type RouteAction_Cluster

type RouteAction_Cluster struct {
	// Indicates the upstream cluster to which the request should be routed
	// to.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"`
}

type RouteAction_ClusterHeader

type RouteAction_ClusterHeader struct {
	// Envoy will determine the cluster to route to by reading the value of the
	// HTTP header named by cluster_header from the request headers. If the
	// header is not found or the referenced cluster does not exist, Envoy will
	// return a 404 response.
	//
	// .. 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.
	//
	// .. note::
	//
	//	If the header appears multiple times only the first value is used.
	ClusterHeader string `protobuf:"bytes,2,opt,name=cluster_header,json=clusterHeader,proto3,oneof"`
}

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

func (RouteAction_ClusterNotFoundResponseCode) Enum

func (RouteAction_ClusterNotFoundResponseCode) EnumDescriptor deprecated

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

Deprecated: Use RouteAction_ClusterNotFoundResponseCode.Descriptor instead.

func (RouteAction_ClusterNotFoundResponseCode) Number

func (RouteAction_ClusterNotFoundResponseCode) String

func (RouteAction_ClusterNotFoundResponseCode) Type

type RouteAction_HashPolicy

type RouteAction_HashPolicy struct {

	// Types that are assignable to PolicySpecifier:
	//
	//	*RouteAction_HashPolicy_Header_
	//	*RouteAction_HashPolicy_Cookie_
	//	*RouteAction_HashPolicy_ConnectionProperties_
	//	*RouteAction_HashPolicy_QueryParameter_
	//	*RouteAction_HashPolicy_FilterState_
	PolicySpecifier isRouteAction_HashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"`
	// The flag that short-circuits the hash computing. This field provides a
	// 'fallback' style of configuration: "if a terminal policy doesn't work,
	// fallback to rest of the policy list", it saves time when the terminal
	// policy works.
	//
	// If true, and there is already a hash computed, ignore rest of the
	// list of hash polices.
	// For example, if the following hash methods are configured:
	//
	//	========= ========
	//	specifier terminal
	//	========= ========
	//	Header A  true
	//	Header B  false
	//	Header C  false
	//	========= ========
	//
	// The generateHash process ends if policy "header A" generates a hash, as
	// it's a terminal policy.
	Terminal bool `protobuf:"varint,4,opt,name=terminal,proto3" json:"terminal,omitempty"`
	// contains filtered or unexported fields
}

Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer <arch_overview_load_balancing_types>`. [#next-free-field: 7]

func (*RouteAction_HashPolicy) Descriptor deprecated

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

Deprecated: Use RouteAction_HashPolicy.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy) GetConnectionProperties

func (*RouteAction_HashPolicy) GetCookie

func (*RouteAction_HashPolicy) GetFilterState

func (*RouteAction_HashPolicy) GetHeader

func (*RouteAction_HashPolicy) GetPolicySpecifier

func (m *RouteAction_HashPolicy) GetPolicySpecifier() isRouteAction_HashPolicy_PolicySpecifier

func (*RouteAction_HashPolicy) GetQueryParameter

func (*RouteAction_HashPolicy) GetTerminal

func (x *RouteAction_HashPolicy) GetTerminal() bool

func (*RouteAction_HashPolicy) ProtoMessage

func (*RouteAction_HashPolicy) ProtoMessage()

func (*RouteAction_HashPolicy) ProtoReflect

func (x *RouteAction_HashPolicy) ProtoReflect() protoreflect.Message

func (*RouteAction_HashPolicy) Reset

func (x *RouteAction_HashPolicy) Reset()

func (*RouteAction_HashPolicy) String

func (x *RouteAction_HashPolicy) String() string

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"`
	// contains filtered or unexported fields
}

func (*RouteAction_HashPolicy_ConnectionProperties) Descriptor deprecated

Deprecated: Use RouteAction_HashPolicy_ConnectionProperties.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy_ConnectionProperties) GetSourceIp

func (*RouteAction_HashPolicy_ConnectionProperties) ProtoMessage

func (*RouteAction_HashPolicy_ConnectionProperties) ProtoReflect

func (*RouteAction_HashPolicy_ConnectionProperties) Reset

func (*RouteAction_HashPolicy_ConnectionProperties) String

type RouteAction_HashPolicy_ConnectionProperties_

type RouteAction_HashPolicy_ConnectionProperties_ struct {
	// Connection properties hash policy.
	ConnectionProperties *RouteAction_HashPolicy_ConnectionProperties `protobuf:"bytes,3,opt,name=connection_properties,json=connectionProperties,proto3,oneof"`
}
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. If the TTL is present and zero, the generated cookie will
	// be a session cookie.
	Ttl *Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
	// The name of the path for the cookie. If no path is specified here, no path
	// will be set for the cookie.
	Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

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.

  2. 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 deprecated

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

Deprecated: Use RouteAction_HashPolicy_Cookie.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy_Cookie) GetName

func (*RouteAction_HashPolicy_Cookie) GetPath

func (*RouteAction_HashPolicy_Cookie) GetTtl

func (*RouteAction_HashPolicy_Cookie) ProtoMessage

func (*RouteAction_HashPolicy_Cookie) ProtoMessage()

func (*RouteAction_HashPolicy_Cookie) ProtoReflect

func (*RouteAction_HashPolicy_Cookie) Reset

func (x *RouteAction_HashPolicy_Cookie) Reset()

func (*RouteAction_HashPolicy_Cookie) String

type RouteAction_HashPolicy_Cookie_ struct {
	// Cookie hash policy.
	Cookie *RouteAction_HashPolicy_Cookie `protobuf:"bytes,2,opt,name=cookie,proto3,oneof"`
}

type RouteAction_HashPolicy_FilterState

type RouteAction_HashPolicy_FilterState struct {

	// The name of the Object in the per-request filterState, which is an
	// Envoy::Http::Hashable object. If there is no data associated with the key,
	// or the stored object is not Envoy::Http::Hashable, no hash will be produced.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteAction_HashPolicy_FilterState) Descriptor deprecated

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

Deprecated: Use RouteAction_HashPolicy_FilterState.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy_FilterState) GetKey

func (*RouteAction_HashPolicy_FilterState) ProtoMessage

func (*RouteAction_HashPolicy_FilterState) ProtoMessage()

func (*RouteAction_HashPolicy_FilterState) ProtoReflect

func (*RouteAction_HashPolicy_FilterState) Reset

func (*RouteAction_HashPolicy_FilterState) String

type RouteAction_HashPolicy_FilterState_

type RouteAction_HashPolicy_FilterState_ struct {
	// Filter state hash policy.
	FilterState *RouteAction_HashPolicy_FilterState `protobuf:"bytes,6,opt,name=filter_state,json=filterState,proto3,oneof"`
}

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"`
	// contains filtered or unexported fields
}

func (*RouteAction_HashPolicy_Header) Descriptor deprecated

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

Deprecated: Use RouteAction_HashPolicy_Header.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy_Header) GetHeaderName

func (x *RouteAction_HashPolicy_Header) GetHeaderName() string

func (*RouteAction_HashPolicy_Header) ProtoMessage

func (*RouteAction_HashPolicy_Header) ProtoMessage()

func (*RouteAction_HashPolicy_Header) ProtoReflect

func (*RouteAction_HashPolicy_Header) Reset

func (x *RouteAction_HashPolicy_Header) Reset()

func (*RouteAction_HashPolicy_Header) String

type RouteAction_HashPolicy_Header_

type RouteAction_HashPolicy_Header_ struct {
	// Header hash policy.
	Header *RouteAction_HashPolicy_Header `protobuf:"bytes,1,opt,name=header,proto3,oneof"`
}

type RouteAction_HashPolicy_QueryParameter

type RouteAction_HashPolicy_QueryParameter struct {

	// The name of the URL query parameter that will be used to obtain the hash
	// key. If the parameter is not present, no hash will be produced. Query
	// parameter names are case-sensitive.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteAction_HashPolicy_QueryParameter) Descriptor deprecated

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

Deprecated: Use RouteAction_HashPolicy_QueryParameter.ProtoReflect.Descriptor instead.

func (*RouteAction_HashPolicy_QueryParameter) GetName

func (*RouteAction_HashPolicy_QueryParameter) ProtoMessage

func (*RouteAction_HashPolicy_QueryParameter) ProtoMessage()

func (*RouteAction_HashPolicy_QueryParameter) ProtoReflect

func (*RouteAction_HashPolicy_QueryParameter) Reset

func (*RouteAction_HashPolicy_QueryParameter) String

type RouteAction_HashPolicy_QueryParameter_

type RouteAction_HashPolicy_QueryParameter_ struct {
	// Query parameter hash policy.
	QueryParameter *RouteAction_HashPolicy_QueryParameter `protobuf:"bytes,5,opt,name=query_parameter,json=queryParameter,proto3,oneof"`
}

type RouteAction_HostRewriteHeader

type RouteAction_HostRewriteHeader struct {
	// Indicates that during forwarding, the host header will be swapped with the content of given
	// downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
	// If header value is empty, host header is left intact.
	//
	// .. attention::
	//
	//	Pay attention to the potential security implications of using this option. Provided header
	//	must come from trusted source.
	//
	// .. note::
	//
	//	If the header appears multiple times only the first value is used.
	HostRewriteHeader string `protobuf:"bytes,29,opt,name=host_rewrite_header,json=hostRewriteHeader,proto3,oneof"`
}

type RouteAction_HostRewriteLiteral

type RouteAction_HostRewriteLiteral struct {
	// Indicates that during forwarding, the host header will be swapped with
	// this value.
	HostRewriteLiteral string `protobuf:"bytes,6,opt,name=host_rewrite_literal,json=hostRewriteLiteral,proto3,oneof"`
}

type RouteAction_InternalRedirectAction

type RouteAction_InternalRedirectAction int32

Configures :ref:`internal redirect <arch_overview_internal_redirects>` behavior. [#next-major-version: remove this definition - it's defined in the InternalRedirectPolicy message.]

const (
	RouteAction_PASS_THROUGH_INTERNAL_REDIRECT RouteAction_InternalRedirectAction = 0
	RouteAction_HANDLE_INTERNAL_REDIRECT       RouteAction_InternalRedirectAction = 1
)

func (RouteAction_InternalRedirectAction) Descriptor

func (RouteAction_InternalRedirectAction) Enum

func (RouteAction_InternalRedirectAction) EnumDescriptor deprecated

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

Deprecated: Use RouteAction_InternalRedirectAction.Descriptor instead.

func (RouteAction_InternalRedirectAction) Number

func (RouteAction_InternalRedirectAction) String

func (RouteAction_InternalRedirectAction) Type

type RouteAction_MaxStreamDuration

type RouteAction_MaxStreamDuration struct {

	// Specifies the maximum duration allowed for streams on the route. If not specified, the value
	// from the :ref:`max_stream_duration
	// <envoy_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` field in
	// :ref:`HttpConnectionManager.common_http_protocol_options
	// <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.common_http_protocol_options>`
	// is used. If this field is set explicitly to zero, any
	// HttpConnectionManager max_stream_duration timeout will be disabled for
	// this route.
	MaxStreamDuration *Duration `protobuf:"bytes,1,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"`
	// If present, and the request contains a `grpc-timeout header
	// <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_, use that value as the
	// *max_stream_duration*, but limit the applied timeout to the maximum value specified here.
	// If set to 0, the `grpc-timeout` header is used without modification.
	GrpcTimeoutHeaderMax *Duration `protobuf:"bytes,2,opt,name=grpc_timeout_header_max,json=grpcTimeoutHeaderMax,proto3" json:"grpc_timeout_header_max,omitempty"`
	// If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by
	// subtracting the provided duration from the header. This is useful for allowing Envoy to set
	// its global timeout to be less than that of the deadline imposed by the calling client, which
	// makes it more likely that Envoy will handle the timeout instead of having the call canceled
	// by the client. If, after applying the offset, the resulting timeout is zero or negative,
	// the stream will timeout immediately.
	GrpcTimeoutHeaderOffset *Duration `` /* 134-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RouteAction_MaxStreamDuration) Descriptor deprecated

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

Deprecated: Use RouteAction_MaxStreamDuration.ProtoReflect.Descriptor instead.

func (*RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderMax

func (x *RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderMax() *Duration

func (*RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderOffset

func (x *RouteAction_MaxStreamDuration) GetGrpcTimeoutHeaderOffset() *Duration

func (*RouteAction_MaxStreamDuration) GetMaxStreamDuration

func (x *RouteAction_MaxStreamDuration) GetMaxStreamDuration() *Duration

func (*RouteAction_MaxStreamDuration) ProtoMessage

func (*RouteAction_MaxStreamDuration) ProtoMessage()

func (*RouteAction_MaxStreamDuration) ProtoReflect

func (*RouteAction_MaxStreamDuration) Reset

func (x *RouteAction_MaxStreamDuration) Reset()

func (*RouteAction_MaxStreamDuration) String

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"`
	// Determines if the trace span should be sampled. Defaults to true.
	TraceSampled *BoolValue `protobuf:"bytes,4,opt,name=trace_sampled,json=traceSampled,proto3" json:"trace_sampled,omitempty"`
	// contains filtered or unexported fields
}

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

.. note::

Shadowing will not be triggered if the primary cluster does not exist.

func (*RouteAction_RequestMirrorPolicy) Descriptor deprecated

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

Deprecated: Use RouteAction_RequestMirrorPolicy.ProtoReflect.Descriptor instead.

func (*RouteAction_RequestMirrorPolicy) GetCluster

func (x *RouteAction_RequestMirrorPolicy) GetCluster() string

func (*RouteAction_RequestMirrorPolicy) GetTraceSampled

func (x *RouteAction_RequestMirrorPolicy) GetTraceSampled() *BoolValue

func (*RouteAction_RequestMirrorPolicy) ProtoMessage

func (*RouteAction_RequestMirrorPolicy) ProtoMessage()

func (*RouteAction_RequestMirrorPolicy) ProtoReflect

func (*RouteAction_RequestMirrorPolicy) Reset

func (*RouteAction_RequestMirrorPolicy) String

type RouteAction_UpgradeConfig

type RouteAction_UpgradeConfig struct {

	// The case-insensitive name of this upgrade, e.g. "websocket".
	// For each upgrade type present in upgrade_configs, requests with
	// Upgrade: [upgrade_type] will be proxied upstream.
	UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"`
	// Determines if upgrades are available on this route. Defaults to true.
	Enabled *BoolValue `protobuf:"bytes,2,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Configuration for sending data upstream as a raw data payload. This is used for
	// CONNECT requests, when forwarding CONNECT payload as raw TCP.
	// Note that CONNECT support is currently considered alpha in Envoy.
	// [#comment:TODO(htuch): Replace the above comment with an alpha tag.
	ConnectConfig *RouteAction_UpgradeConfig_ConnectConfig `protobuf:"bytes,3,opt,name=connect_config,json=connectConfig,proto3" json:"connect_config,omitempty"`
	// contains filtered or unexported fields
}

Allows enabling and disabling upgrades on a per-route basis. This overrides any enabled/disabled upgrade filter chain specified in the HttpConnectionManager :ref:`upgrade_configs <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.upgrade_configs>` but does not affect any custom filter chain specified there.

func (*RouteAction_UpgradeConfig) Descriptor deprecated

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

Deprecated: Use RouteAction_UpgradeConfig.ProtoReflect.Descriptor instead.

func (*RouteAction_UpgradeConfig) GetConnectConfig

func (*RouteAction_UpgradeConfig) GetEnabled

func (x *RouteAction_UpgradeConfig) GetEnabled() *BoolValue

func (*RouteAction_UpgradeConfig) GetUpgradeType

func (x *RouteAction_UpgradeConfig) GetUpgradeType() string

func (*RouteAction_UpgradeConfig) ProtoMessage

func (*RouteAction_UpgradeConfig) ProtoMessage()

func (*RouteAction_UpgradeConfig) ProtoReflect

func (*RouteAction_UpgradeConfig) Reset

func (x *RouteAction_UpgradeConfig) Reset()

func (*RouteAction_UpgradeConfig) String

func (x *RouteAction_UpgradeConfig) String() string

type RouteAction_UpgradeConfig_ConnectConfig

type RouteAction_UpgradeConfig_ConnectConfig struct {

	// If set, the route will also allow forwarding POST payload as raw TCP.
	AllowPost bool `protobuf:"varint,2,opt,name=allow_post,json=allowPost,proto3" json:"allow_post,omitempty"`
	// contains filtered or unexported fields
}

Configuration for sending data upstream as a raw data payload. This is used for CONNECT or POST requests, when forwarding request payload as raw TCP.

func (*RouteAction_UpgradeConfig_ConnectConfig) Descriptor deprecated

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

Deprecated: Use RouteAction_UpgradeConfig_ConnectConfig.ProtoReflect.Descriptor instead.

func (*RouteAction_UpgradeConfig_ConnectConfig) GetAllowPost

func (*RouteAction_UpgradeConfig_ConnectConfig) ProtoMessage

func (*RouteAction_UpgradeConfig_ConnectConfig) ProtoReflect

func (*RouteAction_UpgradeConfig_ConnectConfig) Reset

func (*RouteAction_UpgradeConfig_ConnectConfig) String

type RouteConfiguration

type RouteConfiguration struct {

	// The name of the route configuration. For example, it might match
	// :ref:`route_config_name
	// <envoy_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
	// :ref:`envoy_api_msg_extensions.filters.network.http_connection_manager.v3.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,proto3" 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,proto3" json:"internal_only_headers,omitempty"`
	// Specifies a list of HTTP headers that should be removed from each response
	// that the connection manager encodes.
	ResponseHeadersToRemove []string `` /* 134-byte string literal not displayed */
	// Specifies a list of HTTP headers that should be removed from each request
	// routed by the HTTP connection manager.
	RequestHeadersToRemove []string `` /* 131-byte string literal not displayed */
	// By default, headers that should be added/removed are evaluated from most to least specific:
	//
	// * route level
	// * virtual host level
	// * connection manager level
	//
	// To allow setting overrides at the route or virtual host level, this order can be reversed
	// by setting this option to true. Defaults to false.
	//
	// [#next-major-version: In the v3 API, this will default to true.]
	MostSpecificHeaderMutationsWins bool `` /* 162-byte string literal not displayed */
	// The maximum bytes of the response :ref:`direct response body
	// <envoy_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
	// is 4096.
	//
	// .. warning::
	//
	//	Envoy currently holds the content of :ref:`direct response body
	//	<envoy_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
	//	this to be larger than the default 4KB, since the allocated memory for direct response body
	//	is not subject to data plane buffering controls.
	MaxDirectResponseBodySizeBytes *UInt32Value `` /* 160-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RouteConfiguration) Descriptor deprecated

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

Deprecated: Use RouteConfiguration.ProtoReflect.Descriptor instead.

func (*RouteConfiguration) GetInternalOnlyHeaders

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

func (*RouteConfiguration) GetMaxDirectResponseBodySizeBytes

func (x *RouteConfiguration) GetMaxDirectResponseBodySizeBytes() *UInt32Value

func (*RouteConfiguration) GetMostSpecificHeaderMutationsWins

func (x *RouteConfiguration) GetMostSpecificHeaderMutationsWins() bool

func (*RouteConfiguration) GetName

func (x *RouteConfiguration) GetName() string

func (*RouteConfiguration) GetRequestHeadersToRemove

func (x *RouteConfiguration) GetRequestHeadersToRemove() []string

func (*RouteConfiguration) GetResponseHeadersToRemove

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

func (*RouteConfiguration) GetVirtualHosts

func (x *RouteConfiguration) GetVirtualHosts() []*VirtualHost

func (*RouteConfiguration) ProtoMessage

func (*RouteConfiguration) ProtoMessage()

func (*RouteConfiguration) ProtoReflect

func (x *RouteConfiguration) ProtoReflect() protoreflect.Message

func (*RouteConfiguration) Reset

func (x *RouteConfiguration) Reset()

func (*RouteConfiguration) String

func (x *RouteConfiguration) String() string

type RouteMatch

type RouteMatch struct {

	// Types that are assignable to PathSpecifier:
	//
	//	*RouteMatch_Prefix
	//	*RouteMatch_Path
	//	*RouteMatch_ConnectMatcher_
	PathSpecifier isRouteMatch_PathSpecifier `protobuf_oneof:"path_specifier"`
	// Indicates that prefix/path matching should be case sensitive. The default
	// is true.
	CaseSensitive *BoolValue `protobuf:"bytes,4,opt,name=case_sensitive,json=caseSensitive,proto3" json:"case_sensitive,omitempty"`
	// If specified, only gRPC requests will be matched. The router will check
	// that the content-type header has a application/grpc or one of the various
	// application/grpc+ values.
	Grpc *RouteMatch_GrpcRouteMatchOptions `protobuf:"bytes,8,opt,name=grpc,proto3" json:"grpc,omitempty"`
	// If specified, the client tls context will be matched against the defined
	// match options.
	//
	// [#next-major-version: unify with RBAC]
	TlsContext *RouteMatch_TlsContextMatchOptions `protobuf:"bytes,11,opt,name=tls_context,json=tlsContext,proto3" json:"tls_context,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 13]

func (*RouteMatch) Descriptor deprecated

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

Deprecated: Use RouteMatch.ProtoReflect.Descriptor instead.

func (*RouteMatch) GetCaseSensitive

func (x *RouteMatch) GetCaseSensitive() *BoolValue

func (*RouteMatch) GetConnectMatcher

func (x *RouteMatch) GetConnectMatcher() *RouteMatch_ConnectMatcher

func (*RouteMatch) GetGrpc

func (*RouteMatch) GetPath

func (x *RouteMatch) GetPath() string

func (*RouteMatch) GetPathSpecifier

func (m *RouteMatch) GetPathSpecifier() isRouteMatch_PathSpecifier

func (*RouteMatch) GetPrefix

func (x *RouteMatch) GetPrefix() string

func (*RouteMatch) GetTlsContext

func (x *RouteMatch) GetTlsContext() *RouteMatch_TlsContextMatchOptions

func (*RouteMatch) ProtoMessage

func (*RouteMatch) ProtoMessage()

func (*RouteMatch) ProtoReflect

func (x *RouteMatch) ProtoReflect() protoreflect.Message

func (*RouteMatch) Reset

func (x *RouteMatch) Reset()

func (*RouteMatch) String

func (x *RouteMatch) String() string

type RouteMatch_ConnectMatcher

type RouteMatch_ConnectMatcher struct {
	// contains filtered or unexported fields
}

An extensible message for matching CONNECT requests.

func (*RouteMatch_ConnectMatcher) Descriptor deprecated

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

Deprecated: Use RouteMatch_ConnectMatcher.ProtoReflect.Descriptor instead.

func (*RouteMatch_ConnectMatcher) ProtoMessage

func (*RouteMatch_ConnectMatcher) ProtoMessage()

func (*RouteMatch_ConnectMatcher) ProtoReflect

func (*RouteMatch_ConnectMatcher) Reset

func (x *RouteMatch_ConnectMatcher) Reset()

func (*RouteMatch_ConnectMatcher) String

func (x *RouteMatch_ConnectMatcher) String() string

type RouteMatch_ConnectMatcher_

type RouteMatch_ConnectMatcher_ struct {
	// If this is used as the matcher, the matcher will only match CONNECT requests.
	// Note that this will not match HTTP/2 upgrade-style CONNECT requests
	// (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style
	// upgrades.
	// This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2,
	// where Extended CONNECT requests may have a path, the path matchers will work if
	// there is a path present.
	// Note that CONNECT support is currently considered alpha in Envoy.
	// [#comment:TODO(htuch): Replace the above comment with an alpha tag.
	ConnectMatcher *RouteMatch_ConnectMatcher `protobuf:"bytes,12,opt,name=connect_matcher,json=connectMatcher,proto3,oneof"`
}

type RouteMatch_GrpcRouteMatchOptions

type RouteMatch_GrpcRouteMatchOptions struct {
	// contains filtered or unexported fields
}

func (*RouteMatch_GrpcRouteMatchOptions) Descriptor deprecated

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

Deprecated: Use RouteMatch_GrpcRouteMatchOptions.ProtoReflect.Descriptor instead.

func (*RouteMatch_GrpcRouteMatchOptions) ProtoMessage

func (*RouteMatch_GrpcRouteMatchOptions) ProtoMessage()

func (*RouteMatch_GrpcRouteMatchOptions) ProtoReflect

func (*RouteMatch_GrpcRouteMatchOptions) Reset

func (*RouteMatch_GrpcRouteMatchOptions) String

type RouteMatch_Path

type RouteMatch_Path struct {
	// If specified, the route is an exact path rule meaning that the path must
	// exactly match the *:path* header once the query string is removed.
	Path string `protobuf:"bytes,2,opt,name=path,proto3,oneof"`
}

type RouteMatch_Prefix

type RouteMatch_Prefix struct {
	// If specified, the route is a prefix rule meaning that the prefix must
	// match the beginning of the *:path* header.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"`
}

type RouteMatch_TlsContextMatchOptions

type RouteMatch_TlsContextMatchOptions struct {

	// If specified, the route will match against whether or not a certificate is presented.
	// If not specified, certificate presentation status (true or false) will not be considered when route matching.
	Presented *BoolValue `protobuf:"bytes,1,opt,name=presented,proto3" json:"presented,omitempty"`
	// If specified, the route will match against whether or not a certificate is validated.
	// If not specified, certificate validation status (true or false) will not be considered when route matching.
	Validated *BoolValue `protobuf:"bytes,2,opt,name=validated,proto3" json:"validated,omitempty"`
	// contains filtered or unexported fields
}

func (*RouteMatch_TlsContextMatchOptions) Descriptor deprecated

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

Deprecated: Use RouteMatch_TlsContextMatchOptions.ProtoReflect.Descriptor instead.

func (*RouteMatch_TlsContextMatchOptions) GetPresented

func (x *RouteMatch_TlsContextMatchOptions) GetPresented() *BoolValue

func (*RouteMatch_TlsContextMatchOptions) GetValidated

func (x *RouteMatch_TlsContextMatchOptions) GetValidated() *BoolValue

func (*RouteMatch_TlsContextMatchOptions) ProtoMessage

func (*RouteMatch_TlsContextMatchOptions) ProtoMessage()

func (*RouteMatch_TlsContextMatchOptions) ProtoReflect

func (*RouteMatch_TlsContextMatchOptions) Reset

func (*RouteMatch_TlsContextMatchOptions) String

type Route_Route

type Route_Route struct {
	// Route request to some upstream cluster.
	Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3,oneof"`
}

type RoutingPriority

type RoutingPriority int32
const (
	RoutingPriority_DEFAULT RoutingPriority = 0
	RoutingPriority_HIGH    RoutingPriority = 1
)

func (RoutingPriority) Descriptor

func (RoutingPriority) Enum

func (x RoutingPriority) Enum() *RoutingPriority

func (RoutingPriority) EnumDescriptor deprecated

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

Deprecated: Use RoutingPriority.Descriptor instead.

func (RoutingPriority) Number

func (RoutingPriority) String

func (x RoutingPriority) String() string

func (RoutingPriority) Type

type SocketAddress

type SocketAddress struct {
	Protocol SocketAddress_Protocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=xds.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_core.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 assignable 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"`
	// contains filtered or unexported fields
}

func (*SocketAddress) Descriptor deprecated

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

Deprecated: Use SocketAddress.ProtoReflect.Descriptor instead.

func (*SocketAddress) GetAddress

func (x *SocketAddress) GetAddress() string

func (*SocketAddress) GetIpv4Compat

func (x *SocketAddress) GetIpv4Compat() bool

func (*SocketAddress) GetNamedPort

func (x *SocketAddress) GetNamedPort() string

func (*SocketAddress) GetPortSpecifier

func (m *SocketAddress) GetPortSpecifier() isSocketAddress_PortSpecifier

func (*SocketAddress) GetPortValue

func (x *SocketAddress) GetPortValue() uint32

func (*SocketAddress) GetProtocol

func (x *SocketAddress) GetProtocol() SocketAddress_Protocol

func (*SocketAddress) GetResolverName

func (x *SocketAddress) GetResolverName() string

func (*SocketAddress) ProtoMessage

func (*SocketAddress) ProtoMessage()

func (*SocketAddress) ProtoReflect

func (x *SocketAddress) ProtoReflect() protoreflect.Message

func (*SocketAddress) Reset

func (x *SocketAddress) Reset()

func (*SocketAddress) String

func (x *SocketAddress) String() string

type SocketAddress_NamedPort

type SocketAddress_NamedPort struct {
	// This is only valid if :ref:`resolver_name
	// <envoy_api_field_core.SocketAddress.resolver_name>` is specified below and the
	// named resolver is capable of named port resolution.
	NamedPort string `protobuf:"bytes,4,opt,name=named_port,json=namedPort,proto3,oneof"`
}

type SocketAddress_PortValue

type SocketAddress_PortValue struct {
	PortValue uint32 `protobuf:"varint,3,opt,name=port_value,json=portValue,proto3,oneof"`
}

type SocketAddress_Protocol

type SocketAddress_Protocol int32
const (
	SocketAddress_TCP SocketAddress_Protocol = 0
	// [#not-implemented-hide:]
	SocketAddress_UDP SocketAddress_Protocol = 1
)

func (SocketAddress_Protocol) Descriptor

func (SocketAddress_Protocol) Enum

func (SocketAddress_Protocol) EnumDescriptor deprecated

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

Deprecated: Use SocketAddress_Protocol.Descriptor instead.

func (SocketAddress_Protocol) Number

func (SocketAddress_Protocol) String

func (x SocketAddress_Protocol) String() string

func (SocketAddress_Protocol) Type

type Status

type Status struct {

	// The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	// A developer-facing error message, which should be in English. Any
	// user-facing error message should be localized and sent in the
	// [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// A list of messages that carry the error details.  There is a common set of
	// message types for APIs to use.
	// google.protobuf.Any
	Details []*Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
	// contains filtered or unexported fields
}

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be:

- Simple to use and understand for most users - Flexible enough to meet unexpected needs

Overview

The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` that can be used for common error conditions.

Language mapping

The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.

Other uses

The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.

Example uses of this error model include:

  • Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors.

  • Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting.

  • Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response.

  • Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message.

  • Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.

func (*Status) Descriptor deprecated

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

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetCode

func (x *Status) GetCode() int32

func (*Status) GetDetails

func (x *Status) GetDetails() []*Any

func (*Status) GetMessage

func (x *Status) GetMessage() string

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type Struct

type Struct struct {

	// Unordered map of dynamically typed values.
	Fields map[string]*Value `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

`Struct` represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, `Struct` might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language.

The JSON representation for `Struct` is JSON object.

func (*Struct) Descriptor deprecated

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

Deprecated: Use Struct.ProtoReflect.Descriptor instead.

func (*Struct) GetFields

func (x *Struct) GetFields() map[string]*Value

func (*Struct) ProtoMessage

func (*Struct) ProtoMessage()

func (*Struct) ProtoReflect

func (x *Struct) ProtoReflect() protoreflect.Message

func (*Struct) Reset

func (x *Struct) Reset()

func (*Struct) String

func (x *Struct) String() string

type TlsCertificate

type TlsCertificate struct {

	// The TLS certificate chain.
	CertificateChain *DataSource `protobuf:"bytes,1,opt,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
	// The TLS private key.
	PrivateKey *DataSource `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// [#not-implemented-hide:]
	Password *DataSource `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	// [#not-implemented-hide:]
	OcspStaple *DataSource `protobuf:"bytes,4,opt,name=ocsp_staple,json=ocspStaple,proto3" json:"ocsp_staple,omitempty"`
	// [#not-implemented-hide:]
	SignedCertificateTimestamp []*DataSource `` /* 141-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*TlsCertificate) Descriptor deprecated

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

Deprecated: Use TlsCertificate.ProtoReflect.Descriptor instead.

func (*TlsCertificate) GetCertificateChain

func (x *TlsCertificate) GetCertificateChain() *DataSource

func (*TlsCertificate) GetOcspStaple

func (x *TlsCertificate) GetOcspStaple() *DataSource

func (*TlsCertificate) GetPassword

func (x *TlsCertificate) GetPassword() *DataSource

func (*TlsCertificate) GetPrivateKey

func (x *TlsCertificate) GetPrivateKey() *DataSource

func (*TlsCertificate) GetSignedCertificateTimestamp

func (x *TlsCertificate) GetSignedCertificateTimestamp() []*DataSource

func (*TlsCertificate) ProtoMessage

func (*TlsCertificate) ProtoMessage()

func (*TlsCertificate) ProtoReflect

func (x *TlsCertificate) ProtoReflect() protoreflect.Message

func (*TlsCertificate) Reset

func (x *TlsCertificate) Reset()

func (*TlsCertificate) String

func (x *TlsCertificate) String() string

type TlsParameters

type TlsParameters struct {

	// Minimum TLS protocol version.
	TlsMinimumProtocolVersion TlsParameters_TlsProtocol `` /* 176-byte string literal not displayed */
	// Maximum TLS protocol version.
	TlsMaximumProtocolVersion TlsParameters_TlsProtocol `` /* 176-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,proto3" 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,proto3" json:"ecdh_curves,omitempty"`
	// contains filtered or unexported fields
}

func (*TlsParameters) Descriptor deprecated

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

Deprecated: Use TlsParameters.ProtoReflect.Descriptor instead.

func (*TlsParameters) GetCipherSuites

func (x *TlsParameters) GetCipherSuites() []string

func (*TlsParameters) GetEcdhCurves

func (x *TlsParameters) GetEcdhCurves() []string

func (*TlsParameters) GetTlsMaximumProtocolVersion

func (x *TlsParameters) GetTlsMaximumProtocolVersion() TlsParameters_TlsProtocol

func (*TlsParameters) GetTlsMinimumProtocolVersion

func (x *TlsParameters) GetTlsMinimumProtocolVersion() TlsParameters_TlsProtocol

func (*TlsParameters) ProtoMessage

func (*TlsParameters) ProtoMessage()

func (*TlsParameters) ProtoReflect

func (x *TlsParameters) ProtoReflect() protoreflect.Message

func (*TlsParameters) Reset

func (x *TlsParameters) Reset()

func (*TlsParameters) String

func (x *TlsParameters) String() string

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

func (TlsParameters_TlsProtocol) Enum

func (TlsParameters_TlsProtocol) EnumDescriptor deprecated

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

Deprecated: Use TlsParameters_TlsProtocol.Descriptor instead.

func (TlsParameters_TlsProtocol) Number

func (TlsParameters_TlsProtocol) String

func (x TlsParameters_TlsProtocol) String() string

func (TlsParameters_TlsProtocol) Type

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 *Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

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 deprecated

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

Deprecated: Use TransportSocket.ProtoReflect.Descriptor instead.

func (*TransportSocket) GetConfig

func (x *TransportSocket) GetConfig() *Struct

func (*TransportSocket) GetName

func (x *TransportSocket) GetName() string

func (*TransportSocket) ProtoMessage

func (*TransportSocket) ProtoMessage()

func (*TransportSocket) ProtoReflect

func (x *TransportSocket) ProtoReflect() protoreflect.Message

func (*TransportSocket) Reset

func (x *TransportSocket) Reset()

func (*TransportSocket) String

func (x *TransportSocket) String() string

type TransportSocketMatch

type TransportSocketMatch struct {

	// The name of the match, used in stats generation.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional endpoint metadata match criteria.
	// The connection to the endpoint with metadata matching what is set in this field
	// will use the transport socket configuration specified here.
	// The endpoint's metadata entry in *envoy.transport_socket_match* is used to match
	// against the values specified in this field.
	Match *Struct `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
	// The configuration of the transport socket.
	TransportSocket *TransportSocket `protobuf:"bytes,3,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
	// contains filtered or unexported fields
}

TransportSocketMatch specifies what transport socket config will be used when the match conditions are satisfied.

func (*TransportSocketMatch) Descriptor deprecated

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

Deprecated: Use TransportSocketMatch.ProtoReflect.Descriptor instead.

func (*TransportSocketMatch) GetMatch

func (x *TransportSocketMatch) GetMatch() *Struct

func (*TransportSocketMatch) GetName

func (x *TransportSocketMatch) GetName() string

func (*TransportSocketMatch) GetTransportSocket

func (x *TransportSocketMatch) GetTransportSocket() *TransportSocket

func (*TransportSocketMatch) ProtoMessage

func (*TransportSocketMatch) ProtoMessage()

func (*TransportSocketMatch) ProtoReflect

func (x *TransportSocketMatch) ProtoReflect() protoreflect.Message

func (*TransportSocketMatch) Reset

func (x *TransportSocketMatch) Reset()

func (*TransportSocketMatch) String

func (x *TransportSocketMatch) String() string

type UInt32Value

type UInt32Value struct {

	// The uint32 value.
	Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Wrapper message for `uint32`.

The JSON representation for `UInt32Value` is JSON number.

func (*UInt32Value) Descriptor deprecated

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

Deprecated: Use UInt32Value.ProtoReflect.Descriptor instead.

func (*UInt32Value) GetValue

func (x *UInt32Value) GetValue() uint32

func (*UInt32Value) ProtoMessage

func (*UInt32Value) ProtoMessage()

func (*UInt32Value) ProtoReflect

func (x *UInt32Value) ProtoReflect() protoreflect.Message

func (*UInt32Value) Reset

func (x *UInt32Value) Reset()

func (*UInt32Value) String

func (x *UInt32Value) String() string

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,proto3" json:"source_address,omitempty"`
	// contains filtered or unexported fields
}

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

func (*UpstreamBindConfig) Descriptor deprecated

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

Deprecated: Use UpstreamBindConfig.ProtoReflect.Descriptor instead.

func (*UpstreamBindConfig) GetSourceAddress

func (x *UpstreamBindConfig) GetSourceAddress() *Address

func (*UpstreamBindConfig) ProtoMessage

func (*UpstreamBindConfig) ProtoMessage()

func (*UpstreamBindConfig) ProtoReflect

func (x *UpstreamBindConfig) ProtoReflect() protoreflect.Message

func (*UpstreamBindConfig) Reset

func (x *UpstreamBindConfig) Reset()

func (*UpstreamBindConfig) String

func (x *UpstreamBindConfig) String() string

type Value

type Value struct {

	// The kind of value.
	//
	// Types that are assignable to Kind:
	//
	//	*Value_NullValue
	//	*Value_NumberValue
	//	*Value_StringValue
	//	*Value_BoolValue
	//	*Value_StructValue
	//	*Value_ListValue
	Kind isValue_Kind `protobuf_oneof:"kind"`
	// contains filtered or unexported fields
}

`Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of that variants, absence of any variant indicates an error.

The JSON representation for `Value` is JSON value.

func (*Value) Descriptor deprecated

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

Deprecated: Use Value.ProtoReflect.Descriptor instead.

func (*Value) GetBoolValue

func (x *Value) GetBoolValue() bool

func (*Value) GetKind

func (m *Value) GetKind() isValue_Kind

func (*Value) GetListValue

func (x *Value) GetListValue() *ListValue

func (*Value) GetNullValue

func (x *Value) GetNullValue() NullValue

func (*Value) GetNumberValue

func (x *Value) GetNumberValue() float64

func (*Value) GetStringValue

func (x *Value) GetStringValue() string

func (*Value) GetStructValue

func (x *Value) GetStructValue() *Struct

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) ProtoReflect

func (x *Value) ProtoReflect() protoreflect.Message

func (*Value) Reset

func (x *Value) Reset()

func (*Value) String

func (x *Value) String() string

type Value_BoolValue

type Value_BoolValue struct {
	// Represents a boolean value.
	BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

type Value_ListValue

type Value_ListValue struct {
	// Represents a repeated `Value`.
	ListValue *ListValue `protobuf:"bytes,6,opt,name=list_value,json=listValue,proto3,oneof"`
}

type Value_NullValue

type Value_NullValue struct {
	// Represents a null value.
	NullValue NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=xds.NullValue,oneof"`
}

type Value_NumberValue

type Value_NumberValue struct {
	// Represents a double value.
	NumberValue float64 `protobuf:"fixed64,2,opt,name=number_value,json=numberValue,proto3,oneof"`
}

type Value_StringValue

type Value_StringValue struct {
	// Represents a string value.
	StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}

type Value_StructValue

type Value_StructValue struct {
	// Represents a structured value.
	StructValue *Struct `protobuf:"bytes,5,opt,name=struct_value,json=structValue,proto3,oneof"`
}

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 suffix or prefix form.
	//
	// Domain search order:
	//  1. Exact domain names: “www.foo.com“.
	//  2. Suffix domain wildcards: “*.foo.com“ or “*-bar.foo.com“.
	//  3. Prefix domain wildcards: “foo.*“ or “foo-*“.
	//  4. Special wildcard “*“ matching any domain.
	//
	// .. 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“.
	//	The longest wildcards match first.
	//	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 cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
	Domains []string `protobuf:"bytes,2,rep,name=domains,proto3" 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,proto3" 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 `` /* 132-byte string literal not displayed */
	// Decides whether the :ref:`x-envoy-attempt-count
	// <config_http_filters_router_x-envoy-attempt-count>` header should be included
	// in the upstream request. Setting this option will cause it to override any existing header
	// value, so in the case of two Envoys on the request path with this option enabled, the upstream
	// will see the attempt count as perceived by the second Envoy. Defaults to false.
	// This header is unaffected by the
	// :ref:`suppress_envoy_headers
	// <envoy_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
	//
	// [#next-major-version: rename to include_attempt_count_in_request.]
	IncludeRequestAttemptCount bool `` /* 145-byte string literal not displayed */
	// Decides whether the :ref:`x-envoy-attempt-count
	// <config_http_filters_router_x-envoy-attempt-count>` header should be included
	// in the downstream response. Setting this option will cause the router to override any existing header
	// value, so in the case of two Envoys on the request path with this option enabled, the downstream
	// will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
	// This header is unaffected by the
	// :ref:`suppress_envoy_headers
	// <envoy_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
	IncludeAttemptCountInResponse bool `` /* 156-byte string literal not displayed */
	// The maximum bytes which will be buffered for retries and shadowing.
	// If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
	// value of this and the listener per_connection_buffer_limit_bytes.
	PerRequestBufferLimitBytes *UInt32Value `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

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. [#next-free-field: 21]

func (*VirtualHost) Descriptor deprecated

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

Deprecated: Use VirtualHost.ProtoReflect.Descriptor instead.

func (*VirtualHost) GetDomains

func (x *VirtualHost) GetDomains() []string

func (*VirtualHost) GetIncludeAttemptCountInResponse

func (x *VirtualHost) GetIncludeAttemptCountInResponse() bool

func (*VirtualHost) GetIncludeRequestAttemptCount

func (x *VirtualHost) GetIncludeRequestAttemptCount() bool

func (*VirtualHost) GetName

func (x *VirtualHost) GetName() string

func (*VirtualHost) GetPerRequestBufferLimitBytes

func (x *VirtualHost) GetPerRequestBufferLimitBytes() *UInt32Value

func (*VirtualHost) GetRequireTls

func (x *VirtualHost) GetRequireTls() VirtualHost_TlsRequirementType

func (*VirtualHost) GetRoutes

func (x *VirtualHost) GetRoutes() []*Route

func (*VirtualHost) ProtoMessage

func (*VirtualHost) ProtoMessage()

func (*VirtualHost) ProtoReflect

func (x *VirtualHost) ProtoReflect() protoreflect.Message

func (*VirtualHost) Reset

func (x *VirtualHost) Reset()

func (*VirtualHost) String

func (x *VirtualHost) String() string

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

func (VirtualHost_TlsRequirementType) Enum

func (VirtualHost_TlsRequirementType) EnumDescriptor deprecated

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

Deprecated: Use VirtualHost_TlsRequirementType.Descriptor instead.

func (VirtualHost_TlsRequirementType) Number

func (VirtualHost_TlsRequirementType) String

func (VirtualHost_TlsRequirementType) Type

type Workload

type Workload struct {

	// Name represents the name for the workload.
	// For Kubernetes, this is the pod name.
	// This is just for debugging and may be elided as an optimization.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Namespace represents the namespace for the workload.
	// This is just for debugging and may be elided as an optimization.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Address represents the IPv4/IPv6 address for the workload.
	// This should be globally unique.
	// This should not have a port number.
	// TODO: Add network as discriminator
	Address []byte `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// Network represents the network this workload is on. This may be elided for the default network.
	// A (network,address) pair makeup a unique key for a workload *at a point in time*.
	Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"`
	// Protocol that should be used to connect to this workload.
	Protocol Protocol `protobuf:"varint,5,opt,name=protocol,proto3,enum=istio.workload.Protocol" json:"protocol,omitempty"`
	// The SPIFFE identity of the workload. The identity is joined to form spiffe://<trust_domain>/ns/<namespace>/sa/<service_account>.
	// TrustDomain of the workload. May be elided if this is the mesh wide default (typically cluster.local)
	TrustDomain string `protobuf:"bytes,6,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"`
	// ServiceAccount of the workload. May be elided if this is "default"
	ServiceAccount string `protobuf:"bytes,7,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	// If present, the waypoint proxy for this workload.
	WaypointAddresses [][]byte `protobuf:"bytes,8,rep,name=waypoint_addresses,json=waypointAddresses,proto3" json:"waypoint_addresses,omitempty"`
	// Name of the node the workload runs on
	Node string `protobuf:"bytes,9,opt,name=node,proto3" json:"node,omitempty"`
	// CanonicalName for the workload. Used for telemetry.
	CanonicalName string `protobuf:"bytes,10,opt,name=canonical_name,json=canonicalName,proto3" json:"canonical_name,omitempty"`
	// CanonicalRevision for the workload. Used for telemetry.
	CanonicalRevision string `protobuf:"bytes,11,opt,name=canonical_revision,json=canonicalRevision,proto3" json:"canonical_revision,omitempty"`
	// WorkloadType represents the type of the workload. Used for telemetry.
	WorkloadType WorkloadType `` /* 132-byte string literal not displayed */
	// WorkloadName represents the name for the workload (of type WorkloadType). Used for telemetry.
	WorkloadName string `protobuf:"bytes,13,opt,name=workload_name,json=workloadName,proto3" json:"workload_name,omitempty"`
	// If set, indicates this workload directly speaks HBONE, and we should forward HBONE requests as-is.
	NativeHbone bool `protobuf:"varint,14,opt,name=native_hbone,json=nativeHbone,proto3" json:"native_hbone,omitempty"`
	// Virtual IPs defines a set of virtual IP addresses the workload can be reached at.
	// Typically these represent Service ClusterIPs.
	// The key is an IP address.
	VirtualIps map[string]*PortList `` /* 180-byte string literal not displayed */
	// RBAC rules for the workload.
	Rbac *Authorization `protobuf:"bytes,16,opt,name=rbac,proto3" json:"rbac,omitempty"`
	// contains filtered or unexported fields
}

func (*Workload) Descriptor deprecated

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

Deprecated: Use Workload.ProtoReflect.Descriptor instead.

func (*Workload) GetAddress

func (x *Workload) GetAddress() []byte

func (*Workload) GetCanonicalName

func (x *Workload) GetCanonicalName() string

func (*Workload) GetCanonicalRevision

func (x *Workload) GetCanonicalRevision() string

func (*Workload) GetName

func (x *Workload) GetName() string

func (*Workload) GetNamespace

func (x *Workload) GetNamespace() string

func (*Workload) GetNativeHbone

func (x *Workload) GetNativeHbone() bool

func (*Workload) GetNetwork

func (x *Workload) GetNetwork() string

func (*Workload) GetNode

func (x *Workload) GetNode() string

func (*Workload) GetProtocol

func (x *Workload) GetProtocol() Protocol

func (*Workload) GetRbac

func (x *Workload) GetRbac() *Authorization

func (*Workload) GetServiceAccount

func (x *Workload) GetServiceAccount() string

func (*Workload) GetTrustDomain

func (x *Workload) GetTrustDomain() string

func (*Workload) GetVirtualIps

func (x *Workload) GetVirtualIps() map[string]*PortList

func (*Workload) GetWaypointAddresses

func (x *Workload) GetWaypointAddresses() [][]byte

func (*Workload) GetWorkloadName

func (x *Workload) GetWorkloadName() string

func (*Workload) GetWorkloadType

func (x *Workload) GetWorkloadType() WorkloadType

func (*Workload) ProtoMessage

func (*Workload) ProtoMessage()

func (*Workload) ProtoReflect

func (x *Workload) ProtoReflect() protoreflect.Message

func (*Workload) Reset

func (x *Workload) Reset()

func (*Workload) String

func (x *Workload) String() string

type WorkloadType

type WorkloadType int32
const (
	WorkloadType_DEPLOYMENT WorkloadType = 0
	WorkloadType_CRONJOB    WorkloadType = 1
	WorkloadType_POD        WorkloadType = 2
	WorkloadType_JOB        WorkloadType = 3
)

func (WorkloadType) Descriptor

func (WorkloadType) Enum

func (x WorkloadType) Enum() *WorkloadType

func (WorkloadType) EnumDescriptor deprecated

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

Deprecated: Use WorkloadType.Descriptor instead.

func (WorkloadType) Number

func (WorkloadType) String

func (x WorkloadType) String() string

func (WorkloadType) Type

Jump to

Keyboard shortcuts

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