envoy_config_filter_network_http_connection_manager_v3alpha

package
v1.12.1 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var HttpConnectionManager_CodecType_name = map[int32]string{
	0: "AUTO",
	1: "HTTP1",
	2: "HTTP2",
	3: "HTTP3",
}
View Source
var HttpConnectionManager_CodecType_value = map[string]int32{
	"AUTO":  0,
	"HTTP1": 1,
	"HTTP2": 2,
	"HTTP3": 3,
}
View Source
var HttpConnectionManager_ForwardClientCertDetails_name = map[int32]string{
	0: "SANITIZE",
	1: "FORWARD_ONLY",
	2: "APPEND_FORWARD",
	3: "SANITIZE_SET",
	4: "ALWAYS_FORWARD_ONLY",
}
View Source
var HttpConnectionManager_ForwardClientCertDetails_value = map[string]int32{
	"SANITIZE":            0,
	"FORWARD_ONLY":        1,
	"APPEND_FORWARD":      2,
	"SANITIZE_SET":        3,
	"ALWAYS_FORWARD_ONLY": 4,
}
View Source
var HttpConnectionManager_ServerHeaderTransformation_name = map[int32]string{
	0: "OVERWRITE",
	1: "APPEND_IF_ABSENT",
	2: "PASS_THROUGH",
}
View Source
var HttpConnectionManager_ServerHeaderTransformation_value = map[string]int32{
	"OVERWRITE":        0,
	"APPEND_IF_ABSENT": 1,
	"PASS_THROUGH":     2,
}
View Source
var HttpConnectionManager_Tracing_OperationName_name = map[int32]string{
	0: "INGRESS",
	1: "EGRESS",
}
View Source
var HttpConnectionManager_Tracing_OperationName_value = map[string]int32{
	"INGRESS": 0,
	"EGRESS":  1,
}

Functions

This section is empty.

Types

type HttpConnectionManager

