dynamic_forward_proxy

package
v1.18.0-beta24 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DnsLookupFamily_name = map[int32]string{
		0: "V4_PREFERRED",
		1: "V4_ONLY",
		2: "V6_ONLY",
		3: "AUTO",
		4: "ALL",
	}
	DnsLookupFamily_value = map[string]int32{
		"V4_PREFERRED": 0,
		"V4_ONLY":      1,
		"V6_ONLY":      2,
		"AUTO":         3,
		"ALL":          4,
	}
)

Enum value maps for DnsLookupFamily.

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_dynamic_forward_proxy_dynamic_forward_proxy_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AppleDnsResolverConfig

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

Configuration for apple DNS resolver.

func (*AppleDnsResolverConfig) Clone

Clone function

func (*AppleDnsResolverConfig) Descriptor deprecated

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

Deprecated: Use AppleDnsResolverConfig.ProtoReflect.Descriptor instead.

func (*AppleDnsResolverConfig) Equal

func (m *AppleDnsResolverConfig) Equal(that interface{}) bool

Equal function

func (*AppleDnsResolverConfig) Hash deprecated

func (m *AppleDnsResolverConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*AppleDnsResolverConfig) HashUnique added in v1.18.0

func (m *AppleDnsResolverConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*AppleDnsResolverConfig) ProtoMessage

func (*AppleDnsResolverConfig) ProtoMessage()

func (*AppleDnsResolverConfig) ProtoReflect

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

func (*AppleDnsResolverConfig) Reset

func (x *AppleDnsResolverConfig) Reset()

func (*AppleDnsResolverConfig) String

func (x *AppleDnsResolverConfig) String() string

type CaresDnsResolverConfig

type CaresDnsResolverConfig struct {

	// A list of dns resolver addresses.
	// :ref:`use_resolvers_as_fallback<envoy_v3_api_field_extensions.network.dns_resolver.cares.v3.CaresDnsResolverConfig.use_resolvers_as_fallback>`
	// below dictates if the DNS client should override system defaults or only use the provided
	// resolvers if the system defaults are not available, i.e., as a fallback.
	Resolvers []*v3.Address `protobuf:"bytes,1,rep,name=resolvers,proto3" json:"resolvers,omitempty"`
	// Configuration of DNS resolver option flags which control the behavior of the DNS resolver.
	DnsResolverOptions *DnsResolverOptions `protobuf:"bytes,2,opt,name=dns_resolver_options,json=dnsResolverOptions,proto3" json:"dns_resolver_options,omitempty"`
	// contains filtered or unexported fields
}

Configuration for c-ares DNS resolver.

func (*CaresDnsResolverConfig) Clone

Clone function

func (*CaresDnsResolverConfig) Descriptor deprecated

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

Deprecated: Use CaresDnsResolverConfig.ProtoReflect.Descriptor instead.

func (*CaresDnsResolverConfig) Equal

func (m *CaresDnsResolverConfig) Equal(that interface{}) bool

Equal function

func (*CaresDnsResolverConfig) GetDnsResolverOptions

func (x *CaresDnsResolverConfig) GetDnsResolverOptions() *DnsResolverOptions

func (*CaresDnsResolverConfig) GetResolvers

func (x *CaresDnsResolverConfig) GetResolvers() []*v3.Address

func (*CaresDnsResolverConfig) Hash deprecated

func (m *CaresDnsResolverConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*CaresDnsResolverConfig) HashUnique added in v1.18.0

func (m *CaresDnsResolverConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*CaresDnsResolverConfig) ProtoMessage

func (*CaresDnsResolverConfig) ProtoMessage()

func (*CaresDnsResolverConfig) ProtoReflect

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

func (*CaresDnsResolverConfig) Reset

func (x *CaresDnsResolverConfig) Reset()

func (*CaresDnsResolverConfig) String

func (x *CaresDnsResolverConfig) String() string

type DnsCacheCircuitBreakers

