Documentation
¶
Index ¶
- Constants
- Variables
- type ApplicationProtocolInput
- type ApplicationProtocolInput_builder
- type DestinationIPInput
- type DestinationIPInput_builder
- type DestinationPortInput
- type DestinationPortInput_builder
- type DirectSourceIPInput
- type DirectSourceIPInput_builder
- type DynamicMetadataInput
- func (x *DynamicMetadataInput) GetFilter() string
- func (x *DynamicMetadataInput) GetPath() []*DynamicMetadataInput_PathSegment
- func (*DynamicMetadataInput) ProtoMessage()
- func (x *DynamicMetadataInput) ProtoReflect() protoreflect.Message
- func (x *DynamicMetadataInput) Reset()
- func (x *DynamicMetadataInput) SetFilter(v string)
- func (x *DynamicMetadataInput) SetPath(v []*DynamicMetadataInput_PathSegment)
- func (x *DynamicMetadataInput) String() string
- type DynamicMetadataInput_PathSegment
- func (x *DynamicMetadataInput_PathSegment) ClearKey()
- func (x *DynamicMetadataInput_PathSegment) ClearSegment()
- func (x *DynamicMetadataInput_PathSegment) GetKey() string
- func (x *DynamicMetadataInput_PathSegment) GetSegment() isDynamicMetadataInput_PathSegment_Segment
- func (x *DynamicMetadataInput_PathSegment) HasKey() bool
- func (x *DynamicMetadataInput_PathSegment) HasSegment() bool
- func (*DynamicMetadataInput_PathSegment) ProtoMessage()
- func (x *DynamicMetadataInput_PathSegment) ProtoReflect() protoreflect.Message
- func (x *DynamicMetadataInput_PathSegment) Reset()
- func (x *DynamicMetadataInput_PathSegment) SetKey(v string)
- func (x *DynamicMetadataInput_PathSegment) String() string
- func (x *DynamicMetadataInput_PathSegment) WhichSegment() case_DynamicMetadataInput_PathSegment_Segment
- type DynamicMetadataInput_PathSegment_Key
- type DynamicMetadataInput_PathSegment_builder
- type DynamicMetadataInput_builder
- type FilterStateInput
- type FilterStateInput_builder
- type NetworkNamespaceInput
- type NetworkNamespaceInput_builder
- type ServerNameInput
- type ServerNameInput_builder
- type SourceIPInput
- type SourceIPInput_builder
- type SourcePortInput
- type SourcePortInput_builder
- type SourceTypeInput
- type SourceTypeInput_builder
- type TransportProtocolInput
- type TransportProtocolInput_builder
Constants ¶
const DynamicMetadataInput_PathSegment_Key_case case_DynamicMetadataInput_PathSegment_Segment = 1
const DynamicMetadataInput_PathSegment_Segment_not_set_case case_DynamicMetadataInput_PathSegment_Segment = 0
Variables ¶
var File_envoy_extensions_matching_common_inputs_network_v3_network_inputs_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ApplicationProtocolInput ¶
type ApplicationProtocolInput struct {
// contains filtered or unexported fields
}
List of quoted and comma-separated requested application protocols. The list consists of a single negotiated application protocol once the network stream is established.
Examples:
* “'h2','http/1.1'“ * “'h2c'“
Suggested values in the list include:
- “http/1.1“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` and :ref:`envoy.filters.listener.http_inspector <config_listener_filters_http_inspector>`,
- “h2“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
- “h2c“ - set by :ref:`envoy.filters.listener.http_inspector <config_listener_filters_http_inspector>`
.. attention::
Currently, :ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides application protocol detection based on the requested `ALPN <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_ values. However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet, and matching on values other than ``h2`` is going to lead to a lot of false negatives, unless all connecting clients are known to use ALPN.
[#extension: envoy.matching.inputs.application_protocol]
func (*ApplicationProtocolInput) ProtoMessage ¶
func (*ApplicationProtocolInput) ProtoMessage()
func (*ApplicationProtocolInput) ProtoReflect ¶
func (x *ApplicationProtocolInput) ProtoReflect() protoreflect.Message
func (*ApplicationProtocolInput) Reset ¶
func (x *ApplicationProtocolInput) Reset()
func (*ApplicationProtocolInput) String ¶
func (x *ApplicationProtocolInput) String() string
type ApplicationProtocolInput_builder ¶
type ApplicationProtocolInput_builder struct {
// contains filtered or unexported fields
}
func (ApplicationProtocolInput_builder) Build ¶
func (b0 ApplicationProtocolInput_builder) Build() *ApplicationProtocolInput
type DestinationIPInput ¶
type DestinationIPInput struct {
// contains filtered or unexported fields
}
Specifies that matching should be performed by the destination IP address. [#extension: envoy.matching.inputs.destination_ip]
func (*DestinationIPInput) ProtoMessage ¶
func (*DestinationIPInput) ProtoMessage()
func (*DestinationIPInput) ProtoReflect ¶
func (x *DestinationIPInput) ProtoReflect() protoreflect.Message
func (*DestinationIPInput) Reset ¶
func (x *DestinationIPInput) Reset()
func (*DestinationIPInput) String ¶
func (x *DestinationIPInput) String() string
type DestinationIPInput_builder ¶
type DestinationIPInput_builder struct {
// contains filtered or unexported fields
}
func (DestinationIPInput_builder) Build ¶
func (b0 DestinationIPInput_builder) Build() *DestinationIPInput
type DestinationPortInput ¶
type DestinationPortInput struct {
// contains filtered or unexported fields
}
Specifies that matching should be performed by the destination port. [#extension: envoy.matching.inputs.destination_port]
func (*DestinationPortInput) ProtoMessage ¶
func (*DestinationPortInput) ProtoMessage()
func (*DestinationPortInput) ProtoReflect ¶
func (x *DestinationPortInput) ProtoReflect() protoreflect.Message
func (*DestinationPortInput) Reset ¶
func (x *DestinationPortInput) Reset()
func (*DestinationPortInput) String ¶
func (x *DestinationPortInput) String() string
type DestinationPortInput_builder ¶
type DestinationPortInput_builder struct {
// contains filtered or unexported fields
}
func (DestinationPortInput_builder) Build ¶
func (b0 DestinationPortInput_builder) Build() *DestinationPortInput
type DirectSourceIPInput ¶
type DirectSourceIPInput struct {
// contains filtered or unexported fields
}
Input that matches by the directly connected source IP address (this will only be different from the source IP address when using a listener filter that overrides the source address, such as the :ref:`Proxy Protocol listener filter <config_listener_filters_proxy_protocol>`). [#extension: envoy.matching.inputs.direct_source_ip]
func (*DirectSourceIPInput) ProtoMessage ¶
func (*DirectSourceIPInput) ProtoMessage()
func (*DirectSourceIPInput) ProtoReflect ¶
func (x *DirectSourceIPInput) ProtoReflect() protoreflect.Message
func (*DirectSourceIPInput) Reset ¶
func (x *DirectSourceIPInput) Reset()
func (*DirectSourceIPInput) String ¶
func (x *DirectSourceIPInput) String() string
type DirectSourceIPInput_builder ¶
type DirectSourceIPInput_builder struct {
// contains filtered or unexported fields
}
func (DirectSourceIPInput_builder) Build ¶
func (b0 DirectSourceIPInput_builder) Build() *DirectSourceIPInput
type DynamicMetadataInput ¶
type DynamicMetadataInput struct {
// The filter name to retrieve the Struct from the Metadata.
Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
// The path to retrieve the Value from the Struct.
Path []*DynamicMetadataInput_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
// contains filtered or unexported fields
}
Input that matches dynamic metadata by key. DynamicMetadataInput provides a general interface using “filter“ and “path“ to retrieve value from :ref:`Metadata <envoy_v3_api_msg_config.core.v3.Metadata>`.
For example, for the following Metadata:
.. code-block:: yaml
filter_metadata:
envoy.xxx:
prop:
foo: bar
xyz:
hello: envoy
The following DynamicMetadataInput will retrieve a string value "bar" from the Metadata.
.. code-block:: yaml
filter: envoy.xxx path: - key: prop - key: foo
[#extension: envoy.matching.inputs.dynamic_metadata]
func (*DynamicMetadataInput) GetFilter ¶
func (x *DynamicMetadataInput) GetFilter() string
func (*DynamicMetadataInput) GetPath ¶
func (x *DynamicMetadataInput) GetPath() []*DynamicMetadataInput_PathSegment
func (*DynamicMetadataInput) ProtoMessage ¶
func (*DynamicMetadataInput) ProtoMessage()
func (*DynamicMetadataInput) ProtoReflect ¶
func (x *DynamicMetadataInput) ProtoReflect() protoreflect.Message
func (*DynamicMetadataInput) Reset ¶
func (x *DynamicMetadataInput) Reset()
func (*DynamicMetadataInput) SetFilter ¶
func (x *DynamicMetadataInput) SetFilter(v string)
func (*DynamicMetadataInput) SetPath ¶
func (x *DynamicMetadataInput) SetPath(v []*DynamicMetadataInput_PathSegment)
func (*DynamicMetadataInput) String ¶
func (x *DynamicMetadataInput) String() string
type DynamicMetadataInput_PathSegment ¶
type DynamicMetadataInput_PathSegment struct {
// Types that are valid to be assigned to Segment:
//
// *DynamicMetadataInput_PathSegment_Key
Segment isDynamicMetadataInput_PathSegment_Segment `protobuf_oneof:"segment"`
// contains filtered or unexported fields
}
Specifies the segment in a path to retrieve value from Metadata. Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that if the segment key refers to a list, it has to be the last segment in a path.
func (*DynamicMetadataInput_PathSegment) ClearKey ¶
func (x *DynamicMetadataInput_PathSegment) ClearKey()
func (*DynamicMetadataInput_PathSegment) ClearSegment ¶
func (x *DynamicMetadataInput_PathSegment) ClearSegment()
func (*DynamicMetadataInput_PathSegment) GetKey ¶
func (x *DynamicMetadataInput_PathSegment) GetKey() string
func (*DynamicMetadataInput_PathSegment) GetSegment ¶
func (x *DynamicMetadataInput_PathSegment) GetSegment() isDynamicMetadataInput_PathSegment_Segment
func (*DynamicMetadataInput_PathSegment) HasKey ¶
func (x *DynamicMetadataInput_PathSegment) HasKey() bool
func (*DynamicMetadataInput_PathSegment) HasSegment ¶
func (x *DynamicMetadataInput_PathSegment) HasSegment() bool
func (*DynamicMetadataInput_PathSegment) ProtoMessage ¶
func (*DynamicMetadataInput_PathSegment) ProtoMessage()
func (*DynamicMetadataInput_PathSegment) ProtoReflect ¶
func (x *DynamicMetadataInput_PathSegment) ProtoReflect() protoreflect.Message
func (*DynamicMetadataInput_PathSegment) Reset ¶
func (x *DynamicMetadataInput_PathSegment) Reset()
func (*DynamicMetadataInput_PathSegment) SetKey ¶
func (x *DynamicMetadataInput_PathSegment) SetKey(v string)
func (*DynamicMetadataInput_PathSegment) String ¶
func (x *DynamicMetadataInput_PathSegment) String() string
func (*DynamicMetadataInput_PathSegment) WhichSegment ¶
func (x *DynamicMetadataInput_PathSegment) WhichSegment() case_DynamicMetadataInput_PathSegment_Segment
type DynamicMetadataInput_PathSegment_Key ¶
type DynamicMetadataInput_PathSegment_Key struct {
// If specified, use the key to retrieve the value in a Struct.
Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}
type DynamicMetadataInput_PathSegment_builder ¶
type DynamicMetadataInput_PathSegment_builder struct {
// Fields of oneof Segment:
// If specified, use the key to retrieve the value in a Struct.
Key *string
// contains filtered or unexported fields
}
func (DynamicMetadataInput_PathSegment_builder) Build ¶
func (b0 DynamicMetadataInput_PathSegment_builder) Build() *DynamicMetadataInput_PathSegment
type DynamicMetadataInput_builder ¶
type DynamicMetadataInput_builder struct {
// The filter name to retrieve the Struct from the Metadata.
Filter string
// The path to retrieve the Value from the Struct.
Path []*DynamicMetadataInput_PathSegment
// contains filtered or unexported fields
}
func (DynamicMetadataInput_builder) Build ¶
func (b0 DynamicMetadataInput_builder) Build() *DynamicMetadataInput
type FilterStateInput ¶
type FilterStateInput struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// contains filtered or unexported fields
}
Input that matches by a specific filter state key. The value of the provided filter state key will be the raw string representation of the filter state object [#extension: envoy.matching.inputs.filter_state]
func (*FilterStateInput) GetKey ¶
func (x *FilterStateInput) GetKey() string
func (*FilterStateInput) ProtoMessage ¶
func (*FilterStateInput) ProtoMessage()
func (*FilterStateInput) ProtoReflect ¶
func (x *FilterStateInput) ProtoReflect() protoreflect.Message
func (*FilterStateInput) Reset ¶
func (x *FilterStateInput) Reset()
func (*FilterStateInput) SetKey ¶
func (x *FilterStateInput) SetKey(v string)
func (*FilterStateInput) String ¶
func (x *FilterStateInput) String() string
type FilterStateInput_builder ¶
type FilterStateInput_builder struct {
Key string
// contains filtered or unexported fields
}
func (FilterStateInput_builder) Build ¶
func (b0 FilterStateInput_builder) Build() *FilterStateInput
type NetworkNamespaceInput ¶
type NetworkNamespaceInput struct {
// contains filtered or unexported fields
}
Input that matches by the network namespace of the listener address. This input returns the network namespace filepath that was used to create the listening socket. On Linux systems, this corresponds to the “network_namespace_filepath“ field in the :ref:`SocketAddress <envoy_v3_api_msg_config.core.v3.SocketAddress>` configuration.
.. note::
This input is only meaningful on Linux systems where network namespaces are supported. On other platforms, this input will always return an empty value.
[#extension: envoy.matching.inputs.network_namespace]
func (*NetworkNamespaceInput) ProtoMessage ¶
func (*NetworkNamespaceInput) ProtoMessage()
func (*NetworkNamespaceInput) ProtoReflect ¶
func (x *NetworkNamespaceInput) ProtoReflect() protoreflect.Message
func (*NetworkNamespaceInput) Reset ¶
func (x *NetworkNamespaceInput) Reset()
func (*NetworkNamespaceInput) String ¶
func (x *NetworkNamespaceInput) String() string
type NetworkNamespaceInput_builder ¶
type NetworkNamespaceInput_builder struct {
// contains filtered or unexported fields
}
func (NetworkNamespaceInput_builder) Build ¶
func (b0 NetworkNamespaceInput_builder) Build() *NetworkNamespaceInput
type ServerNameInput ¶
type ServerNameInput struct {
// contains filtered or unexported fields
}
Input that matches by the requested server name (e.g. SNI in TLS).
:ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides the requested server name based on SNI, when TLS protocol is detected. [#extension: envoy.matching.inputs.server_name]
func (*ServerNameInput) ProtoMessage ¶
func (*ServerNameInput) ProtoMessage()
func (*ServerNameInput) ProtoReflect ¶
func (x *ServerNameInput) ProtoReflect() protoreflect.Message
func (*ServerNameInput) Reset ¶
func (x *ServerNameInput) Reset()
func (*ServerNameInput) String ¶
func (x *ServerNameInput) String() string
type ServerNameInput_builder ¶
type ServerNameInput_builder struct {
// contains filtered or unexported fields
}
func (ServerNameInput_builder) Build ¶
func (b0 ServerNameInput_builder) Build() *ServerNameInput
type SourceIPInput ¶
type SourceIPInput struct {
// contains filtered or unexported fields
}
Specifies that matching should be performed by the source IP address. [#extension: envoy.matching.inputs.source_ip]
func (*SourceIPInput) ProtoMessage ¶
func (*SourceIPInput) ProtoMessage()
func (*SourceIPInput) ProtoReflect ¶
func (x *SourceIPInput) ProtoReflect() protoreflect.Message
func (*SourceIPInput) Reset ¶
func (x *SourceIPInput) Reset()
func (*SourceIPInput) String ¶
func (x *SourceIPInput) String() string
type SourceIPInput_builder ¶
type SourceIPInput_builder struct {
// contains filtered or unexported fields
}
func (SourceIPInput_builder) Build ¶
func (b0 SourceIPInput_builder) Build() *SourceIPInput
type SourcePortInput ¶
type SourcePortInput struct {
// contains filtered or unexported fields
}
Specifies that matching should be performed by the source port. [#extension: envoy.matching.inputs.source_port]
func (*SourcePortInput) ProtoMessage ¶
func (*SourcePortInput) ProtoMessage()
func (*SourcePortInput) ProtoReflect ¶
func (x *SourcePortInput) ProtoReflect() protoreflect.Message
func (*SourcePortInput) Reset ¶
func (x *SourcePortInput) Reset()
func (*SourcePortInput) String ¶
func (x *SourcePortInput) String() string
type SourcePortInput_builder ¶
type SourcePortInput_builder struct {
// contains filtered or unexported fields
}
func (SourcePortInput_builder) Build ¶
func (b0 SourcePortInput_builder) Build() *SourcePortInput
type SourceTypeInput ¶
type SourceTypeInput struct {
// contains filtered or unexported fields
}
Input that matches by the source IP type. Specifies the source IP match type. The values include:
* “local“ - matches a connection originating from the same host, [#extension: envoy.matching.inputs.source_type]
func (*SourceTypeInput) ProtoMessage ¶
func (*SourceTypeInput) ProtoMessage()
func (*SourceTypeInput) ProtoReflect ¶
func (x *SourceTypeInput) ProtoReflect() protoreflect.Message
func (*SourceTypeInput) Reset ¶
func (x *SourceTypeInput) Reset()
func (*SourceTypeInput) String ¶
func (x *SourceTypeInput) String() string
type SourceTypeInput_builder ¶
type SourceTypeInput_builder struct {
// contains filtered or unexported fields
}
func (SourceTypeInput_builder) Build ¶
func (b0 SourceTypeInput_builder) Build() *SourceTypeInput
type TransportProtocolInput ¶
type TransportProtocolInput struct {
// contains filtered or unexported fields
}
Input that matches by the transport protocol.
Suggested values include:
- “raw_buffer“ - default, used when no transport protocol is detected,
- “tls“ - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` when TLS protocol is detected.
[#extension: envoy.matching.inputs.transport_protocol]
func (*TransportProtocolInput) ProtoMessage ¶
func (*TransportProtocolInput) ProtoMessage()
func (*TransportProtocolInput) ProtoReflect ¶
func (x *TransportProtocolInput) ProtoReflect() protoreflect.Message
func (*TransportProtocolInput) Reset ¶
func (x *TransportProtocolInput) Reset()
func (*TransportProtocolInput) String ¶
func (x *TransportProtocolInput) String() string
type TransportProtocolInput_builder ¶
type TransportProtocolInput_builder struct {
// contains filtered or unexported fields
}
func (TransportProtocolInput_builder) Build ¶
func (b0 TransportProtocolInput_builder) Build() *TransportProtocolInput
Source Files
¶
- network_inputs.pb.go