tcp_proxyv2

package
v1.36.11-2026071520374... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const TcpProxy_ClusterSpecifier_not_set_case case_TcpProxy_ClusterSpecifier = 0
View Source
const TcpProxy_Cluster_case case_TcpProxy_ClusterSpecifier = 2
View Source
const TcpProxy_WeightedClusters_case case_TcpProxy_ClusterSpecifier = 10

Variables

View Source
var File_envoy_config_filter_network_tcp_proxy_v2_tcp_proxy_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type TcpProxy

type TcpProxy struct {

	// The prefix to use when emitting :ref:`statistics
	// <config_network_filters_tcp_proxy_stats>`.
	StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	// Types that are valid to be assigned to ClusterSpecifier:
	//
	//	*TcpProxy_Cluster
	//	*TcpProxy_WeightedClusters
	ClusterSpecifier isTcpProxy_ClusterSpecifier `protobuf_oneof:"cluster_specifier"`
	// Optional endpoint metadata match criteria. Only endpoints in the upstream
	// cluster with metadata matching that set in metadata_match will be
	// considered. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata `protobuf:"bytes,9,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
	// The idle timeout for connections managed by the TCP proxy filter. The idle timeout
	// is defined as the period in which there are no bytes sent or received on either
	// the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set
	// to 0s, the timeout will be disabled.
	//
	// .. warning::
	//
	//	Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
	//	FIN packets, etc.
	IdleTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// [#not-implemented-hide:] The idle timeout for connections managed by the TCP proxy
	// filter. The idle timeout is defined as the period in which there is no
	// active traffic. If not set, there is no idle timeout. When the idle timeout
	// is reached the connection will be closed. The distinction between
	// downstream_idle_timeout/upstream_idle_timeout provides a means to set
	// timeout based on the last byte sent on the downstream/upstream connection.
	DownstreamIdleTimeout *durationpb.Duration `` /* 126-byte string literal not displayed */
	// [#not-implemented-hide:]
	UpstreamIdleTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=upstream_idle_timeout,json=upstreamIdleTimeout,proto3" json:"upstream_idle_timeout,omitempty"`
	// Configuration for :ref:`access logs <arch_overview_access_logs>`
	// emitted by the this tcp_proxy.
	AccessLog []*v2.AccessLog `protobuf:"bytes,5,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
	// [#not-implemented-hide:] Deprecated.
	//
	// Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.
	DeprecatedV1 *TcpProxy_DeprecatedV1 `protobuf:"bytes,6,opt,name=deprecated_v1,json=deprecatedV1,proto3" json:"deprecated_v1,omitempty"`
	// The maximum number of unsuccessful connection attempts that will be made before
	// giving up. If the parameter is not specified, 1 connection attempt will be made.
	MaxConnectAttempts *wrapperspb.UInt32Value `protobuf:"bytes,7,opt,name=max_connect_attempts,json=maxConnectAttempts,proto3" json:"max_connect_attempts,omitempty"`
	// Optional configuration for TCP proxy hash policy. If hash_policy is not set, the hash-based
	// load balancing algorithms will select a host randomly. Currently the number of hash policies is
	// limited to 1.
	HashPolicy []*_type.HashPolicy `protobuf:"bytes,11,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"`
	// [#not-implemented-hide:] feature in progress
	// If set, this configures tunneling, e.g. configuration options to tunnel multiple TCP
	// payloads over a shared HTTP/2 tunnel. If this message is absent, the payload
	// will be proxied upstream as per usual.
	TunnelingConfig *TcpProxy_TunnelingConfig `protobuf:"bytes,12,opt,name=tunneling_config,json=tunnelingConfig,proto3" json:"tunneling_config,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 13]

func (*TcpProxy) ClearCluster

func (x *TcpProxy) ClearCluster()

func (*TcpProxy) ClearClusterSpecifier

func (x *TcpProxy) ClearClusterSpecifier()

func (*TcpProxy) ClearDeprecatedV1 deprecated

func (x *TcpProxy) ClearDeprecatedV1()

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (*TcpProxy) ClearDownstreamIdleTimeout

func (x *TcpProxy) ClearDownstreamIdleTimeout()

func (*TcpProxy) ClearIdleTimeout

func (x *TcpProxy) ClearIdleTimeout()

func (*TcpProxy) ClearMaxConnectAttempts

func (x *TcpProxy) ClearMaxConnectAttempts()

func (*TcpProxy) ClearMetadataMatch

func (x *TcpProxy) ClearMetadataMatch()

func (*TcpProxy) ClearTunnelingConfig

func (x *TcpProxy) ClearTunnelingConfig()

func (*TcpProxy) ClearUpstreamIdleTimeout

func (x *TcpProxy) ClearUpstreamIdleTimeout()

func (*TcpProxy) ClearWeightedClusters

func (x *TcpProxy) ClearWeightedClusters()

func (*TcpProxy) GetAccessLog

func (x *TcpProxy) GetAccessLog() []*v2.AccessLog

func (*TcpProxy) GetCluster

func (x *TcpProxy) GetCluster() string

func (*TcpProxy) GetClusterSpecifier

func (x *TcpProxy) GetClusterSpecifier() isTcpProxy_ClusterSpecifier

func (*TcpProxy) GetDeprecatedV1 deprecated

func (x *TcpProxy) GetDeprecatedV1() *TcpProxy_DeprecatedV1

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (*TcpProxy) GetDownstreamIdleTimeout

func (x *TcpProxy) GetDownstreamIdleTimeout() *durationpb.Duration

func (*TcpProxy) GetHashPolicy

func (x *TcpProxy) GetHashPolicy() []*_type.HashPolicy

func (*TcpProxy) GetIdleTimeout

func (x *TcpProxy) GetIdleTimeout() *durationpb.Duration

func (*TcpProxy) GetMaxConnectAttempts

func (x *TcpProxy) GetMaxConnectAttempts() *wrapperspb.UInt32Value

func (*TcpProxy) GetMetadataMatch

func (x *TcpProxy) GetMetadataMatch() *core.Metadata

func (*TcpProxy) GetStatPrefix

func (x *TcpProxy) GetStatPrefix() string

func (*TcpProxy) GetTunnelingConfig

func (x *TcpProxy) GetTunnelingConfig() *TcpProxy_TunnelingConfig

func (*TcpProxy) GetUpstreamIdleTimeout

func (x *TcpProxy) GetUpstreamIdleTimeout() *durationpb.Duration

func (*TcpProxy) GetWeightedClusters

func (x *TcpProxy) GetWeightedClusters() *TcpProxy_WeightedCluster

func (*TcpProxy) HasCluster

func (x *TcpProxy) HasCluster() bool

func (*TcpProxy) HasClusterSpecifier

func (x *TcpProxy) HasClusterSpecifier() bool

func (*TcpProxy) HasDeprecatedV1 deprecated

func (x *TcpProxy) HasDeprecatedV1() bool

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (*TcpProxy) HasDownstreamIdleTimeout

func (x *TcpProxy) HasDownstreamIdleTimeout() bool

func (*TcpProxy) HasIdleTimeout

func (x *TcpProxy) HasIdleTimeout() bool

func (*TcpProxy) HasMaxConnectAttempts

func (x *TcpProxy) HasMaxConnectAttempts() bool

func (*TcpProxy) HasMetadataMatch

func (x *TcpProxy) HasMetadataMatch() bool

func (*TcpProxy) HasTunnelingConfig

func (x *TcpProxy) HasTunnelingConfig() bool

func (*TcpProxy) HasUpstreamIdleTimeout

func (x *TcpProxy) HasUpstreamIdleTimeout() bool

func (*TcpProxy) HasWeightedClusters

func (x *TcpProxy) HasWeightedClusters() bool

func (*TcpProxy) ProtoMessage

func (*TcpProxy) ProtoMessage()

func (*TcpProxy) ProtoReflect

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

func (*TcpProxy) Reset

func (x *TcpProxy) Reset()

func (*TcpProxy) SetAccessLog

func (x *TcpProxy) SetAccessLog(v []*v2.AccessLog)

func (*TcpProxy) SetCluster

func (x *TcpProxy) SetCluster(v string)

func (*TcpProxy) SetDeprecatedV1 deprecated

func (x *TcpProxy) SetDeprecatedV1(v *TcpProxy_DeprecatedV1)

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (*TcpProxy) SetDownstreamIdleTimeout

func (x *TcpProxy) SetDownstreamIdleTimeout(v *durationpb.Duration)

func (*TcpProxy) SetHashPolicy

func (x *TcpProxy) SetHashPolicy(v []*_type.HashPolicy)

func (*TcpProxy) SetIdleTimeout

func (x *TcpProxy) SetIdleTimeout(v *durationpb.Duration)

func (*TcpProxy) SetMaxConnectAttempts

func (x *TcpProxy) SetMaxConnectAttempts(v *wrapperspb.UInt32Value)

func (*TcpProxy) SetMetadataMatch

func (x *TcpProxy) SetMetadataMatch(v *core.Metadata)

func (*TcpProxy) SetStatPrefix

func (x *TcpProxy) SetStatPrefix(v string)

func (*TcpProxy) SetTunnelingConfig

func (x *TcpProxy) SetTunnelingConfig(v *TcpProxy_TunnelingConfig)

func (*TcpProxy) SetUpstreamIdleTimeout

func (x *TcpProxy) SetUpstreamIdleTimeout(v *durationpb.Duration)

func (*TcpProxy) SetWeightedClusters

func (x *TcpProxy) SetWeightedClusters(v *TcpProxy_WeightedCluster)

func (*TcpProxy) String

func (x *TcpProxy) String() string

func (*TcpProxy) WhichClusterSpecifier

func (x *TcpProxy) WhichClusterSpecifier() case_TcpProxy_ClusterSpecifier

type TcpProxy_Cluster

type TcpProxy_Cluster struct {
	// The upstream cluster to connect to.
	Cluster string `protobuf:"bytes,2,opt,name=cluster,proto3,oneof"`
}

type TcpProxy_DeprecatedV1 deprecated

type TcpProxy_DeprecatedV1 struct {

	// The route table for the filter. All filter instances must have a route
	// table, even if it is empty.
	Routes []*TcpProxy_DeprecatedV1_TCPRoute `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
	// contains filtered or unexported fields
}

[#not-implemented-hide:] Deprecated. TCP Proxy filter configuration using V1 format.

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (*TcpProxy_DeprecatedV1) GetRoutes

func (*TcpProxy_DeprecatedV1) ProtoMessage

func (*TcpProxy_DeprecatedV1) ProtoMessage()

func (*TcpProxy_DeprecatedV1) ProtoReflect

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

func (*TcpProxy_DeprecatedV1) Reset

func (x *TcpProxy_DeprecatedV1) Reset()

func (*TcpProxy_DeprecatedV1) SetRoutes

func (*TcpProxy_DeprecatedV1) String

func (x *TcpProxy_DeprecatedV1) String() string

type TcpProxy_DeprecatedV1_TCPRoute

type TcpProxy_DeprecatedV1_TCPRoute struct {

	// The cluster to connect to when a the downstream network connection
	// matches the specified criteria.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. The criteria is satisfied if the destination 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 destination IP address is ignored. The destination IP
	// address of the downstream connection might be different from the
	// addresses on which the proxy is listening if the connection has been
	// redirected.
	DestinationIpList []*core.CidrRange `protobuf:"bytes,2,rep,name=destination_ip_list,json=destinationIpList,proto3" json:"destination_ip_list,omitempty"`
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the destination port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the destination port is
	// ignored. The destination port address of the downstream connection
	// might be different from the port on which the proxy is listening if
	// the connection has been redirected.
	DestinationPorts string `protobuf:"bytes,3,opt,name=destination_ports,json=destinationPorts,proto3" json:"destination_ports,omitempty"`
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. 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.
	SourceIpList []*core.CidrRange `protobuf:"bytes,4,rep,name=source_ip_list,json=sourceIpList,proto3" json:"source_ip_list,omitempty"`
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the source port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the source port is
	// ignored.
	SourcePorts string `protobuf:"bytes,5,opt,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"`
	// contains filtered or unexported fields
}

A TCP proxy route consists of a set of optional L4 criteria and the name of a cluster. If a downstream connection matches all the specified criteria, the cluster in the route is used for the corresponding upstream connection. Routes are tried in the order specified until a match is found. If no match is found, the connection is closed. A route with no criteria is valid and always produces a match. [#next-free-field: 6]

func (*TcpProxy_DeprecatedV1_TCPRoute) GetCluster

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetCluster() string

func (*TcpProxy_DeprecatedV1_TCPRoute) GetDestinationIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationIpList() []*core.CidrRange

func (*TcpProxy_DeprecatedV1_TCPRoute) GetDestinationPorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetDestinationPorts() string

func (*TcpProxy_DeprecatedV1_TCPRoute) GetSourceIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourceIpList() []*core.CidrRange

func (*TcpProxy_DeprecatedV1_TCPRoute) GetSourcePorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) GetSourcePorts() string

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoMessage

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoMessage()

func (*TcpProxy_DeprecatedV1_TCPRoute) ProtoReflect

func (*TcpProxy_DeprecatedV1_TCPRoute) Reset

func (x *TcpProxy_DeprecatedV1_TCPRoute) Reset()

func (*TcpProxy_DeprecatedV1_TCPRoute) SetCluster

func (x *TcpProxy_DeprecatedV1_TCPRoute) SetCluster(v string)

func (*TcpProxy_DeprecatedV1_TCPRoute) SetDestinationIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) SetDestinationIpList(v []*core.CidrRange)

func (*TcpProxy_DeprecatedV1_TCPRoute) SetDestinationPorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) SetDestinationPorts(v string)

func (*TcpProxy_DeprecatedV1_TCPRoute) SetSourceIpList

func (x *TcpProxy_DeprecatedV1_TCPRoute) SetSourceIpList(v []*core.CidrRange)

func (*TcpProxy_DeprecatedV1_TCPRoute) SetSourcePorts

func (x *TcpProxy_DeprecatedV1_TCPRoute) SetSourcePorts(v string)

func (*TcpProxy_DeprecatedV1_TCPRoute) String

type TcpProxy_DeprecatedV1_TCPRoute_builder

type TcpProxy_DeprecatedV1_TCPRoute_builder struct {

	// The cluster to connect to when a the downstream network connection
	// matches the specified criteria.
	Cluster string
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. The criteria is satisfied if the destination 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 destination IP address is ignored. The destination IP
	// address of the downstream connection might be different from the
	// addresses on which the proxy is listening if the connection has been
	// redirected.
	DestinationIpList []*core.CidrRange
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the destination port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the destination port is
	// ignored. The destination port address of the downstream connection
	// might be different from the port on which the proxy is listening if
	// the connection has been redirected.
	DestinationPorts string
	// An optional list of IP address subnets in the form
	// “ip_address/xx”. 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.
	SourceIpList []*core.CidrRange
	// An optional string containing a comma-separated list of port numbers
	// or ranges. The criteria is satisfied if the source port of the
	// downstream connection is contained in at least one of the specified
	// ranges. If the parameter is not specified, the source port is
	// ignored.
	SourcePorts string
	// contains filtered or unexported fields
}

func (TcpProxy_DeprecatedV1_TCPRoute_builder) Build

type TcpProxy_DeprecatedV1_builder deprecated

type TcpProxy_DeprecatedV1_builder struct {

	// The route table for the filter. All filter instances must have a route
	// table, even if it is empty.
	Routes []*TcpProxy_DeprecatedV1_TCPRoute
	// contains filtered or unexported fields
}

Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.

func (TcpProxy_DeprecatedV1_builder) Build

type TcpProxy_TunnelingConfig

type TcpProxy_TunnelingConfig struct {

	// The hostname to send in the synthesized CONNECT headers to the upstream proxy.
	Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// contains filtered or unexported fields
}

Configuration for tunneling TCP over other transports or application layers. Currently, only HTTP/2 is supported. When other options exist, HTTP/2 will remain the default.

func (*TcpProxy_TunnelingConfig) GetHostname

func (x *TcpProxy_TunnelingConfig) GetHostname() string

func (*TcpProxy_TunnelingConfig) ProtoMessage

func (*TcpProxy_TunnelingConfig) ProtoMessage()

func (*TcpProxy_TunnelingConfig) ProtoReflect

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

func (*TcpProxy_TunnelingConfig) Reset

func (x *TcpProxy_TunnelingConfig) Reset()

func (*TcpProxy_TunnelingConfig) SetHostname

func (x *TcpProxy_TunnelingConfig) SetHostname(v string)

func (*TcpProxy_TunnelingConfig) String

func (x *TcpProxy_TunnelingConfig) String() string

type TcpProxy_TunnelingConfig_builder

type TcpProxy_TunnelingConfig_builder struct {

	// The hostname to send in the synthesized CONNECT headers to the upstream proxy.
	Hostname string
	// contains filtered or unexported fields
}

func (TcpProxy_TunnelingConfig_builder) Build

type TcpProxy_WeightedCluster

type TcpProxy_WeightedCluster struct {

	// Specifies one or more upstream clusters associated with the route.
	Clusters []*TcpProxy_WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
	// contains filtered or unexported fields
}

Allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster based on these weights.

func (*TcpProxy_WeightedCluster) GetClusters

func (*TcpProxy_WeightedCluster) ProtoMessage

func (*TcpProxy_WeightedCluster) ProtoMessage()

func (*TcpProxy_WeightedCluster) ProtoReflect

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

func (*TcpProxy_WeightedCluster) Reset

func (x *TcpProxy_WeightedCluster) Reset()

func (*TcpProxy_WeightedCluster) SetClusters

func (*TcpProxy_WeightedCluster) String

func (x *TcpProxy_WeightedCluster) String() string

type TcpProxy_WeightedCluster_ClusterWeight

type TcpProxy_WeightedCluster_ClusterWeight struct {

	// Name of the upstream cluster.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// When a request matches the route, the choice of an upstream cluster is
	// determined by its weight. The sum of weights across all entries in the
	// clusters array determines the total weight.
	Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
	// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
	// in the upstream cluster with metadata matching what is set in this field will be considered
	// for load balancing. Note that this will be merged with what's provided in
	// :ref:`TcpProxy.metadata_match
	// <envoy_api_field_config.filter.network.tcp_proxy.v2.TcpProxy.metadata_match>`, with values
	// here taking precedence. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
	// contains filtered or unexported fields
}

func (*TcpProxy_WeightedCluster_ClusterWeight) ClearMetadataMatch

func (x *TcpProxy_WeightedCluster_ClusterWeight) ClearMetadataMatch()

func (*TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch

func (x *TcpProxy_WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata

func (*TcpProxy_WeightedCluster_ClusterWeight) GetName

func (*TcpProxy_WeightedCluster_ClusterWeight) GetWeight

func (*TcpProxy_WeightedCluster_ClusterWeight) HasMetadataMatch

func (x *TcpProxy_WeightedCluster_ClusterWeight) HasMetadataMatch() bool

func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoMessage

func (*TcpProxy_WeightedCluster_ClusterWeight) ProtoReflect

func (*TcpProxy_WeightedCluster_ClusterWeight) Reset

func (*TcpProxy_WeightedCluster_ClusterWeight) SetMetadataMatch

func (x *TcpProxy_WeightedCluster_ClusterWeight) SetMetadataMatch(v *core.Metadata)

func (*TcpProxy_WeightedCluster_ClusterWeight) SetName

func (*TcpProxy_WeightedCluster_ClusterWeight) SetWeight

func (*TcpProxy_WeightedCluster_ClusterWeight) String

type TcpProxy_WeightedCluster_ClusterWeight_builder

type TcpProxy_WeightedCluster_ClusterWeight_builder struct {

	// Name of the upstream cluster.
	Name string
	// When a request matches the route, the choice of an upstream cluster is
	// determined by its weight. The sum of weights across all entries in the
	// clusters array determines the total weight.
	Weight uint32
	// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
	// in the upstream cluster with metadata matching what is set in this field will be considered
	// for load balancing. Note that this will be merged with what's provided in
	// :ref:`TcpProxy.metadata_match
	// <envoy_api_field_config.filter.network.tcp_proxy.v2.TcpProxy.metadata_match>`, with values
	// here taking precedence. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata
	// contains filtered or unexported fields
}

func (TcpProxy_WeightedCluster_ClusterWeight_builder) Build

type TcpProxy_WeightedCluster_builder

type TcpProxy_WeightedCluster_builder struct {

	// Specifies one or more upstream clusters associated with the route.
	Clusters []*TcpProxy_WeightedCluster_ClusterWeight
	// contains filtered or unexported fields
}

func (TcpProxy_WeightedCluster_builder) Build

type TcpProxy_WeightedClusters

type TcpProxy_WeightedClusters struct {
	// Multiple upstream clusters can be specified for a given route. The
	// request is routed to one of the upstream clusters based on weights
	// assigned to each cluster.
	WeightedClusters *TcpProxy_WeightedCluster `protobuf:"bytes,10,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"`
}

type TcpProxy_builder

type TcpProxy_builder struct {

	// The prefix to use when emitting :ref:`statistics
	// <config_network_filters_tcp_proxy_stats>`.
	StatPrefix string
	// Fields of oneof ClusterSpecifier:
	// The upstream cluster to connect to.
	Cluster *string
	// Multiple upstream clusters can be specified for a given route. The
	// request is routed to one of the upstream clusters based on weights
	// assigned to each cluster.
	WeightedClusters *TcpProxy_WeightedCluster
	// -- end of ClusterSpecifier
	// Optional endpoint metadata match criteria. Only endpoints in the upstream
	// cluster with metadata matching that set in metadata_match will be
	// considered. The filter name should be specified as *envoy.lb*.
	MetadataMatch *core.Metadata
	// The idle timeout for connections managed by the TCP proxy filter. The idle timeout
	// is defined as the period in which there are no bytes sent or received on either
	// the upstream or downstream connection. If not set, the default idle timeout is 1 hour. If set
	// to 0s, the timeout will be disabled.
	//
	// .. warning::
	//
	//	Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
	//	FIN packets, etc.
	IdleTimeout *durationpb.Duration
	// [#not-implemented-hide:] The idle timeout for connections managed by the TCP proxy
	// filter. The idle timeout is defined as the period in which there is no
	// active traffic. If not set, there is no idle timeout. When the idle timeout
	// is reached the connection will be closed. The distinction between
	// downstream_idle_timeout/upstream_idle_timeout provides a means to set
	// timeout based on the last byte sent on the downstream/upstream connection.
	DownstreamIdleTimeout *durationpb.Duration
	// [#not-implemented-hide:]
	UpstreamIdleTimeout *durationpb.Duration
	// Configuration for :ref:`access logs <arch_overview_access_logs>`
	// emitted by the this tcp_proxy.
	AccessLog []*v2.AccessLog
	// [#not-implemented-hide:] Deprecated.
	//
	// Deprecated: Marked as deprecated in envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto.
	DeprecatedV1 *TcpProxy_DeprecatedV1
	// The maximum number of unsuccessful connection attempts that will be made before
	// giving up. If the parameter is not specified, 1 connection attempt will be made.
	MaxConnectAttempts *wrapperspb.UInt32Value
	// Optional configuration for TCP proxy hash policy. If hash_policy is not set, the hash-based
	// load balancing algorithms will select a host randomly. Currently the number of hash policies is
	// limited to 1.
	HashPolicy []*_type.HashPolicy
	// [#not-implemented-hide:] feature in progress
	// If set, this configures tunneling, e.g. configuration options to tunnel multiple TCP
	// payloads over a shared HTTP/2 tunnel. If this message is absent, the payload
	// will be proxied upstream as per usual.
	TunnelingConfig *TcpProxy_TunnelingConfig
	// contains filtered or unexported fields
}

func (TcpProxy_builder) Build

func (b0 TcpProxy_builder) Build() *TcpProxy

Source Files

  • tcp_proxy.pb.go

Jump to

Keyboard shortcuts

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