type DnsCacheCircuitBreakers struct {

	// The maximum number of pending requests that Envoy will allow to the
	// resolver. If not specified, the default is 1024.
	MaxPendingRequests *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_pending_requests,json=maxPendingRequests,proto3" json:"max_pending_requests,omitempty"`
	// contains filtered or unexported fields
}

Configuration of circuit breakers for resolver.

func (*DnsCacheCircuitBreakers) Clone

Clone function

func (*DnsCacheCircuitBreakers) Descriptor deprecated

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

Deprecated: Use DnsCacheCircuitBreakers.ProtoReflect.Descriptor instead.

func (*DnsCacheCircuitBreakers) Equal

func (m *DnsCacheCircuitBreakers) Equal(that interface{}) bool

Equal function

func (*DnsCacheCircuitBreakers) GetMaxPendingRequests

func (x *DnsCacheCircuitBreakers) GetMaxPendingRequests() *wrapperspb.UInt32Value

func (*DnsCacheCircuitBreakers) Hash deprecated

func (m *DnsCacheCircuitBreakers) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*DnsCacheCircuitBreakers) HashUnique added in v1.18.0

func (m *DnsCacheCircuitBreakers) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*DnsCacheCircuitBreakers) ProtoMessage

func (*DnsCacheCircuitBreakers) ProtoMessage()

func (*DnsCacheCircuitBreakers) ProtoReflect

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

func (*DnsCacheCircuitBreakers) Reset

func (x *DnsCacheCircuitBreakers) Reset()

func (*DnsCacheCircuitBreakers) String

func (x *DnsCacheCircuitBreakers) String() string

type DnsCacheConfig

