Class FilterChainMatch.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<FilterChainMatch.Builder>
com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder>
io.envoyproxy.envoy.config.listener.v3.FilterChainMatch.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, FilterChainMatchOrBuilder, Cloneable
Enclosing class:
FilterChainMatch

public static final class FilterChainMatch.Builder extends com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder> 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. 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>`).
 7. Source type (e.g. any, local or external network).
 8. Source IP address.
 9. 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: 14]
 
Protobuf type envoy.config.listener.v3.FilterChainMatch
  • Field Details

    • bitField0_

      private int bitField0_
    • destinationPort_

      private com.google.protobuf.UInt32Value destinationPort_
    • destinationPortBuilder_

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.UInt32Value,com.google.protobuf.UInt32Value.Builder,com.google.protobuf.UInt32ValueOrBuilder> destinationPortBuilder_
    • prefixRanges_

      private List<CidrRange> prefixRanges_
    • prefixRangesBuilder_

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> prefixRangesBuilder_
    • addressSuffix_

      private Object addressSuffix_
    • suffixLen_

      private com.google.protobuf.UInt32Value suffixLen_
    • suffixLenBuilder_

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.UInt32Value,com.google.protobuf.UInt32Value.Builder,com.google.protobuf.UInt32ValueOrBuilder> suffixLenBuilder_
    • directSourcePrefixRanges_

      private List<CidrRange> directSourcePrefixRanges_
    • directSourcePrefixRangesBuilder_

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> directSourcePrefixRangesBuilder_
    • sourceType_

      private int sourceType_
    • sourcePrefixRanges_

      private List<CidrRange> sourcePrefixRanges_
    • sourcePrefixRangesBuilder_

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> sourcePrefixRangesBuilder_
    • sourcePorts_

      private com.google.protobuf.Internal.IntList sourcePorts_
    • serverNames_

      private com.google.protobuf.LazyStringArrayList serverNames_
    • transportProtocol_

      private Object transportProtocol_
    • applicationProtocols_

      private com.google.protobuf.LazyStringArrayList applicationProtocols_
  • Constructor Details

    • Builder

      private Builder()
    • Builder

      private Builder(com.google.protobuf.AbstractMessage.BuilderParent parent)
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder>
    • maybeForceBuilderInitialization

      private void maybeForceBuilderInitialization()
    • clear

      public FilterChainMatch.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder>
    • getDefaultInstanceForType

      public FilterChainMatch getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public FilterChainMatch build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public FilterChainMatch buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • buildPartialRepeatedFields

      private void buildPartialRepeatedFields(FilterChainMatch result)
    • buildPartial0

      private void buildPartial0(FilterChainMatch result)
    • mergeFrom

      public FilterChainMatch.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<FilterChainMatch.Builder>
    • mergeFrom

      public FilterChainMatch.Builder mergeFrom(FilterChainMatch other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<FilterChainMatch.Builder>
    • mergeFrom

      public FilterChainMatch.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<FilterChainMatch.Builder>
      Throws:
      IOException
    • hasDestinationPort

      public 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) = { ... }
      Specified by:
      hasDestinationPort in interface FilterChainMatchOrBuilder
      Returns:
      Whether the destinationPort field is set.
    • getDestinationPort

      public 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) = { ... }
      Specified by:
      getDestinationPort in interface FilterChainMatchOrBuilder
      Returns:
      The destinationPort.
    • setDestinationPort

      public FilterChainMatch.Builder setDestinationPort(com.google.protobuf.UInt32Value value)
       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) = { ... }
    • setDestinationPort

      public FilterChainMatch.Builder setDestinationPort(com.google.protobuf.UInt32Value.Builder builderForValue)
       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) = { ... }
    • mergeDestinationPort

      public FilterChainMatch.Builder mergeDestinationPort(com.google.protobuf.UInt32Value value)
       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) = { ... }
    • clearDestinationPort

      public FilterChainMatch.Builder clearDestinationPort()
       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) = { ... }
    • getDestinationPortBuilder

      public com.google.protobuf.UInt32Value.Builder getDestinationPortBuilder()
       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

      public 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) = { ... }
      Specified by:
      getDestinationPortOrBuilder in interface FilterChainMatchOrBuilder
    • getDestinationPortFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.UInt32Value,com.google.protobuf.UInt32Value.Builder,com.google.protobuf.UInt32ValueOrBuilder> getDestinationPortFieldBuilder()
       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) = { ... }
    • ensurePrefixRangesIsMutable

      private void ensurePrefixRangesIsMutable()
    • getPrefixRangesList

      public 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;
      Specified by:
      getPrefixRangesList in interface FilterChainMatchOrBuilder
    • getPrefixRangesCount

      public 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;
      Specified by:
      getPrefixRangesCount in interface FilterChainMatchOrBuilder
    • getPrefixRanges

      public 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;
      Specified by:
      getPrefixRanges in interface FilterChainMatchOrBuilder
    • setPrefixRanges

      public FilterChainMatch.Builder setPrefixRanges(int index, CidrRange value)
       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;
    • setPrefixRanges

      public FilterChainMatch.Builder setPrefixRanges(int index, CidrRange.Builder builderForValue)
       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;
    • addPrefixRanges

      public FilterChainMatch.Builder addPrefixRanges(CidrRange value)
       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;
    • addPrefixRanges

      public FilterChainMatch.Builder addPrefixRanges(int index, CidrRange value)
       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;
    • addPrefixRanges

      public FilterChainMatch.Builder addPrefixRanges(CidrRange.Builder builderForValue)
       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;
    • addPrefixRanges

      public FilterChainMatch.Builder addPrefixRanges(int index, CidrRange.Builder builderForValue)
       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;
    • addAllPrefixRanges

      public FilterChainMatch.Builder addAllPrefixRanges(Iterable<? extends CidrRange> values)
       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;
    • clearPrefixRanges

      public FilterChainMatch.Builder clearPrefixRanges()
       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;
    • removePrefixRanges

      public FilterChainMatch.Builder removePrefixRanges(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;
    • getPrefixRangesBuilder

      public CidrRange.Builder getPrefixRangesBuilder(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

      public 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;
      Specified by:
      getPrefixRangesOrBuilder in interface FilterChainMatchOrBuilder
    • getPrefixRangesOrBuilderList

      public 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;
      Specified by:
      getPrefixRangesOrBuilderList in interface FilterChainMatchOrBuilder
    • addPrefixRangesBuilder

      public CidrRange.Builder addPrefixRangesBuilder()
       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;
    • addPrefixRangesBuilder

      public CidrRange.Builder addPrefixRangesBuilder(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;
    • getPrefixRangesBuilderList

      public List<CidrRange.Builder> getPrefixRangesBuilderList()
       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;
    • getPrefixRangesFieldBuilder

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> getPrefixRangesFieldBuilder()
    • getAddressSuffix

      public 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;
      Specified by:
      getAddressSuffix in interface FilterChainMatchOrBuilder
      Returns:
      The addressSuffix.
    • getAddressSuffixBytes

      public 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;
      Specified by:
      getAddressSuffixBytes in interface FilterChainMatchOrBuilder
      Returns:
      The bytes for addressSuffix.
    • setAddressSuffix

      public FilterChainMatch.Builder setAddressSuffix(String value)
       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;
      Parameters:
      value - The addressSuffix to set.
      Returns:
      This builder for chaining.
    • clearAddressSuffix

      public FilterChainMatch.Builder clearAddressSuffix()
       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;
      Returns:
      This builder for chaining.
    • setAddressSuffixBytes

      public FilterChainMatch.Builder setAddressSuffixBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for addressSuffix to set.
      Returns:
      This builder for chaining.
    • hasSuffixLen

      public boolean hasSuffixLen()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
      Specified by:
      hasSuffixLen in interface FilterChainMatchOrBuilder
      Returns:
      Whether the suffixLen field is set.
    • getSuffixLen

      public com.google.protobuf.UInt32Value getSuffixLen()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
      Specified by:
      getSuffixLen in interface FilterChainMatchOrBuilder
      Returns:
      The suffixLen.
    • setSuffixLen

      public FilterChainMatch.Builder setSuffixLen(com.google.protobuf.UInt32Value value)
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • setSuffixLen

      public FilterChainMatch.Builder setSuffixLen(com.google.protobuf.UInt32Value.Builder builderForValue)
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • mergeSuffixLen

      public FilterChainMatch.Builder mergeSuffixLen(com.google.protobuf.UInt32Value value)
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • clearSuffixLen

      public FilterChainMatch.Builder clearSuffixLen()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • getSuffixLenBuilder

      public com.google.protobuf.UInt32Value.Builder getSuffixLenBuilder()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • getSuffixLenOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getSuffixLenOrBuilder()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
      Specified by:
      getSuffixLenOrBuilder in interface FilterChainMatchOrBuilder
    • getSuffixLenFieldBuilder

      private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.UInt32Value,com.google.protobuf.UInt32Value.Builder,com.google.protobuf.UInt32ValueOrBuilder> getSuffixLenFieldBuilder()
       [#not-implemented-hide:]
       
      .google.protobuf.UInt32Value suffix_len = 5;
    • ensureDirectSourcePrefixRangesIsMutable

      private void ensureDirectSourcePrefixRangesIsMutable()
    • getDirectSourcePrefixRangesList

      public List<CidrRange> getDirectSourcePrefixRangesList()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
      Specified by:
      getDirectSourcePrefixRangesList in interface FilterChainMatchOrBuilder
    • getDirectSourcePrefixRangesCount

      public int getDirectSourcePrefixRangesCount()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
      Specified by:
      getDirectSourcePrefixRangesCount in interface FilterChainMatchOrBuilder
    • getDirectSourcePrefixRanges

      public CidrRange getDirectSourcePrefixRanges(int index)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
      Specified by:
      getDirectSourcePrefixRanges in interface FilterChainMatchOrBuilder
    • setDirectSourcePrefixRanges

      public FilterChainMatch.Builder setDirectSourcePrefixRanges(int index, CidrRange value)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • setDirectSourcePrefixRanges

      public FilterChainMatch.Builder setDirectSourcePrefixRanges(int index, CidrRange.Builder builderForValue)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addDirectSourcePrefixRanges

      public FilterChainMatch.Builder addDirectSourcePrefixRanges(CidrRange value)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addDirectSourcePrefixRanges

      public FilterChainMatch.Builder addDirectSourcePrefixRanges(int index, CidrRange value)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addDirectSourcePrefixRanges

      public FilterChainMatch.Builder addDirectSourcePrefixRanges(CidrRange.Builder builderForValue)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addDirectSourcePrefixRanges

      public FilterChainMatch.Builder addDirectSourcePrefixRanges(int index, CidrRange.Builder builderForValue)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addAllDirectSourcePrefixRanges

      public FilterChainMatch.Builder addAllDirectSourcePrefixRanges(Iterable<? extends CidrRange> values)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • clearDirectSourcePrefixRanges

      public FilterChainMatch.Builder clearDirectSourcePrefixRanges()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • removeDirectSourcePrefixRanges

      public FilterChainMatch.Builder removeDirectSourcePrefixRanges(int index)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • getDirectSourcePrefixRangesBuilder

      public CidrRange.Builder getDirectSourcePrefixRangesBuilder(int index)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • getDirectSourcePrefixRangesOrBuilder

      public CidrRangeOrBuilder getDirectSourcePrefixRangesOrBuilder(int index)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
      Specified by:
      getDirectSourcePrefixRangesOrBuilder in interface FilterChainMatchOrBuilder
    • getDirectSourcePrefixRangesOrBuilderList

      public List<? extends CidrRangeOrBuilder> getDirectSourcePrefixRangesOrBuilderList()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
      Specified by:
      getDirectSourcePrefixRangesOrBuilderList in interface FilterChainMatchOrBuilder
    • addDirectSourcePrefixRangesBuilder

      public CidrRange.Builder addDirectSourcePrefixRangesBuilder()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • addDirectSourcePrefixRangesBuilder

      public CidrRange.Builder addDirectSourcePrefixRangesBuilder(int index)
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • getDirectSourcePrefixRangesBuilderList

      public List<CidrRange.Builder> getDirectSourcePrefixRangesBuilderList()
       The criteria is satisfied if the directly connected 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 directly connected source IP address is ignored.
       
      repeated .envoy.config.core.v3.CidrRange direct_source_prefix_ranges = 13;
    • getDirectSourcePrefixRangesFieldBuilder

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> getDirectSourcePrefixRangesFieldBuilder()
    • getSourceTypeValue

      public 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) = { ... }
      Specified by:
      getSourceTypeValue in interface FilterChainMatchOrBuilder
      Returns:
      The enum numeric value on the wire for sourceType.
    • setSourceTypeValue

      public FilterChainMatch.Builder setSourceTypeValue(int value)
       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) = { ... }
      Parameters:
      value - The enum numeric value on the wire for sourceType to set.
      Returns:
      This builder for chaining.
    • getSourceType

      public 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) = { ... }
      Specified by:
      getSourceType in interface FilterChainMatchOrBuilder
      Returns:
      The sourceType.
    • setSourceType

       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) = { ... }
      Parameters:
      value - The sourceType to set.
      Returns:
      This builder for chaining.
    • clearSourceType

      public FilterChainMatch.Builder clearSourceType()
       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) = { ... }
      Returns:
      This builder for chaining.
    • ensureSourcePrefixRangesIsMutable

      private void ensureSourcePrefixRangesIsMutable()
    • getSourcePrefixRangesList

      public 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;
      Specified by:
      getSourcePrefixRangesList in interface FilterChainMatchOrBuilder
    • getSourcePrefixRangesCount

      public 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;
      Specified by:
      getSourcePrefixRangesCount in interface FilterChainMatchOrBuilder
    • getSourcePrefixRanges

      public 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;
      Specified by:
      getSourcePrefixRanges in interface FilterChainMatchOrBuilder
    • setSourcePrefixRanges

      public FilterChainMatch.Builder setSourcePrefixRanges(int index, CidrRange value)
       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;
    • setSourcePrefixRanges

      public FilterChainMatch.Builder setSourcePrefixRanges(int index, CidrRange.Builder builderForValue)
       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;
    • addSourcePrefixRanges

      public FilterChainMatch.Builder addSourcePrefixRanges(CidrRange value)
       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;
    • addSourcePrefixRanges

      public FilterChainMatch.Builder addSourcePrefixRanges(int index, CidrRange value)
       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;
    • addSourcePrefixRanges

      public FilterChainMatch.Builder addSourcePrefixRanges(CidrRange.Builder builderForValue)
       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;
    • addSourcePrefixRanges

      public FilterChainMatch.Builder addSourcePrefixRanges(int index, CidrRange.Builder builderForValue)
       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;
    • addAllSourcePrefixRanges

      public FilterChainMatch.Builder addAllSourcePrefixRanges(Iterable<? extends CidrRange> values)
       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;
    • clearSourcePrefixRanges

      public FilterChainMatch.Builder clearSourcePrefixRanges()
       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;
    • removeSourcePrefixRanges

      public FilterChainMatch.Builder removeSourcePrefixRanges(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;
    • getSourcePrefixRangesBuilder

      public CidrRange.Builder getSourcePrefixRangesBuilder(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

      public 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;
      Specified by:
      getSourcePrefixRangesOrBuilder in interface FilterChainMatchOrBuilder
    • getSourcePrefixRangesOrBuilderList

      public 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;
      Specified by:
      getSourcePrefixRangesOrBuilderList in interface FilterChainMatchOrBuilder
    • addSourcePrefixRangesBuilder

      public CidrRange.Builder addSourcePrefixRangesBuilder()
       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;
    • addSourcePrefixRangesBuilder

      public CidrRange.Builder addSourcePrefixRangesBuilder(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;
    • getSourcePrefixRangesBuilderList

      public List<CidrRange.Builder> getSourcePrefixRangesBuilderList()
       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;
    • getSourcePrefixRangesFieldBuilder

      private com.google.protobuf.RepeatedFieldBuilder<CidrRange,CidrRange.Builder,CidrRangeOrBuilder> getSourcePrefixRangesFieldBuilder()
    • ensureSourcePortsIsMutable

      private void ensureSourcePortsIsMutable()
    • getSourcePortsList

      public 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) = { ... }
      Specified by:
      getSourcePortsList in interface FilterChainMatchOrBuilder
      Returns:
      A list containing the sourcePorts.
    • getSourcePortsCount

      public 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) = { ... }
      Specified by:
      getSourcePortsCount in interface FilterChainMatchOrBuilder
      Returns:
      The count of sourcePorts.
    • getSourcePorts

      public 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) = { ... }
      Specified by:
      getSourcePorts in interface FilterChainMatchOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The sourcePorts at the given index.
    • setSourcePorts

      public FilterChainMatch.Builder setSourcePorts(int index, int value)
       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) = { ... }
      Parameters:
      index - The index to set the value at.
      value - The sourcePorts to set.
      Returns:
      This builder for chaining.
    • addSourcePorts

      public FilterChainMatch.Builder addSourcePorts(int value)
       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) = { ... }
      Parameters:
      value - The sourcePorts to add.
      Returns:
      This builder for chaining.
    • addAllSourcePorts

      public FilterChainMatch.Builder addAllSourcePorts(Iterable<? extends Integer> values)
       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) = { ... }
      Parameters:
      values - The sourcePorts to add.
      Returns:
      This builder for chaining.
    • clearSourcePorts

      public FilterChainMatch.Builder clearSourcePorts()
       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) = { ... }
      Returns:
      This builder for chaining.
    • ensureServerNamesIsMutable

      private void ensureServerNamesIsMutable()
    • getServerNamesList

      public 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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Specified by:
      getServerNamesList in interface FilterChainMatchOrBuilder
      Returns:
      A list containing the serverNames.
    • getServerNamesCount

      public 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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Specified by:
      getServerNamesCount in interface FilterChainMatchOrBuilder
      Returns:
      The count of serverNames.
    • getServerNames

      public 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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Specified by:
      getServerNames in interface FilterChainMatchOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The serverNames at the given index.
    • getServerNamesBytes

      public 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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Specified by:
      getServerNamesBytes in interface FilterChainMatchOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the serverNames at the given index.
    • setServerNames

      public FilterChainMatch.Builder setServerNames(int index, String value)
       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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Parameters:
      index - The index to set the value at.
      value - The serverNames to set.
      Returns:
      This builder for chaining.
    • addServerNames

      public FilterChainMatch.Builder addServerNames(String value)
       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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Parameters:
      value - The serverNames to add.
      Returns:
      This builder for chaining.
    • addAllServerNames

      public FilterChainMatch.Builder addAllServerNames(Iterable<String> values)
       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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Parameters:
      values - The serverNames to add.
      Returns:
      This builder for chaining.
    • clearServerNames

      public FilterChainMatch.Builder clearServerNames()
       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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Returns:
      This builder for chaining.
    • addServerNamesBytes

      public FilterChainMatch.Builder addServerNamesBytes(com.google.protobuf.ByteString value)
       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.
       The value ``*`` is also not supported, and ``server_names`` should be omitted instead.
      
       .. attention::
      
       See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
       information.
       
      repeated string server_names = 11;
      Parameters:
      value - The bytes of the serverNames to add.
      Returns:
      This builder for chaining.
    • getTransportProtocol

      public 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;
      Specified by:
      getTransportProtocol in interface FilterChainMatchOrBuilder
      Returns:
      The transportProtocol.
    • getTransportProtocolBytes

      public 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;
      Specified by:
      getTransportProtocolBytes in interface FilterChainMatchOrBuilder
      Returns:
      The bytes for transportProtocol.
    • setTransportProtocol

      public FilterChainMatch.Builder setTransportProtocol(String value)
       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;
      Parameters:
      value - The transportProtocol to set.
      Returns:
      This builder for chaining.
    • clearTransportProtocol

      public FilterChainMatch.Builder clearTransportProtocol()
       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;
      Returns:
      This builder for chaining.
    • setTransportProtocolBytes

      public FilterChainMatch.Builder setTransportProtocolBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for transportProtocol to set.
      Returns:
      This builder for chaining.
    • ensureApplicationProtocolsIsMutable

      private void ensureApplicationProtocolsIsMutable()
    • getApplicationProtocolsList

      public 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;
      Specified by:
      getApplicationProtocolsList in interface FilterChainMatchOrBuilder
      Returns:
      A list containing the applicationProtocols.
    • getApplicationProtocolsCount

      public 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;
      Specified by:
      getApplicationProtocolsCount in interface FilterChainMatchOrBuilder
      Returns:
      The count of applicationProtocols.
    • getApplicationProtocols

      public 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;
      Specified by:
      getApplicationProtocols in interface FilterChainMatchOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The applicationProtocols at the given index.
    • getApplicationProtocolsBytes

      public 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;
      Specified by:
      getApplicationProtocolsBytes in interface FilterChainMatchOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the applicationProtocols at the given index.
    • setApplicationProtocols

      public FilterChainMatch.Builder setApplicationProtocols(int index, String value)
       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;
      Parameters:
      index - The index to set the value at.
      value - The applicationProtocols to set.
      Returns:
      This builder for chaining.
    • addApplicationProtocols

      public FilterChainMatch.Builder addApplicationProtocols(String value)
       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;
      Parameters:
      value - The applicationProtocols to add.
      Returns:
      This builder for chaining.
    • addAllApplicationProtocols

      public FilterChainMatch.Builder addAllApplicationProtocols(Iterable<String> values)
       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;
      Parameters:
      values - The applicationProtocols to add.
      Returns:
      This builder for chaining.
    • clearApplicationProtocols

      public FilterChainMatch.Builder clearApplicationProtocols()
       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;
      Returns:
      This builder for chaining.
    • addApplicationProtocolsBytes

      public FilterChainMatch.Builder addApplicationProtocolsBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes of the applicationProtocols to add.
      Returns:
      This builder for chaining.