xds

package
v0.0.0-...-7f53eba Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2022 License: Apache-2.0 Imports: 4 Imported by: 6

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 (
	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 File_xds_base_proto protoreflect.FileDescriptor
View Source
var File_xds_cds_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

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 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 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 */
	// 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 */
	// 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) 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) 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) 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 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: Do not use.
	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: Do not use.

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: Do not use.
	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: Do not use.

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

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

func (*ConfigSource) Descriptor 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) 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 {
	// API configuration source.
	//ApiConfigSource api_config_source = 2;
	// 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.
	//
	// .. 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 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"`
	// 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) 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 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"`
	// Filter specific configuration which depends on the filter being
	// instantiated. See the supported filters for further documentation.
	Config *Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	// [#not-implemented-hide:]
	//
	// Deprecated: Do not use.
	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) GetConfig

func (x *Filter) GetConfig() *Struct

func (*Filter) GetDeprecatedV1 deprecated

func (x *Filter) GetDeprecatedV1() *Filter_DeprecatedV1

Deprecated: Do not use.

func (*Filter) GetName

func (x *Filter) GetName() string

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 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: Do not use.
	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: Do not use.

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

Jump to

Keyboard shortcuts

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