type HttpConnectionManager struct {
	// Supplies the type of codec that the connection manager should use.
	CodecType HttpConnectionManager_CodecType `` /* 186-byte string literal not displayed */
	// The human readable prefix to use when emitting statistics for the
	// connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for
	// more information.
	StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	// Types that are valid to be assigned to RouteSpecifier:
	//	*HttpConnectionManager_Rds
	//	*HttpConnectionManager_RouteConfig
	//	*HttpConnectionManager_ScopedRoutes
	RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"`
	// A list of individual HTTP filters that make up the filter chain for
	// requests made to the connection manager. Order matters as the filters are
	// processed sequentially as request events happen.
	HttpFilters []*HttpFilter `protobuf:"bytes,5,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"`
	// Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent`
	// and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked
	// documentation for more information. Defaults to false.
	AddUserAgent *types.BoolValue `protobuf:"bytes,6,opt,name=add_user_agent,json=addUserAgent,proto3" json:"add_user_agent,omitempty"`
	// Presence of the object defines whether the connection manager
	// emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
	// <envoy_api_msg_config.trace.v3alpha.Tracing>`.
	Tracing *HttpConnectionManager_Tracing `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"`
	// Additional settings for HTTP requests handled by the connection manager. These will be
	// applicable to both HTTP1 and HTTP2 requests.
	CommonHttpProtocolOptions *core.HttpProtocolOptions `` /* 141-byte string literal not displayed */
	// Additional HTTP/1 settings that are passed to the HTTP/1 codec.
	HttpProtocolOptions *core.Http1ProtocolOptions `protobuf:"bytes,8,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"`
	// Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
	Http2ProtocolOptions *core.Http2ProtocolOptions `protobuf:"bytes,9,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
	// An optional override that the connection manager will write to the server
	// header in responses. If not set, the default is *envoy*.
	ServerName string `protobuf:"bytes,10,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
	// Defines the action to be applied to the Server header on the response path.
	// By default, Envoy will overwrite the header with the value specified in
	// server_name.
	ServerHeaderTransformation HttpConnectionManager_ServerHeaderTransformation `` /* 257-byte string literal not displayed */
	// The maximum request headers size for incoming connections.
	// If unconfigured, the default max request headers allowed is 60 KiB.
	// Requests that exceed this limit will receive a 431 response.
	// The max configurable limit is 96 KiB, based on current implementation
	// constraints.
	MaxRequestHeadersKb *types.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"`
	// The stream idle timeout for connections managed by the connection manager.
	// If not specified, this defaults to 5 minutes. The default value was selected
	// so as not to interfere with any smaller configured timeouts that may have
	// existed in configurations prior to the introduction of this feature, while
	// introducing robustness to TCP connections that terminate without a FIN.
	//
	// This idle timeout applies to new streams and is overridable by the
	// :ref:`route-level idle_timeout
	// <envoy_api_field_api.v3alpha.route.RouteAction.idle_timeout>`. Even on a stream in
	// which the override applies, prior to receipt of the initial request
	// headers, the :ref:`stream_idle_timeout
	// <envoy_api_field_config.filter.network.http_connection_manager.v3alpha.HttpConnectionManager.stream_idle_timeout>`
	// applies. Each time an encode/decode event for headers or data is processed
	// for the stream, the timer will be reset. If the timeout fires, the stream
	// is terminated with a 408 Request Timeout error code if no upstream response
	// header has been received, otherwise a stream reset occurs.
	//
	// Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due
	// to the granularity of events presented to the connection manager. For example, while receiving
	// very large request headers, it may be the case that there is traffic regularly arriving on the
	// wire while the connection manage is only able to observe the end-of-headers event, hence the
	// stream may still idle timeout.
	//
	// A value of 0 will completely disable the connection manager stream idle
	// timeout, although per-route idle timeout overrides will continue to apply.
	StreamIdleTimeout *types.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"`
	// A timeout for idle requests managed by the connection manager.
	// The timer is activated when the request is initiated, and is disarmed when the last byte of the
	// request is sent upstream (i.e. all decoding filters have processed the request), OR when the
	// response is initiated. If not specified or set to 0, this timeout is disabled.
	RequestTimeout *types.Duration `protobuf:"bytes,28,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// The time that Envoy will wait between sending an HTTP/2 “shutdown
	// notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame.
	// This is used so that Envoy provides a grace period for new streams that
	// race with the final GOAWAY frame. During this grace period, Envoy will
	// continue to accept new streams. After the grace period, a final GOAWAY
	// frame is sent and Envoy will start refusing new streams. Draining occurs
	// both when a connection hits the idle timeout or during general server
	// draining. The default grace period is 5000 milliseconds (5 seconds) if this
	// option is not specified.
	DrainTimeout *types.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"`
	// The delayed close timeout is for downstream connections managed by the HTTP connection manager.
	// It is defined as a grace period after connection close processing has been locally initiated
	// during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy
	// from the downstream connection) prior to Envoy closing the socket associated with that
	// connection.
	// NOTE: This timeout is enforced even when the socket associated with the downstream connection
	// is pending a flush of the write buffer. However, any progress made writing data to the socket
	// will restart the timer associated with this timeout. This means that the total grace period for
	// a socket in this state will be
	// <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>.
	//
	// Delaying Envoy's connection close and giving the peer the opportunity to initiate the close
	// sequence mitigates a race condition that exists when downstream clients do not drain/process
	// data in a connection's receive buffer after a remote close has been detected via a socket
	// write(). This race leads to such clients failing to process the response code sent by Envoy,
	// which could result in erroneous downstream processing.
	//
	// If the timeout triggers, Envoy will close the connection's socket.
	//
	// The default timeout is 1000 ms if this option is not specified.
	//
	// .. NOTE::
	//    To be useful in avoiding the race condition described above, this timeout must be set
	//    to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for
	//    a reasonable "worst" case processing time for a full iteration of Envoy's event loop>.
	//
	// .. WARNING::
	//    A value of 0 will completely disable delayed close processing. When disabled, the downstream
	//    connection's socket will be closed immediately after the write flush is completed or will
	//    never close if the write flush does not complete.
	DelayedCloseTimeout *types.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"`
	// Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
	// emitted by the connection manager.
	AccessLog []*v3alpha1.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
	// If set to true, the connection manager will use the real remote address
	// of the client connection when determining internal versus external origin and manipulating
	// various headers. If set to false or absent, the connection manager will use the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for
	// :ref:`config_http_conn_man_headers_x-forwarded-for`,
	// :ref:`config_http_conn_man_headers_x-envoy-internal`, and
	// :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information.
	UseRemoteAddress *types.BoolValue `protobuf:"bytes,14,opt,name=use_remote_address,json=useRemoteAddress,proto3" json:"use_remote_address,omitempty"`
	// The number of additional ingress proxy hops from the right side of the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when
	// determining the origin client's IP address. The default is zero if this option
	// is not specified. See the documentation for
	// :ref:`config_http_conn_man_headers_x-forwarded-for` for more information.
	XffNumTrustedHops uint32 `protobuf:"varint,19,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"`
	// Configures what network addresses are considered internal for stats and header sanitation
	// purposes. If unspecified, only RFC1918 IP addresses will be considered internal.
	// See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more
	// information about internal/external addresses.
	InternalAddressConfig *HttpConnectionManager_InternalAddressConfig `` /* 127-byte string literal not displayed */
	// If set, Envoy will not append the remote address to the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in
	// conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager
	// has mutated the request headers. While :ref:`use_remote_address
	// <envoy_api_field_config.filter.network.http_connection_manager.v3alpha.HttpConnectionManager.use_remote_address>`
	// will also suppress XFF addition, it has consequences for logging and other
	// Envoy uses of the remote address, so *skip_xff_append* should be used
	// when only an elision of XFF addition is intended.
	SkipXffAppend bool `protobuf:"varint,21,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"`
	// Via header value to append to request and response headers. If this is
	// empty, no via header will be appended.
	Via string `protobuf:"bytes,22,opt,name=via,proto3" json:"via,omitempty"`
	// Whether the connection manager will generate the :ref:`x-request-id
	// <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to
	// true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature
	// is not desired it can be disabled.
	GenerateRequestId *types.BoolValue `protobuf:"bytes,15,opt,name=generate_request_id,json=generateRequestId,proto3" json:"generate_request_id,omitempty"`
	// Whether the connection manager will keep the :ref:`x-request-id
	// <config_http_conn_man_headers_x-request-id>` header if passed for a request that is edge
	// (Edge request is the request from external clients to front Envoy) and not reset it, which
	// is the current Envoy behaviour. This defaults to false.
	PreserveExternalRequestId bool `` /* 142-byte string literal not displayed */
	// How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
	// header.
	ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `` /* 251-byte string literal not displayed */
	// This field is valid only when :ref:`forward_client_cert_details
	// <envoy_api_field_config.filter.network.http_connection_manager.v3alpha.HttpConnectionManager.forward_client_cert_details>`
	// is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in
	// the client certificate to be forwarded. Note that in the
	// :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, *Hash* is always set, and
	// *By* is always set when the client certificate presents the URI type Subject Alternative Name
	// value.
	SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `` /* 149-byte string literal not displayed */
	// If proxy_100_continue is true, Envoy will proxy incoming "Expect:
	// 100-continue" headers upstream, and forward "100 Continue" responses
	// downstream. If this is false or not set, Envoy will instead strip the
	// "Expect: 100-continue" header, and send a "100 Continue" response itself.
	Proxy_100Continue bool `protobuf:"varint,18,opt,name=proxy_100_continue,json=proxy100Continue,proto3" json:"proxy_100_continue,omitempty"`
	// If
	// :ref:`use_remote_address
	// <envoy_api_field_config.filter.network.http_connection_manager.v3alpha.HttpConnectionManager.use_remote_address>`
	// is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is
	// an IPv4 address, the address will be mapped to IPv6 before it is appended to *x-forwarded-for*.
	// This is useful for testing compatibility of upstream services that parse the header value. For
	// example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses
	// <https://tools.ietf.org/html/rfc4291#section-2.5.5.2>`_ for details. This will also affect the
	// :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See
	// :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6
	// <config_http_conn_man_runtime_represent_ipv4_remote_address_as_ipv4_mapped_ipv6>` for runtime
	// control.
	// [#not-implemented-hide:]
	RepresentIpv4RemoteAddressAsIpv4MappedIpv6 bool                                   `` /* 201-byte string literal not displayed */
	UpgradeConfigs                             []*HttpConnectionManager_UpgradeConfig `protobuf:"bytes,23,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"`
	// Should paths be normalized according to RFC 3986 before any processing of
	// requests by HTTP filters or routing? This affects the upstream *:path* header
	// as well. For paths that fail this check, Envoy will respond with 400 to
	// paths that are malformed. This defaults to false currently but will default
	// true in the future. When not specified, this value may be overridden by the
	// runtime variable
	// :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
	// See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`
	// for details of normalization.
	// Note that Envoy does not perform
	// `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`
	NormalizePath *types.BoolValue `protobuf:"bytes,30,opt,name=normalize_path,json=normalizePath,proto3" json:"normalize_path,omitempty"`
	// Determines if adjacent slashes in the path are merged into one before any processing of
	// requests by HTTP filters or routing. This affects the upstream *:path* header as well. Without
	// setting this option, incoming requests with path `//dir///file` will not match against route
	// with `prefix` match set to `/dir`. Defaults to `false`. Note that slash merging is not part of
	// `HTTP spec <https://tools.ietf.org/html/rfc3986>` and is provided for convenience.
	MergeSlashes         bool     `protobuf:"varint,33,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

[#next-free-field: 36]

func (*HttpConnectionManager) Descriptor

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

func (*HttpConnectionManager) GetAccessLog

func (m *HttpConnectionManager) GetAccessLog() []*v3alpha1.AccessLog

func (*HttpConnectionManager) GetAddUserAgent

func (m *HttpConnectionManager) GetAddUserAgent() *types.BoolValue

func (*HttpConnectionManager) GetCodecType

func (*HttpConnectionManager) GetCommonHttpProtocolOptions

func (m *HttpConnectionManager) GetCommonHttpProtocolOptions() *core.HttpProtocolOptions

func (*HttpConnectionManager) GetDelayedCloseTimeout

func (m *HttpConnectionManager) GetDelayedCloseTimeout() *types.Duration

func (*HttpConnectionManager) GetDrainTimeout

func (m *HttpConnectionManager) GetDrainTimeout() *types.Duration

func (*HttpConnectionManager) GetForwardClientCertDetails

func (*HttpConnectionManager) GetGenerateRequestId

func (m *HttpConnectionManager) GetGenerateRequestId() *types.BoolValue

func (*HttpConnectionManager) GetHttp2ProtocolOptions

func (m *HttpConnectionManager) GetHttp2ProtocolOptions() *core.Http2ProtocolOptions

func (*HttpConnectionManager) GetHttpFilters

func (m *HttpConnectionManager) GetHttpFilters() []*HttpFilter

func (*HttpConnectionManager) GetHttpProtocolOptions

func (m *HttpConnectionManager) GetHttpProtocolOptions() *core.Http1ProtocolOptions

func (*HttpConnectionManager) GetInternalAddressConfig

func (*HttpConnectionManager) GetMaxRequestHeadersKb

func (m *HttpConnectionManager) GetMaxRequestHeadersKb() *types.UInt32Value

func (*HttpConnectionManager) GetMergeSlashes

func (m *HttpConnectionManager) GetMergeSlashes() bool

func (*HttpConnectionManager) GetNormalizePath

func (m *HttpConnectionManager) GetNormalizePath() *types.BoolValue

func (*HttpConnectionManager) GetPreserveExternalRequestId

func (m *HttpConnectionManager) GetPreserveExternalRequestId() bool

func (*HttpConnectionManager) GetProxy_100Continue

func (m *HttpConnectionManager) GetProxy_100Continue() bool

func (*HttpConnectionManager) GetRds

func (m *HttpConnectionManager) GetRds() *Rds

func (*HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6

func (m *HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6() bool

func (*HttpConnectionManager) GetRequestTimeout

func (m *HttpConnectionManager) GetRequestTimeout() *types.Duration

func (*HttpConnectionManager) GetRouteConfig

func (m *HttpConnectionManager) GetRouteConfig() *v3alpha.RouteConfiguration

func (*HttpConnectionManager) GetRouteSpecifier

func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier

func (*HttpConnectionManager) GetScopedRoutes

func (m *HttpConnectionManager) GetScopedRoutes() *ScopedRoutes

func (*HttpConnectionManager) GetServerHeaderTransformation

func (*HttpConnectionManager) GetServerName

func (m *HttpConnectionManager) GetServerName() string

func (*HttpConnectionManager) GetSetCurrentClientCertDetails

func (m *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnectionManager_SetCurrentClientCertDetails

func (*HttpConnectionManager) GetSkipXffAppend

func (m *HttpConnectionManager) GetSkipXffAppend() bool

func (*HttpConnectionManager) GetStatPrefix

func (m *HttpConnectionManager) GetStatPrefix() string

func (*HttpConnectionManager) GetStreamIdleTimeout

func (m *HttpConnectionManager) GetStreamIdleTimeout() *types.Duration

func (*HttpConnectionManager) GetTracing

func (*HttpConnectionManager) GetUpgradeConfigs

func (*HttpConnectionManager) GetUseRemoteAddress

func (m *HttpConnectionManager) GetUseRemoteAddress() *types.BoolValue

func (*HttpConnectionManager) GetVia

func (m *HttpConnectionManager) GetVia() string

func (*HttpConnectionManager) GetXffNumTrustedHops

func (m *HttpConnectionManager) GetXffNumTrustedHops() uint32

func (*HttpConnectionManager) ProtoMessage

func (*HttpConnectionManager) ProtoMessage()

func (*HttpConnectionManager) Reset

func (m *HttpConnectionManager) Reset()

func (*HttpConnectionManager) String

func (m *HttpConnectionManager) String() string

func (*HttpConnectionManager) XXX_DiscardUnknown

func (m *HttpConnectionManager) XXX_DiscardUnknown()

func (*HttpConnectionManager) XXX_Marshal

func (m *HttpConnectionManager) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpConnectionManager) XXX_Merge

func (m *HttpConnectionManager) XXX_Merge(src proto.Message)

func (*HttpConnectionManager) XXX_OneofWrappers

func (*HttpConnectionManager) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HttpConnectionManager) XXX_Size

func (m *HttpConnectionManager) XXX_Size() int

func (*HttpConnectionManager) XXX_Unmarshal

func (m *HttpConnectionManager) XXX_Unmarshal(b []byte) error

type HttpConnectionManager_CodecType

type HttpConnectionManager_CodecType int32
const (
	// For every new connection, the connection manager will determine which
	// codec to use. This mode supports both ALPN for TLS listeners as well as
	// protocol inference for plaintext listeners. If ALPN data is available, it
	// is preferred, otherwise protocol inference is used. In almost all cases,
	// this is the right option to choose for this setting.
	HttpConnectionManager_AUTO HttpConnectionManager_CodecType = 0
	// The connection manager will assume that the client is speaking HTTP/1.1.
	HttpConnectionManager_HTTP1 HttpConnectionManager_CodecType = 1
	// The connection manager will assume that the client is speaking HTTP/2
	// (Envoy does not require HTTP/2 to take place over TLS or to use ALPN.
	// Prior knowledge is allowed).
	HttpConnectionManager_HTTP2 HttpConnectionManager_CodecType = 2
	// [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with
	// caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient
	// to distinguish HTTP1 and HTTP2 traffic.
	HttpConnectionManager_HTTP3 HttpConnectionManager_CodecType = 3
)

func (HttpConnectionManager_CodecType) EnumDescriptor

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

func (HttpConnectionManager_CodecType) String

type HttpConnectionManager_ForwardClientCertDetails

type HttpConnectionManager_ForwardClientCertDetails int32

How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP header.

const (
	// Do not send the XFCC header to the next hop. This is the default value.
	HttpConnectionManager_SANITIZE HttpConnectionManager_ForwardClientCertDetails = 0
	// When the client connection is mTLS (Mutual TLS), forward the XFCC header
	// in the request.
	HttpConnectionManager_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 1
	// When the client connection is mTLS, append the client certificate
	// information to the request’s XFCC header and forward it.
	HttpConnectionManager_APPEND_FORWARD HttpConnectionManager_ForwardClientCertDetails = 2
	// When the client connection is mTLS, reset the XFCC header with the client
	// certificate information and send it to the next hop.
	HttpConnectionManager_SANITIZE_SET HttpConnectionManager_ForwardClientCertDetails = 3
	// Always forward the XFCC header in the request, regardless of whether the
	// client connection is mTLS.
	HttpConnectionManager_ALWAYS_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 4
)

func (HttpConnectionManager_ForwardClientCertDetails) EnumDescriptor

func (HttpConnectionManager_ForwardClientCertDetails) String

type HttpConnectionManager_InternalAddressConfig

type HttpConnectionManager_InternalAddressConfig struct {
	// Whether unix socket addresses should be considered internal.
	UnixSockets          bool     `protobuf:"varint,1,opt,name=unix_sockets,json=unixSockets,proto3" json:"unix_sockets,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*HttpConnectionManager_InternalAddressConfig) Descriptor

func (*HttpConnectionManager_InternalAddressConfig) GetUnixSockets

func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage

func (*HttpConnectionManager_InternalAddressConfig) Reset

func (*HttpConnectionManager_InternalAddressConfig) String

func (*HttpConnectionManager_InternalAddressConfig) XXX_DiscardUnknown

func (m *HttpConnectionManager_InternalAddressConfig) XXX_DiscardUnknown()

func (*HttpConnectionManager_InternalAddressConfig) XXX_Marshal

func (m *HttpConnectionManager_InternalAddressConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpConnectionManager_InternalAddressConfig) XXX_Merge

func (*HttpConnectionManager_InternalAddressConfig) XXX_Size

func (*HttpConnectionManager_InternalAddressConfig) XXX_Unmarshal

type HttpConnectionManager_Rds

type HttpConnectionManager_Rds struct {
	Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"`
}

type HttpConnectionManager_RouteConfig

type HttpConnectionManager_RouteConfig struct {
	RouteConfig *v3alpha.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"`
}

type HttpConnectionManager_ScopedRoutes

type HttpConnectionManager_ScopedRoutes struct {
	ScopedRoutes *ScopedRoutes `protobuf:"bytes,31,opt,name=scoped_routes,json=scopedRoutes,proto3,oneof"`
}

type HttpConnectionManager_ServerHeaderTransformation

type HttpConnectionManager_ServerHeaderTransformation int32
const (
	// Overwrite any Server header with the contents of server_name.
	HttpConnectionManager_OVERWRITE HttpConnectionManager_ServerHeaderTransformation = 0
	// If no Server header is present, append Server server_name
	// If a Server header is present, pass it through.
	HttpConnectionManager_APPEND_IF_ABSENT HttpConnectionManager_ServerHeaderTransformation = 1
	// Pass through the value of the server header, and do not append a header
	// if none is present.
	HttpConnectionManager_PASS_THROUGH HttpConnectionManager_ServerHeaderTransformation = 2
)

func (HttpConnectionManager_ServerHeaderTransformation) EnumDescriptor

func (HttpConnectionManager_ServerHeaderTransformation) String

type HttpConnectionManager_SetCurrentClientCertDetails

type HttpConnectionManager_SetCurrentClientCertDetails struct {
	// Whether to forward the subject of the client cert. Defaults to false.
	Subject *types.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
	// Whether to forward the entire client cert in URL encoded PEM format. This will appear in the
	// XFCC header comma separated from other values with the value Cert="PEM".
	// Defaults to false.
	Cert bool `protobuf:"varint,3,opt,name=cert,proto3" json:"cert,omitempty"`
	// Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM
	// format. This will appear in the XFCC header comma separated from other values with the value
	// Chain="PEM".
	// Defaults to false.
	Chain bool `protobuf:"varint,6,opt,name=chain,proto3" json:"chain,omitempty"`
	// Whether to forward the DNS type Subject Alternative Names of the client cert.
	// Defaults to false.
	Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"`
	// Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to
	// false.
	Uri                  bool     `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

[#next-free-field: 7]

func (*HttpConnectionManager_SetCurrentClientCertDetails) Descriptor

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetCert

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetChain

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetDns

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetSubject

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetUri

func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage

func (*HttpConnectionManager_SetCurrentClientCertDetails) Reset

func (*HttpConnectionManager_SetCurrentClientCertDetails) String

func (*HttpConnectionManager_SetCurrentClientCertDetails) XXX_DiscardUnknown

func (m *HttpConnectionManager_SetCurrentClientCertDetails) XXX_DiscardUnknown()

func (*HttpConnectionManager_SetCurrentClientCertDetails) XXX_Marshal

func (m *HttpConnectionManager_SetCurrentClientCertDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpConnectionManager_SetCurrentClientCertDetails) XXX_Merge

func (*HttpConnectionManager_SetCurrentClientCertDetails) XXX_Size

func (*HttpConnectionManager_SetCurrentClientCertDetails) XXX_Unmarshal

type HttpConnectionManager_Tracing

type HttpConnectionManager_Tracing struct {
	// A list of header names used to create tags for the active span. The header name is used to
	// populate the tag name, and the header value is used to populate the tag value. The tag is
	// created if the specified header name is present in the request's headers.
	RequestHeadersForTags []string `` /* 128-byte string literal not displayed */
	// Target percentage of requests managed by this HTTP connection manager that will be force
	// traced if the :ref:`x-client-trace-id <config_http_conn_man_headers_x-client-trace-id>`
	// header is set. This field is a direct analog for the runtime variable
	// 'tracing.client_sampling' in the :ref:`HTTP Connection Manager
	// <config_http_conn_man_runtime>`.
	// Default: 100%
	ClientSampling *v3alpha2.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"`
	// Target percentage of requests managed by this HTTP connection manager that will be randomly
	// selected for trace generation, if not requested by the client or not forced. This field is
	// a direct analog for the runtime variable 'tracing.random_sampling' in the
	// :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	// Default: 100%
	RandomSampling *v3alpha2.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"`
	// Target percentage of requests managed by this HTTP connection manager that will be traced
	// after all other sampling checks have been applied (client-directed, force tracing, random
	// sampling). This field functions as an upper limit on the total configured sampling rate. For
	// instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1%
	// of client requests with the appropriate headers to be force traced. This field is a direct
	// analog for the runtime variable 'tracing.global_enabled' in the
	// :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	// Default: 100%
	OverallSampling *v3alpha2.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"`
	// Whether to annotate spans with additional data. If true, spans will include logs for stream
	// events.
	Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// Maximum length of the request path to extract and include in the HttpUrl tag. Used to
	// truncate lengthy request paths to meet the needs of a tracing backend.
	// Default: 256
	MaxPathTagLength     *types.UInt32Value `protobuf:"bytes,7,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

[#next-free-field: 8]

func (*HttpConnectionManager_Tracing) Descriptor

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

func (*HttpConnectionManager_Tracing) GetClientSampling

func (m *HttpConnectionManager_Tracing) GetClientSampling() *v3alpha2.Percent

func (*HttpConnectionManager_Tracing) GetMaxPathTagLength

func (m *HttpConnectionManager_Tracing) GetMaxPathTagLength() *types.UInt32Value

func (*HttpConnectionManager_Tracing) GetOverallSampling

func (m *HttpConnectionManager_Tracing) GetOverallSampling() *v3alpha2.Percent

func (*HttpConnectionManager_Tracing) GetRandomSampling

func (m *HttpConnectionManager_Tracing) GetRandomSampling() *v3alpha2.Percent

func (*HttpConnectionManager_Tracing) GetRequestHeadersForTags

func (m *HttpConnectionManager_Tracing) GetRequestHeadersForTags() []string

func (*HttpConnectionManager_Tracing) GetVerbose

func (m *HttpConnectionManager_Tracing) GetVerbose() bool

func (*HttpConnectionManager_Tracing) ProtoMessage

func (*HttpConnectionManager_Tracing) ProtoMessage()

func (*HttpConnectionManager_Tracing) Reset

func (m *HttpConnectionManager_Tracing) Reset()

func (*HttpConnectionManager_Tracing) String

func (*HttpConnectionManager_Tracing) XXX_DiscardUnknown

func (m *HttpConnectionManager_Tracing) XXX_DiscardUnknown()

func (*HttpConnectionManager_Tracing) XXX_Marshal

func (m *HttpConnectionManager_Tracing) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpConnectionManager_Tracing) XXX_Merge

func (m *HttpConnectionManager_Tracing) XXX_Merge(src proto.Message)

func (*HttpConnectionManager_Tracing) XXX_Size

func (m *HttpConnectionManager_Tracing) XXX_Size() int

func (*HttpConnectionManager_Tracing) XXX_Unmarshal

func (m *HttpConnectionManager_Tracing) XXX_Unmarshal(b []byte) error

type HttpConnectionManager_Tracing_OperationName

type HttpConnectionManager_Tracing_OperationName int32
const (
	// The HTTP listener is used for ingress/incoming requests.
	HttpConnectionManager_Tracing_INGRESS HttpConnectionManager_Tracing_OperationName = 0
	// The HTTP listener is used for egress/outgoing requests.
	HttpConnectionManager_Tracing_EGRESS HttpConnectionManager_Tracing_OperationName = 1
)

func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor

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

func (HttpConnectionManager_Tracing_OperationName) String

type HttpConnectionManager_UpgradeConfig

type HttpConnectionManager_UpgradeConfig struct {
	// The case-insensitive name of this upgrade, e.g. "websocket".
	// For each upgrade type present in upgrade_configs, requests with
	// Upgrade: [upgrade_type]
	// will be proxied upstream.
	UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"`
	// If present, this represents the filter chain which will be created for
	// this type of upgrade. If no filters are present, the filter chain for
	// HTTP connections will be used for this upgrade type.
	Filters []*HttpFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"`
	// Determines if upgrades are enabled or disabled by default. Defaults to true.
	// This can be overridden on a per-route basis with :ref:`cluster
	// <envoy_api_field_api.v3alpha.route.RouteAction.upgrade_configs>` as documented in the
	// :ref:`upgrade documentation <arch_overview_websocket>`.
	Enabled              *types.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

The configuration for HTTP upgrades. For each upgrade type desired, an UpgradeConfig must be added.

.. warning::

The current implementation of upgrade headers does not handle
multi-valued upgrade headers. Support for multi-valued headers may be
added in the future if needed.

.. warning::

The current implementation of upgrade headers does not work with HTTP/2
upstreams.

func (*HttpConnectionManager_UpgradeConfig) Descriptor

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

func (*HttpConnectionManager_UpgradeConfig) GetEnabled

func (*HttpConnectionManager_UpgradeConfig) GetFilters

func (*HttpConnectionManager_UpgradeConfig) GetUpgradeType

func (m *HttpConnectionManager_UpgradeConfig) GetUpgradeType() string

func (*HttpConnectionManager_UpgradeConfig) ProtoMessage

func (*HttpConnectionManager_UpgradeConfig) ProtoMessage()

func (*HttpConnectionManager_UpgradeConfig) Reset

func (*HttpConnectionManager_UpgradeConfig) String

func (*HttpConnectionManager_UpgradeConfig) XXX_DiscardUnknown

func (m *HttpConnectionManager_UpgradeConfig) XXX_DiscardUnknown()

func (*HttpConnectionManager_UpgradeConfig) XXX_Marshal

func (m *HttpConnectionManager_UpgradeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpConnectionManager_UpgradeConfig) XXX_Merge

func (*HttpConnectionManager_UpgradeConfig) XXX_Size

func (*HttpConnectionManager_UpgradeConfig) XXX_Unmarshal

func (m *HttpConnectionManager_UpgradeConfig) XXX_Unmarshal(b []byte) error

type HttpFilter

type HttpFilter struct {
	// The name of the filter to instantiate. The name must match a
	// :ref:`supported filter <config_http_filters>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Filter specific configuration which depends on the filter being instantiated. See the supported
	// filters for further documentation.
	//
	// Types that are valid to be assigned to ConfigType:
	//	*HttpFilter_TypedConfig
	ConfigType           isHttpFilter_ConfigType `protobuf_oneof:"config_type"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (*HttpFilter) Descriptor

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

func (*HttpFilter) GetConfigType

func (m *HttpFilter) GetConfigType() isHttpFilter_ConfigType

func (*HttpFilter) GetName

func (m *HttpFilter) GetName() string

func (*HttpFilter) GetTypedConfig

func (m *HttpFilter) GetTypedConfig() *types.Any

func (*HttpFilter) ProtoMessage

func (*HttpFilter) ProtoMessage()

func (*HttpFilter) Reset

func (m *HttpFilter) Reset()

func (*HttpFilter) String

func (m *HttpFilter) String() string

func (*HttpFilter) XXX_DiscardUnknown

func (m *HttpFilter) XXX_DiscardUnknown()

func (*HttpFilter) XXX_Marshal

func (m *HttpFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HttpFilter) XXX_Merge

func (m *HttpFilter) XXX_Merge(src proto.Message)

func (*HttpFilter) XXX_OneofWrappers

func (*HttpFilter) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HttpFilter) XXX_Size

func (m *HttpFilter) XXX_Size() int

func (*HttpFilter) XXX_Unmarshal

func (m *HttpFilter) XXX_Unmarshal(b []byte) error

type HttpFilter_TypedConfig

type HttpFilter_TypedConfig struct {
	TypedConfig *types.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

type Rds

type Rds struct {
	// Configuration source specifier for RDS.
	ConfigSource *core.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"`
	// The name of the route configuration. This name will be passed to the RDS
	// API. This allows an Envoy configuration with multiple HTTP listeners (and
	// associated HTTP connection manager filters) to use different route
	// configurations.
	RouteConfigName      string   `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Rds) Descriptor

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

func (*Rds) GetConfigSource

func (m *Rds) GetConfigSource() *core.ConfigSource

func (*Rds) GetRouteConfigName

func (m *Rds) GetRouteConfigName() string

func (*Rds) ProtoMessage

func (*Rds) ProtoMessage()

func (*Rds) Reset

func (m *Rds) Reset()

func (*Rds) String

func (m *Rds) String() string

func (*Rds) XXX_DiscardUnknown

func (m *Rds) XXX_DiscardUnknown()

func (*Rds) XXX_Marshal

func (m *Rds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Rds) XXX_Merge

func (m *Rds) XXX_Merge(src proto.Message)

func (*Rds) XXX_Size

func (m *Rds) XXX_Size() int

func (*Rds) XXX_Unmarshal

func (m *Rds) XXX_Unmarshal(b []byte) error

type ScopedRds

type ScopedRds struct {
	// Configuration source specifier for scoped RDS.
	ScopedRdsConfigSource *core.ConfigSource `` /* 128-byte string literal not displayed */
	XXX_NoUnkeyedLiteral  struct{}           `json:"-"`
	XXX_unrecognized      []byte             `json:"-"`
	XXX_sizecache         int32              `json:"-"`
}

func (*ScopedRds) Descriptor

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

func (*ScopedRds) GetScopedRdsConfigSource

func (m *ScopedRds) GetScopedRdsConfigSource() *core.ConfigSource

func (*ScopedRds) ProtoMessage

func (*ScopedRds) ProtoMessage()

func (*ScopedRds) Reset

func (m *ScopedRds) Reset()

func (*ScopedRds) String

func (m *ScopedRds) String() string

func (*ScopedRds) XXX_DiscardUnknown

func (m *ScopedRds) XXX_DiscardUnknown()

func (*ScopedRds) XXX_Marshal

func (m *ScopedRds) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScopedRds) XXX_Merge

func (m *ScopedRds) XXX_Merge(src proto.Message)

func (*ScopedRds) XXX_Size

func (m *ScopedRds) XXX_Size() int

func (*ScopedRds) XXX_Unmarshal

func (m *ScopedRds) XXX_Unmarshal(b []byte) error

type ScopedRouteConfigurationsList

type ScopedRouteConfigurationsList struct {
	ScopedRouteConfigurations []*v3alpha.ScopedRouteConfiguration `` /* 138-byte string literal not displayed */
	XXX_NoUnkeyedLiteral      struct{}                            `json:"-"`
	XXX_unrecognized          []byte                              `json:"-"`
	XXX_sizecache             int32                               `json:"-"`
}

This message is used to work around the limitations with 'oneof' and repeated fields.

func (*ScopedRouteConfigurationsList) Descriptor

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

func (*ScopedRouteConfigurationsList) GetScopedRouteConfigurations

func (m *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v3alpha.ScopedRouteConfiguration

func (*ScopedRouteConfigurationsList) ProtoMessage

func (*ScopedRouteConfigurationsList) ProtoMessage()

func (*ScopedRouteConfigurationsList) Reset

func (m *ScopedRouteConfigurationsList) Reset()

func (*ScopedRouteConfigurationsList) String

func (*ScopedRouteConfigurationsList) XXX_DiscardUnknown

func (m *ScopedRouteConfigurationsList) XXX_DiscardUnknown()

func (*ScopedRouteConfigurationsList) XXX_Marshal

func (m *ScopedRouteConfigurationsList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScopedRouteConfigurationsList) XXX_Merge

func (m *ScopedRouteConfigurationsList) XXX_Merge(src proto.Message)

func (*ScopedRouteConfigurationsList) XXX_Size

func (m *ScopedRouteConfigurationsList) XXX_Size() int

func (*ScopedRouteConfigurationsList) XXX_Unmarshal

func (m *ScopedRouteConfigurationsList) XXX_Unmarshal(b []byte) error

type ScopedRoutes

type ScopedRoutes struct {
	// The name assigned to the scoped routing configuration.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The algorithm to use for constructing a scope key for each request.
	ScopeKeyBuilder *ScopedRoutes_ScopeKeyBuilder `protobuf:"bytes,2,opt,name=scope_key_builder,json=scopeKeyBuilder,proto3" json:"scope_key_builder,omitempty"`
	// Configuration source specifier for RDS.
	// This config source is used to subscribe to RouteConfiguration resources specified in
	// ScopedRouteConfiguration messages.
	RdsConfigSource *core.ConfigSource `protobuf:"bytes,3,opt,name=rds_config_source,json=rdsConfigSource,proto3" json:"rds_config_source,omitempty"`
	// Types that are valid to be assigned to ConfigSpecifier:
	//	*ScopedRoutes_ScopedRouteConfigurationsList
	//	*ScopedRoutes_ScopedRds
	ConfigSpecifier      isScopedRoutes_ConfigSpecifier `protobuf_oneof:"config_specifier"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

[#next-free-field: 6]

func (*ScopedRoutes) Descriptor

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

func (*ScopedRoutes) GetConfigSpecifier

func (m *ScopedRoutes) GetConfigSpecifier() isScopedRoutes_ConfigSpecifier

func (*ScopedRoutes) GetName

func (m *ScopedRoutes) GetName() string

func (*ScopedRoutes) GetRdsConfigSource

func (m *ScopedRoutes) GetRdsConfigSource() *core.ConfigSource

func (*ScopedRoutes) GetScopeKeyBuilder

func (m *ScopedRoutes) GetScopeKeyBuilder() *ScopedRoutes_ScopeKeyBuilder

func (*ScopedRoutes) GetScopedRds

func (m *ScopedRoutes) GetScopedRds() *ScopedRds

func (*ScopedRoutes) GetScopedRouteConfigurationsList

func (m *ScopedRoutes) GetScopedRouteConfigurationsList() *ScopedRouteConfigurationsList

func (*ScopedRoutes) ProtoMessage

func (*ScopedRoutes) ProtoMessage()

func (*ScopedRoutes) Reset

func (m *ScopedRoutes) Reset()

func (*ScopedRoutes) String

func (m *ScopedRoutes) String() string

func (*ScopedRoutes) XXX_DiscardUnknown

func (m *ScopedRoutes) XXX_DiscardUnknown()

func (*ScopedRoutes) XXX_Marshal

func (m *ScopedRoutes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScopedRoutes) XXX_Merge

func (m *ScopedRoutes) XXX_Merge(src proto.Message)

func (*ScopedRoutes) XXX_OneofWrappers

func (*ScopedRoutes) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ScopedRoutes) XXX_Size

func (m *ScopedRoutes) XXX_Size() int

func (*ScopedRoutes) XXX_Unmarshal

func (m *ScopedRoutes) XXX_Unmarshal(b []byte) error

type ScopedRoutes_ScopeKeyBuilder

type ScopedRoutes_ScopeKeyBuilder struct {
	// The final scope key consists of the ordered union of these fragments.
	Fragments            []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
	XXX_unrecognized     []byte                                          `json:"-"`
	XXX_sizecache        int32                                           `json:"-"`
}

Specifies the mechanism for constructing "scope keys" based on HTTP request attributes. These keys are matched against a set of :ref:`Key<envoy_api_msg_api.v3alpha.ScopedRouteConfiguration.Key>` objects assembled from :ref:`ScopedRouteConfiguration<envoy_api_msg_api.v3alpha.ScopedRouteConfiguration>` messages distributed via SRDS (the Scoped Route Discovery Service) or assigned statically via :ref:`scoped_route_configurations_list<envoy_api_field_config.filter.network.http_connection_manager.v3alpha.ScopedRoutes.scoped_route_configurations_list>`.

Upon receiving a request's headers, the Router will build a key using the algorithm specified by this message. This key will be used to look up the routing table (i.e., the :ref:`RouteConfiguration<envoy_api_msg_api.v3alpha.RouteConfiguration>`) to use for the request.

func (*ScopedRoutes_ScopeKeyBuilder) Descriptor

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

func (*ScopedRoutes_ScopeKeyBuilder) GetFragments

func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage()

func (*ScopedRoutes_ScopeKeyBuilder) Reset

func (m *ScopedRoutes_ScopeKeyBuilder) Reset()

func (*ScopedRoutes_ScopeKeyBuilder) String

func (*ScopedRoutes_ScopeKeyBuilder) XXX_DiscardUnknown

func (m *ScopedRoutes_ScopeKeyBuilder) XXX_DiscardUnknown()

func (*ScopedRoutes_ScopeKeyBuilder) XXX_Marshal

func (m *ScopedRoutes_ScopeKeyBuilder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScopedRoutes_ScopeKeyBuilder) XXX_Merge

func (m *ScopedRoutes_ScopeKeyBuilder) XXX_Merge(src proto.Message)

func (*ScopedRoutes_ScopeKeyBuilder) XXX_Size

func (m *ScopedRoutes_ScopeKeyBuilder) XXX_Size() int

func (*ScopedRoutes_ScopeKeyBuilder) XXX_Unmarshal

func (m *ScopedRoutes_ScopeKeyBuilder) XXX_Unmarshal(b []byte) error

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct {
	// Types that are valid to be assigned to Type:
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_
	Type                 isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type `protobuf_oneof:"type"`
	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
	XXX_unrecognized     []byte                                              `json:"-"`
	XXX_sizecache        int32                                               `json:"-"`
}

Specifies the mechanism for constructing key fragments which are composed into scope keys.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetHeaderValueExtractor

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_DiscardUnknown

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_DiscardUnknown()

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_Marshal

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_Merge

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_OneofWrappers

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_Size

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) XXX_Unmarshal

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct {
	// The name of the header field to extract the value from.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The element separator (e.g., ';' separates 'a;b;c;d').
	// Default: empty string. This causes the entirety of the header field to be extracted.
	// If this field is set to an empty string and 'index' is used in the oneof below, 'index'
	// must be set to 0.
	ElementSeparator string `protobuf:"bytes,2,opt,name=element_separator,json=elementSeparator,proto3" json:"element_separator,omitempty"`
	// Types that are valid to be assigned to ExtractType:
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element
	ExtractType          isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType `protobuf_oneof:"extract_type"`
	XXX_NoUnkeyedLiteral struct{}                                                                        `json:"-"`
	XXX_unrecognized     []byte                                                                          `json:"-"`
	XXX_sizecache        int32                                                                           `json:"-"`
}

Specifies how the value of a header should be extracted. The following example maps the structure of a header to the fields in this message.

.. code::

          <0> <1>   <-- index
X-Header: a=b;c=d
|         || |
|         || \----> <element_separator>
|         ||
|         |\----> <element.separator>
|         |
|         \----> <element.key>
|
\----> <name>

Each 'a=b' key-value pair constitutes an 'element' of the header field.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElement

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElementSeparator

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetIndex

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) String

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_DiscardUnknown

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_Marshal

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_Merge

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_OneofWrappers

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_Size

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) XXX_Unmarshal

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ struct {
	HeaderValueExtractor *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor `protobuf:"bytes,1,opt,name=header_value_extractor,json=headerValueExtractor,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element struct {
	Element *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement `protobuf:"bytes,4,opt,name=element,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index struct {
	Index uint32 `protobuf:"varint,3,opt,name=index,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement struct {
	// The separator between key and value (e.g., '=' separates 'k=v;...').
	// If an element is an empty string, the element is ignored.
	// If an element contains no separator, the whole element is parsed as key and the
	// fragment value is an empty string.
	// If there are multiple values for a matched key, the first value is returned.
	Separator string `protobuf:"bytes,1,opt,name=separator,proto3" json:"separator,omitempty"`
	// The key to match on.
	Key                  string   `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Specifies a header field's key value pair to match on.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetKey

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) String

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) XXX_DiscardUnknown

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) XXX_Marshal

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) XXX_Merge

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) XXX_Size

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) XXX_Unmarshal

type ScopedRoutes_ScopedRds

type ScopedRoutes_ScopedRds struct {
	ScopedRds *ScopedRds `protobuf:"bytes,5,opt,name=scoped_rds,json=scopedRds,proto3,oneof"`
}

type ScopedRoutes_ScopedRouteConfigurationsList

type ScopedRoutes_ScopedRouteConfigurationsList struct {
	ScopedRouteConfigurationsList *ScopedRouteConfigurationsList `protobuf:"bytes,4,opt,name=scoped_route_configurations_list,json=scopedRouteConfigurationsList,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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