type DnsCacheConfig struct {

	// The DNS lookup family to use during resolution.
	//
	// [#comment:TODO(mattklein123): Figure out how to support IPv4/IPv6 "happy eyeballs" mode. The
	// way this might work is a new lookup family which returns both IPv4 and IPv6 addresses, and
	// then configures a host to have a primary and fall back address. With this, we could very
	// likely build a "happy eyeballs" connection pool which would race the primary / fall back
	// address and return the one that wins. This same method could potentially also be used for
	// QUIC to TCP fall back.]
	DnsLookupFamily DnsLookupFamily `` /* 155-byte string literal not displayed */
	// The DNS refresh rate for unresolved DNS hosts. If not specified defaults to 60s.
	//
	// The refresh rate is rounded to the closest millisecond, and must be at least 1ms.
	//
	// Once a host has been resolved, the refresh rate will be the DNS TTL, capped
	// at a minimum of 5s.
	DnsRefreshRate *durationpb.Duration `protobuf:"bytes,3,opt,name=dns_refresh_rate,json=dnsRefreshRate,proto3" json:"dns_refresh_rate,omitempty"`
	// The TTL for hosts that are unused. Hosts that have not been used in the configured time
	// interval will be purged. If not specified defaults to 5m.
	//
	// .. note:
	//
	//	 The TTL is only checked at the time of DNS refresh, as specified by *dns_refresh_rate*. This
	//	 means that if the configured TTL is shorter than the refresh rate the host may not be removed
	//	 immediately.
	//
	//	.. note:
	//
	//	 The TTL has no relation to DNS TTL and is only used to control Envoy's resource usage.
	HostTtl *durationpb.Duration `protobuf:"bytes,4,opt,name=host_ttl,json=hostTtl,proto3" json:"host_ttl,omitempty"`
	// The maximum number of hosts that the cache will hold. If not specified defaults to 1024.
	//
	// .. note:
	//
	//	The implementation is approximate and enforced independently on each worker thread, thus
	//	it is possible for the maximum hosts in the cache to go slightly above the configured
	//	value depending on timing. This is similar to how other circuit breakers work.
	MaxHosts *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=max_hosts,json=maxHosts,proto3" json:"max_hosts,omitempty"`
	// If the DNS failure refresh rate is specified,
	// this is used as the cache's DNS refresh rate when DNS requests are failing. If this setting is
	// not specified, the failure refresh rate defaults to the dns_refresh_rate.
	DnsFailureRefreshRate *RefreshRate `` /* 128-byte string literal not displayed */
	// The config of circuit breakers for resolver. It provides a configurable threshold.
	// Envoy will use dns cache circuit breakers with default settings even if this value is not set.
	DnsCacheCircuitBreaker *DnsCacheCircuitBreakers `` /* 131-byte string literal not displayed */
	// Types that are assignable to DnsCacheType:
	//
	//	*DnsCacheConfig_CaresDns
	//	*DnsCacheConfig_AppleDns
	DnsCacheType isDnsCacheConfig_DnsCacheType `protobuf_oneof:"DnsCacheType"`
	// Hostnames that should be preresolved into the cache upon creation. This might provide a
	// performance improvement, in the form of cache hits, for hostnames that are going to be
	// resolved during steady state and are known at config load time.
	PreresolveHostnames []*v3.SocketAddress `protobuf:"bytes,10,rep,name=preresolve_hostnames,json=preresolveHostnames,proto3" json:"preresolve_hostnames,omitempty"`
	// The timeout used for DNS queries. This timeout is independent of any timeout and retry policy
	// used by the underlying DNS implementation (e.g., c-areas and Apple DNS) which are opaque.
	// Setting this timeout will ensure that queries succeed or fail within the specified time frame
	// and are then retried using the standard refresh rates. Defaults to 5s if not set.
	DnsQueryTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=dns_query_timeout,json=dnsQueryTimeout,proto3" json:"dns_query_timeout,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the dynamic forward proxy DNS cache. See the :ref:`architecture overview <arch_overview_http_dynamic_forward_proxy>` for more information. [#next-free-field: 14]

func (*DnsCacheConfig) Clone

func (m *DnsCacheConfig) Clone() proto.Message

Clone function

func (*DnsCacheConfig) Descriptor deprecated

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

Deprecated: Use DnsCacheConfig.ProtoReflect.Descriptor instead.

func (*DnsCacheConfig) Equal

func (m *DnsCacheConfig) Equal(that interface{}) bool

Equal function

func (*DnsCacheConfig) GetAppleDns

func (x *DnsCacheConfig) GetAppleDns() *AppleDnsResolverConfig

func (*DnsCacheConfig) GetCaresDns

func (x *DnsCacheConfig) GetCaresDns() *CaresDnsResolverConfig

func (*DnsCacheConfig) GetDnsCacheCircuitBreaker

func (x *DnsCacheConfig) GetDnsCacheCircuitBreaker() *DnsCacheCircuitBreakers

func (*DnsCacheConfig) GetDnsCacheType

func (m *DnsCacheConfig) GetDnsCacheType() isDnsCacheConfig_DnsCacheType

func (*DnsCacheConfig) GetDnsFailureRefreshRate

func (x *DnsCacheConfig) GetDnsFailureRefreshRate() *RefreshRate

func (*DnsCacheConfig) GetDnsLookupFamily

func (x *DnsCacheConfig) GetDnsLookupFamily() DnsLookupFamily

func (*DnsCacheConfig) GetDnsQueryTimeout

func (x *DnsCacheConfig) GetDnsQueryTimeout() *durationpb.Duration

func (*DnsCacheConfig) GetDnsRefreshRate

func (x *DnsCacheConfig) GetDnsRefreshRate() *durationpb.Duration

func (*DnsCacheConfig) GetHostTtl

func (x *DnsCacheConfig) GetHostTtl() *durationpb.Duration

func (*DnsCacheConfig) GetMaxHosts

func (x *DnsCacheConfig) GetMaxHosts() *wrapperspb.UInt32Value

func (*DnsCacheConfig) GetPreresolveHostnames

func (x *DnsCacheConfig) GetPreresolveHostnames() []*v3.SocketAddress

func (*DnsCacheConfig) Hash deprecated

func (m *DnsCacheConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*DnsCacheConfig) HashUnique added in v1.18.0

func (m *DnsCacheConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*DnsCacheConfig) ProtoMessage

func (*DnsCacheConfig) ProtoMessage()

func (*DnsCacheConfig) ProtoReflect

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

func (*DnsCacheConfig) Reset

func (x *DnsCacheConfig) Reset()

func (*DnsCacheConfig) String

func (x *DnsCacheConfig) String() string

type DnsCacheConfig_AppleDns

type DnsCacheConfig_AppleDns struct {
	AppleDns *AppleDnsResolverConfig `protobuf:"bytes,9,opt,name=apple_dns,json=appleDns,proto3,oneof"`
}

type DnsCacheConfig_CaresDns

type DnsCacheConfig_CaresDns struct {
	CaresDns *CaresDnsResolverConfig `protobuf:"bytes,8,opt,name=cares_dns,json=caresDns,proto3,oneof"`
}

type DnsLookupFamily

type 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. This is semantically equivalent to a non-existent V6_PREFERRED option. AUTO is a legacy name that is more opaque than necessary and will be deprecated in favor of V6_PREFERRED in a future major version of the API. If V4_PREFERRED is specified, the DNS resolver will first perform a lookup for addresses in the IPv4 family and fallback to a lookup for addresses in the IPv6 family. i.e., the callback target will only get v6 addresses if there were NO v4 addresses to return. If ALL is specified, the DNS resolver will perform a lookup for both IPv4 and IPv6 families, and return all resolved addresses. For cluster types other than :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`, this setting is ignored. [#next-major-version: deprecate AUTO in favor of a V6_PREFERRED option.]

const (
	DnsLookupFamily_V4_PREFERRED DnsLookupFamily = 0
	DnsLookupFamily_V4_ONLY      DnsLookupFamily = 1
	DnsLookupFamily_V6_ONLY      DnsLookupFamily = 2
	DnsLookupFamily_AUTO         DnsLookupFamily = 3
	DnsLookupFamily_ALL          DnsLookupFamily = 4
)

func (DnsLookupFamily) Descriptor

func (DnsLookupFamily) Enum

func (x DnsLookupFamily) Enum() *DnsLookupFamily

func (DnsLookupFamily) EnumDescriptor deprecated

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

Deprecated: Use DnsLookupFamily.Descriptor instead.

func (DnsLookupFamily) Number

func (DnsLookupFamily) String

func (x DnsLookupFamily) String() string

func (DnsLookupFamily) Type

type DnsResolverOptions

type DnsResolverOptions struct {

	// Use TCP for all DNS queries instead of the default protocol UDP.
	UseTcpForDnsLookups bool `protobuf:"varint,1,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"`
	// Do not use the default search domains; only query hostnames as-is or as aliases.
	NoDefaultSearchDomain bool `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration of DNS resolver option flags which control the behavior of the DNS resolver.

func (*DnsResolverOptions) Clone

func (m *DnsResolverOptions) Clone() proto.Message

Clone function

func (*DnsResolverOptions) Descriptor deprecated

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

Deprecated: Use DnsResolverOptions.ProtoReflect.Descriptor instead.

func (*DnsResolverOptions) Equal

func (m *DnsResolverOptions) Equal(that interface{}) bool

Equal function

func (*DnsResolverOptions) GetNoDefaultSearchDomain

func (x *DnsResolverOptions) GetNoDefaultSearchDomain() bool

func (*DnsResolverOptions) GetUseTcpForDnsLookups

func (x *DnsResolverOptions) GetUseTcpForDnsLookups() bool

func (*DnsResolverOptions) Hash deprecated

func (m *DnsResolverOptions) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*DnsResolverOptions) HashUnique added in v1.18.0

func (m *DnsResolverOptions) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*DnsResolverOptions) ProtoMessage

