public final class FilterChainMatch extends com.google.protobuf.GeneratedMessageV3 implements FilterChainMatchOrBuilder
Specifies the match criteria for selecting a specific filter chain for a listener. In order for a filter chain to be selected, *ALL* of its criteria must be fulfilled by the incoming connection, properties of which are set by the networking stack and/or listener filters. The following order applies: 1. Destination port. 2. Destination IP address. 3. Server name (e.g. SNI for TLS protocol), 4. Transport protocol. 5. Application protocols (e.g. ALPN for TLS protocol). 6. Source type (e.g. any, local or external network). 7. Source IP address. 8. Source port. For criteria that allow ranges or wildcards, the most specific value in any of the configured filter chains that matches the incoming connection is going to be used (e.g. for SNI ``www.example.com`` the most specific match would be ``www.example.com``, then ``*.example.com``, then ``*.com``, then any filter chain without ``server_names`` requirements). A different way to reason about the filter chain matches: Suppose there exists N filter chains. Prune the filter chain set using the above 8 steps. In each step, filter chains which most specifically matches the attributes continue to the next step. The listener guarantees at most 1 filter chain is left after all of the steps. Example: For destination port, filter chains specifying the destination port of incoming traffic are the most specific match. If none of the filter chains specifies the exact destination port, the filter chains which do not specify ports are the most specific match. Filter chains specifying the wrong port can never be the most specific match. [#comment: Implemented rules are kept in the preference order, with deprecated fields listed at the end, because that's how we want to list them in the docs. [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules] [#next-free-field: 13]Protobuf type
envoy.config.listener.v3.FilterChainMatch| Modifier and Type | Class and Description |
|---|---|
static class |
FilterChainMatch.Builder
Specifies the match criteria for selecting a specific filter chain for a
listener.
|
static class |
FilterChainMatch.ConnectionSourceType
Protobuf enum
envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter| Modifier and Type | Field and Description |
|---|---|
static int |
ADDRESS_SUFFIX_FIELD_NUMBER |
static int |
APPLICATION_PROTOCOLS_FIELD_NUMBER |
static int |
DESTINATION_PORT_FIELD_NUMBER |
static int |
PREFIX_RANGES_FIELD_NUMBER |
static int |
SERVER_NAMES_FIELD_NUMBER |
static int |
SOURCE_PORTS_FIELD_NUMBER |
static int |
SOURCE_PREFIX_RANGES_FIELD_NUMBER |
static int |
SOURCE_TYPE_FIELD_NUMBER |
static int |
SUFFIX_LEN_FIELD_NUMBER |
static int |
TRANSPORT_PROTOCOL_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
String |
getAddressSuffix()
If non-empty, an IP address and suffix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
com.google.protobuf.ByteString |
getAddressSuffixBytes()
If non-empty, an IP address and suffix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
String |
getApplicationProtocols(int index)
If non-empty, a list of application protocols (e.g.
|
com.google.protobuf.ByteString |
getApplicationProtocolsBytes(int index)
If non-empty, a list of application protocols (e.g.
|
int |
getApplicationProtocolsCount()
If non-empty, a list of application protocols (e.g.
|
com.google.protobuf.ProtocolStringList |
getApplicationProtocolsList()
If non-empty, a list of application protocols (e.g.
|
static FilterChainMatch |
getDefaultInstance() |
FilterChainMatch |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.UInt32Value |
getDestinationPort()
Optional destination port to consider when use_original_dst is set on the
listener in determining a filter chain match.
|
com.google.protobuf.UInt32ValueOrBuilder |
getDestinationPortOrBuilder()
Optional destination port to consider when use_original_dst is set on the
listener in determining a filter chain match.
|
com.google.protobuf.Parser<FilterChainMatch> |
getParserForType() |
CidrRange |
getPrefixRanges(int index)
If non-empty, an IP address and prefix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
int |
getPrefixRangesCount()
If non-empty, an IP address and prefix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
List<CidrRange> |
getPrefixRangesList()
If non-empty, an IP address and prefix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
CidrRangeOrBuilder |
getPrefixRangesOrBuilder(int index)
If non-empty, an IP address and prefix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
List<? extends CidrRangeOrBuilder> |
getPrefixRangesOrBuilderList()
If non-empty, an IP address and prefix length to match addresses when the
listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
|
int |
getSerializedSize() |
String |
getServerNames(int index)
If non-empty, a list of server names (e.g.
|
com.google.protobuf.ByteString |
getServerNamesBytes(int index)
If non-empty, a list of server names (e.g.
|
int |
getServerNamesCount()
If non-empty, a list of server names (e.g.
|
com.google.protobuf.ProtocolStringList |
getServerNamesList()
If non-empty, a list of server names (e.g.
|
int |
getSourcePorts(int index)
The criteria is satisfied if the source port of the downstream connection
is contained in at least one of the specified ports.
|
int |
getSourcePortsCount()
The criteria is satisfied if the source port of the downstream connection
is contained in at least one of the specified ports.
|
List<Integer> |
getSourcePortsList()
The criteria is satisfied if the source port of the downstream connection
is contained in at least one of the specified ports.
|
CidrRange |
getSourcePrefixRanges(int index)
The criteria is satisfied if the source IP address of the downstream
connection is contained in at least one of the specified subnets.
|
int |
getSourcePrefixRangesCount()
The criteria is satisfied if the source IP address of the downstream
connection is contained in at least one of the specified subnets.
|
List<CidrRange> |
getSourcePrefixRangesList()
The criteria is satisfied if the source IP address of the downstream
connection is contained in at least one of the specified subnets.
|
CidrRangeOrBuilder |
getSourcePrefixRangesOrBuilder(int index)
The criteria is satisfied if the source IP address of the downstream
connection is contained in at least one of the specified subnets.
|
List<? extends CidrRangeOrBuilder> |
getSourcePrefixRangesOrBuilderList()
The criteria is satisfied if the source IP address of the downstream
connection is contained in at least one of the specified subnets.
|
FilterChainMatch.ConnectionSourceType |
getSourceType()
Specifies the connection source IP match type.
|
int |
getSourceTypeValue()
Specifies the connection source IP match type.
|
com.google.protobuf.UInt32Value |
getSuffixLen()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5; |
com.google.protobuf.UInt32ValueOrBuilder |
getSuffixLenOrBuilder()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5; |
String |
getTransportProtocol()
If non-empty, a transport protocol to consider when determining a filter chain match.
|
com.google.protobuf.ByteString |
getTransportProtocolBytes()
If non-empty, a transport protocol to consider when determining a filter chain match.
|
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
boolean |
hasDestinationPort()
Optional destination port to consider when use_original_dst is set on the
listener in determining a filter chain match.
|
int |
hashCode() |
boolean |
hasSuffixLen()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5; |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static FilterChainMatch.Builder |
newBuilder() |
static FilterChainMatch.Builder |
newBuilder(FilterChainMatch prototype) |
FilterChainMatch.Builder |
newBuilderForType() |
protected FilterChainMatch.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static FilterChainMatch |
parseDelimitedFrom(InputStream input) |
static FilterChainMatch |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static FilterChainMatch |
parseFrom(byte[] data) |
static FilterChainMatch |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static FilterChainMatch |
parseFrom(ByteBuffer data) |
static FilterChainMatch |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static FilterChainMatch |
parseFrom(com.google.protobuf.ByteString data) |
static FilterChainMatch |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static FilterChainMatch |
parseFrom(com.google.protobuf.CodedInputStream input) |
static FilterChainMatch |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static FilterChainMatch |
parseFrom(InputStream input) |
static FilterChainMatch |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<FilterChainMatch> |
parser() |
FilterChainMatch.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int DESTINATION_PORT_FIELD_NUMBER
public static final int PREFIX_RANGES_FIELD_NUMBER
public static final int ADDRESS_SUFFIX_FIELD_NUMBER
public static final int SUFFIX_LEN_FIELD_NUMBER
public static final int SOURCE_TYPE_FIELD_NUMBER
public static final int SOURCE_PREFIX_RANGES_FIELD_NUMBER
public static final int SOURCE_PORTS_FIELD_NUMBER
public static final int SERVER_NAMES_FIELD_NUMBER
public static final int TRANSPORT_PROTOCOL_FIELD_NUMBER
public static final int APPLICATION_PROTOCOLS_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance in class com.google.protobuf.GeneratedMessageV3public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public boolean hasDestinationPort()
Optional destination port to consider when use_original_dst is set on the listener in determining a filter chain match.
.google.protobuf.UInt32Value destination_port = 8 [(.validate.rules) = { ... }hasDestinationPort in interface FilterChainMatchOrBuilderpublic com.google.protobuf.UInt32Value getDestinationPort()
Optional destination port to consider when use_original_dst is set on the listener in determining a filter chain match.
.google.protobuf.UInt32Value destination_port = 8 [(.validate.rules) = { ... }getDestinationPort in interface FilterChainMatchOrBuilderpublic com.google.protobuf.UInt32ValueOrBuilder getDestinationPortOrBuilder()
Optional destination port to consider when use_original_dst is set on the listener in determining a filter chain match.
.google.protobuf.UInt32Value destination_port = 8 [(.validate.rules) = { ... }getDestinationPortOrBuilder in interface FilterChainMatchOrBuilderpublic List<CidrRange> getPrefixRangesList()
If non-empty, an IP address and prefix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
repeated .envoy.config.core.v3.CidrRange prefix_ranges = 3;getPrefixRangesList in interface FilterChainMatchOrBuilderpublic List<? extends CidrRangeOrBuilder> getPrefixRangesOrBuilderList()
If non-empty, an IP address and prefix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
repeated .envoy.config.core.v3.CidrRange prefix_ranges = 3;getPrefixRangesOrBuilderList in interface FilterChainMatchOrBuilderpublic int getPrefixRangesCount()
If non-empty, an IP address and prefix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
repeated .envoy.config.core.v3.CidrRange prefix_ranges = 3;getPrefixRangesCount in interface FilterChainMatchOrBuilderpublic CidrRange getPrefixRanges(int index)
If non-empty, an IP address and prefix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
repeated .envoy.config.core.v3.CidrRange prefix_ranges = 3;getPrefixRanges in interface FilterChainMatchOrBuilderpublic CidrRangeOrBuilder getPrefixRangesOrBuilder(int index)
If non-empty, an IP address and prefix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
repeated .envoy.config.core.v3.CidrRange prefix_ranges = 3;getPrefixRangesOrBuilder in interface FilterChainMatchOrBuilderpublic String getAddressSuffix()
If non-empty, an IP address and suffix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified. [#not-implemented-hide:]
string address_suffix = 4;getAddressSuffix in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ByteString getAddressSuffixBytes()
If non-empty, an IP address and suffix length to match addresses when the listener is bound to 0.0.0.0/:: or when use_original_dst is specified. [#not-implemented-hide:]
string address_suffix = 4;getAddressSuffixBytes in interface FilterChainMatchOrBuilderpublic boolean hasSuffixLen()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5;hasSuffixLen in interface FilterChainMatchOrBuilderpublic com.google.protobuf.UInt32Value getSuffixLen()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5;getSuffixLen in interface FilterChainMatchOrBuilderpublic com.google.protobuf.UInt32ValueOrBuilder getSuffixLenOrBuilder()
[#not-implemented-hide:]
.google.protobuf.UInt32Value suffix_len = 5;getSuffixLenOrBuilder in interface FilterChainMatchOrBuilderpublic int getSourceTypeValue()
Specifies the connection source IP match type. Can be any, local or external network.
.envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType source_type = 12 [(.validate.rules) = { ... }getSourceTypeValue in interface FilterChainMatchOrBuilderpublic FilterChainMatch.ConnectionSourceType getSourceType()
Specifies the connection source IP match type. Can be any, local or external network.
.envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType source_type = 12 [(.validate.rules) = { ... }getSourceType in interface FilterChainMatchOrBuilderpublic List<CidrRange> getSourcePrefixRangesList()
The criteria is satisfied if the source IP address of the downstream connection is contained in at least one of the specified subnets. If the parameter is not specified or the list is empty, the source IP address is ignored.
repeated .envoy.config.core.v3.CidrRange source_prefix_ranges = 6;getSourcePrefixRangesList in interface FilterChainMatchOrBuilderpublic List<? extends CidrRangeOrBuilder> getSourcePrefixRangesOrBuilderList()
The criteria is satisfied if the source IP address of the downstream connection is contained in at least one of the specified subnets. If the parameter is not specified or the list is empty, the source IP address is ignored.
repeated .envoy.config.core.v3.CidrRange source_prefix_ranges = 6;getSourcePrefixRangesOrBuilderList in interface FilterChainMatchOrBuilderpublic int getSourcePrefixRangesCount()
The criteria is satisfied if the source IP address of the downstream connection is contained in at least one of the specified subnets. If the parameter is not specified or the list is empty, the source IP address is ignored.
repeated .envoy.config.core.v3.CidrRange source_prefix_ranges = 6;getSourcePrefixRangesCount in interface FilterChainMatchOrBuilderpublic CidrRange getSourcePrefixRanges(int index)
The criteria is satisfied if the source IP address of the downstream connection is contained in at least one of the specified subnets. If the parameter is not specified or the list is empty, the source IP address is ignored.
repeated .envoy.config.core.v3.CidrRange source_prefix_ranges = 6;getSourcePrefixRanges in interface FilterChainMatchOrBuilderpublic CidrRangeOrBuilder getSourcePrefixRangesOrBuilder(int index)
The criteria is satisfied if the source IP address of the downstream connection is contained in at least one of the specified subnets. If the parameter is not specified or the list is empty, the source IP address is ignored.
repeated .envoy.config.core.v3.CidrRange source_prefix_ranges = 6;getSourcePrefixRangesOrBuilder in interface FilterChainMatchOrBuilderpublic List<Integer> getSourcePortsList()
The criteria is satisfied if the source port of the downstream connection is contained in at least one of the specified ports. If the parameter is not specified, the source port is ignored.
repeated uint32 source_ports = 7 [(.validate.rules) = { ... }getSourcePortsList in interface FilterChainMatchOrBuilderpublic int getSourcePortsCount()
The criteria is satisfied if the source port of the downstream connection is contained in at least one of the specified ports. If the parameter is not specified, the source port is ignored.
repeated uint32 source_ports = 7 [(.validate.rules) = { ... }getSourcePortsCount in interface FilterChainMatchOrBuilderpublic int getSourcePorts(int index)
The criteria is satisfied if the source port of the downstream connection is contained in at least one of the specified ports. If the parameter is not specified, the source port is ignored.
repeated uint32 source_ports = 7 [(.validate.rules) = { ... }getSourcePorts in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ProtocolStringList getServerNamesList()
If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the server names of a new connection, when detected by one of the listener filters. The server name will be matched against all wildcard domains, i.e. ``www.example.com`` will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``. Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid. .. attention:: See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more information.
repeated string server_names = 11;getServerNamesList in interface FilterChainMatchOrBuilderpublic int getServerNamesCount()
If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the server names of a new connection, when detected by one of the listener filters. The server name will be matched against all wildcard domains, i.e. ``www.example.com`` will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``. Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid. .. attention:: See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more information.
repeated string server_names = 11;getServerNamesCount in interface FilterChainMatchOrBuilderpublic String getServerNames(int index)
If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the server names of a new connection, when detected by one of the listener filters. The server name will be matched against all wildcard domains, i.e. ``www.example.com`` will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``. Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid. .. attention:: See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more information.
repeated string server_names = 11;getServerNames in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ByteString getServerNamesBytes(int index)
If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the server names of a new connection, when detected by one of the listener filters. The server name will be matched against all wildcard domains, i.e. ``www.example.com`` will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``. Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid. .. attention:: See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more information.
repeated string server_names = 11;getServerNamesBytes in interface FilterChainMatchOrBuilderpublic String getTransportProtocol()
If non-empty, a transport protocol to consider when determining a filter chain match. This value will be compared against the transport protocol of a new connection, when it's detected by one of the listener filters. 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.
string transport_protocol = 9;getTransportProtocol in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ByteString getTransportProtocolBytes()
If non-empty, a transport protocol to consider when determining a filter chain match. This value will be compared against the transport protocol of a new connection, when it's detected by one of the listener filters. 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.
string transport_protocol = 9;getTransportProtocolBytes in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ProtocolStringList getApplicationProtocolsList()
If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the application protocols of a new connection, when detected by one of the listener filters. Suggested values include: * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`, * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` .. attention:: Currently, only :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.
repeated string application_protocols = 10;getApplicationProtocolsList in interface FilterChainMatchOrBuilderpublic int getApplicationProtocolsCount()
If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the application protocols of a new connection, when detected by one of the listener filters. Suggested values include: * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`, * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` .. attention:: Currently, only :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.
repeated string application_protocols = 10;getApplicationProtocolsCount in interface FilterChainMatchOrBuilderpublic String getApplicationProtocols(int index)
If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the application protocols of a new connection, when detected by one of the listener filters. Suggested values include: * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`, * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` .. attention:: Currently, only :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.
repeated string application_protocols = 10;getApplicationProtocols in interface FilterChainMatchOrBuilderpublic com.google.protobuf.ByteString getApplicationProtocolsBytes(int index)
If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when determining a filter chain match. Those values will be compared against the application protocols of a new connection, when detected by one of the listener filters. Suggested values include: * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`, * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>` .. attention:: Currently, only :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.
repeated string application_protocols = 10;getApplicationProtocolsBytes in interface FilterChainMatchOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static FilterChainMatch parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static FilterChainMatch parseFrom(InputStream input) throws IOException
IOExceptionpublic static FilterChainMatch parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static FilterChainMatch parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static FilterChainMatch parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static FilterChainMatch parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static FilterChainMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic FilterChainMatch.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static FilterChainMatch.Builder newBuilder()
public static FilterChainMatch.Builder newBuilder(FilterChainMatch prototype)
public FilterChainMatch.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected FilterChainMatch.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static FilterChainMatch getDefaultInstance()
public static com.google.protobuf.Parser<FilterChainMatch> parser()
public com.google.protobuf.Parser<FilterChainMatch> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public FilterChainMatch getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2021 The Envoy Project. All rights reserved.