func (*DnsResolverOptions) ProtoMessage()

func (*DnsResolverOptions) ProtoReflect

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

func (*DnsResolverOptions) Reset

func (x *DnsResolverOptions) Reset()

func (*DnsResolverOptions) String

func (x *DnsResolverOptions) String() string

type FilterConfig

type FilterConfig struct {

	// The DNS cache configuration that the filter will attach to. Note this configuration must
	// match that of associated :ref:`dynamic forward proxy cluster configuration
	// <envoy_api_field_config.cluster.dynamic_forward_proxy.v2alpha.ClusterConfig.dns_cache_config>`.
	DnsCacheConfig *DnsCacheConfig `protobuf:"bytes,1,opt,name=dns_cache_config,json=dnsCacheConfig,proto3" json:"dns_cache_config,omitempty"`
	// When this flag is set, the filter will add the resolved upstream address in the filter
	// state. The state should be saved with key
	// `envoy.stream.upstream_address` (See
	// :repo:`upstream_address.h<source/common/stream_info/upstream_address.h>`).
	SaveUpstreamAddress bool `protobuf:"varint,2,opt,name=save_upstream_address,json=saveUpstreamAddress,proto3" json:"save_upstream_address,omitempty"`
	// If provided, the autogenerated dynamic forward proxy cluster will use TLS when connecting to upstream hosts and verify the certificate chain
	SslConfig *ssl.UpstreamSslConfig `protobuf:"bytes,3,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the dynamic forward proxy HTTP filter. See the :ref:`architecture overview <arch_overview_http_dynamic_forward_proxy>` for more information. [#extension: envoy.filters.http.dynamic_forward_proxy]

func (*FilterConfig) Clone

func (m *FilterConfig) Clone() proto.Message

Clone function

func (*FilterConfig) Descriptor deprecated

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

Deprecated: Use FilterConfig.ProtoReflect.Descriptor instead.

func (*FilterConfig) Equal

func (m *FilterConfig) Equal(that interface{}) bool

Equal function

func (*FilterConfig) GetDnsCacheConfig

func (x *FilterConfig) GetDnsCacheConfig() *DnsCacheConfig

func (*FilterConfig) GetSaveUpstreamAddress

func (x *FilterConfig) GetSaveUpstreamAddress() bool

func (*FilterConfig) GetSslConfig added in v1.13.8

func (x *FilterConfig) GetSslConfig() *ssl.UpstreamSslConfig

func (*FilterConfig) Hash deprecated

func (m *FilterConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*FilterConfig) HashUnique added in v1.18.0

func (m *FilterConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*FilterConfig) ProtoMessage

func (*FilterConfig) ProtoMessage()

func (*FilterConfig) ProtoReflect

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

func (*FilterConfig) Reset

func (x *FilterConfig) Reset()

func (*FilterConfig) String

func (x *FilterConfig) String() string

type PerRouteConfig

type PerRouteConfig struct {

	// Types that are assignable to HostRewriteSpecifier:
	//
	//	*PerRouteConfig_HostRewrite
	//	*PerRouteConfig_AutoHostRewriteHeader
	HostRewriteSpecifier isPerRouteConfig_HostRewriteSpecifier `protobuf_oneof:"host_rewrite_specifier"`
	// contains filtered or unexported fields
}

Per route Configuration for the dynamic forward proxy HTTP filter.

func (*PerRouteConfig) Clone

func (m *PerRouteConfig) Clone() proto.Message

Clone function

func (*PerRouteConfig) Descriptor deprecated

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

Deprecated: Use PerRouteConfig.ProtoReflect.Descriptor instead.

func (*PerRouteConfig) Equal

func (m *PerRouteConfig) Equal(that interface{}) bool

Equal function

func (*PerRouteConfig) GetAutoHostRewriteHeader

func (x *PerRouteConfig) GetAutoHostRewriteHeader() string

func (*PerRouteConfig) GetHostRewrite

func (x *PerRouteConfig) GetHostRewrite() string

func (*PerRouteConfig) GetHostRewriteSpecifier

func (m *PerRouteConfig) GetHostRewriteSpecifier() isPerRouteConfig_HostRewriteSpecifier

func (*PerRouteConfig) Hash deprecated

func (m *PerRouteConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*PerRouteConfig) HashUnique added in v1.18.0

func (m *PerRouteConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*PerRouteConfig) ProtoMessage

func (*PerRouteConfig) ProtoMessage()

func (*PerRouteConfig) ProtoReflect

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

func (*PerRouteConfig) Reset

func (x *PerRouteConfig) Reset()

func (*PerRouteConfig) String

func (x *PerRouteConfig) String() string

type PerRouteConfig_AutoHostRewriteHeader

type PerRouteConfig_AutoHostRewriteHeader struct {
	// Indicates that before DNS lookup, the host header will be swapped with
	// the value of this header. If not set or empty, the original host header
	// value will be used and no rewrite will happen.
	//
	// Note: this rewrite affects both DNS lookup and host header forwarding. However, this
	// option shouldn't be used with
	// :ref:`HCM host rewrite header <envoy_api_field_route.RouteAction.auto_host_rewrite_header>`
	// given that the value set here would be used for DNS lookups whereas the value set in the HCM
	// would be used for host header forwarding which is not the desired outcome.
	//
	// .. note::
	//
	//	If the header appears multiple times only the first value is used.
	AutoHostRewriteHeader string `protobuf:"bytes,2,opt,name=auto_host_rewrite_header,json=autoHostRewriteHeader,proto3,oneof"`
}

type PerRouteConfig_HostRewrite

type PerRouteConfig_HostRewrite struct {
	// Indicates that before DNS lookup, the host header will be swapped with
	// this value. If not set or empty, the original host header value
	// will be used and no rewrite will happen.
	//
	// Note: this rewrite affects both DNS lookup and host header forwarding. However, this
	// option shouldn't be used with
	// :ref:`HCM host rewrite <envoy_api_field_route.RouteAction.host_rewrite>` given that the
	// value set here would be used for DNS lookups whereas the value set in the HCM would be used
	// for host header forwarding which is not the desired outcome.
	HostRewrite string `protobuf:"bytes,1,opt,name=host_rewrite,json=hostRewrite,proto3,oneof"`
}

type RefreshRate

type RefreshRate struct {

	// Specifies the base interval between refreshes. This parameter is required and must be greater
	// than 1ms and less than
	// :ref:`max_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.max_interval>`.
	BaseInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=base_interval,json=baseInterval,proto3" json:"base_interval,omitempty"`
	// Specifies the maximum interval between refreshes. This parameter is optional, but must be
	// greater than or equal to the
	// :ref:`base_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval>`  if set. The default
	// is 10 times the :ref:`base_interval <envoy_v3_api_field_config.cluster.v3.Cluster.RefreshRate.base_interval>`.
	MaxInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=max_interval,json=maxInterval,proto3" json:"max_interval,omitempty"`
	// contains filtered or unexported fields
}

func (*RefreshRate) Clone

func (m *RefreshRate) Clone() proto.Message

Clone function

func (*RefreshRate) Descriptor deprecated

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

Deprecated: Use RefreshRate.ProtoReflect.Descriptor instead.

func (*RefreshRate) Equal

func (m *RefreshRate) Equal(that interface{}) bool

Equal function

func (*RefreshRate) GetBaseInterval

func (x *RefreshRate) GetBaseInterval() *durationpb.Duration

func (*RefreshRate) GetMaxInterval

func (x *RefreshRate) GetMaxInterval() *durationpb.Duration

func (*RefreshRate) Hash deprecated

func (m *RefreshRate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*RefreshRate) HashUnique added in v1.18.0

func (m *RefreshRate) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*RefreshRate) ProtoMessage

func (*RefreshRate) ProtoMessage()

func (*RefreshRate) ProtoReflect

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

func (*RefreshRate) Reset

func (x *RefreshRate) Reset()

func (*RefreshRate) String

func (x *RefreshRate) String() string

Jump to

Keyboard shortcuts

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