Class FilterChain

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.listener.v3.FilterChain
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, FilterChainOrBuilder, Serializable

public final class FilterChain extends com.google.protobuf.GeneratedMessage implements FilterChainOrBuilder
 A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
 various other parameters.
 [#next-free-field: 10]
 
Protobuf type envoy.config.listener.v3.FilterChain
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • FILTER_CHAIN_MATCH_FIELD_NUMBER

      public static final int FILTER_CHAIN_MATCH_FIELD_NUMBER
      See Also:
    • filterChainMatch_

      private FilterChainMatch filterChainMatch_
    • FILTERS_FIELD_NUMBER

      public static final int FILTERS_FIELD_NUMBER
      See Also:
    • filters_

      private List<Filter> filters_
    • USE_PROXY_PROTO_FIELD_NUMBER

      public static final int USE_PROXY_PROTO_FIELD_NUMBER
      See Also:
    • useProxyProto_

      private com.google.protobuf.BoolValue useProxyProto_
    • METADATA_FIELD_NUMBER

      public static final int METADATA_FIELD_NUMBER
      See Also:
    • metadata_

      private Metadata metadata_
    • TRANSPORT_SOCKET_FIELD_NUMBER

      public static final int TRANSPORT_SOCKET_FIELD_NUMBER
      See Also:
    • transportSocket_

      private TransportSocket transportSocket_
    • TRANSPORT_SOCKET_CONNECT_TIMEOUT_FIELD_NUMBER

      public static final int TRANSPORT_SOCKET_CONNECT_TIMEOUT_FIELD_NUMBER
      See Also:
    • transportSocketConnectTimeout_

      private com.google.protobuf.Duration transportSocketConnectTimeout_
    • NAME_FIELD_NUMBER

      public static final int NAME_FIELD_NUMBER
      See Also:
    • name_

      private volatile Object name_
    • ON_DEMAND_CONFIGURATION_FIELD_NUMBER

      public static final int ON_DEMAND_CONFIGURATION_FIELD_NUMBER
      See Also:
    • onDemandConfiguration_

      private FilterChain.OnDemandConfiguration onDemandConfiguration_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final FilterChain DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<FilterChain> PARSER
  • Constructor Details

    • FilterChain

      private FilterChain(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • FilterChain

      private FilterChain()
  • 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
    • hasFilterChainMatch

      public boolean hasFilterChainMatch()
       The criteria to use when matching a connection to this filter chain.
       
      .envoy.config.listener.v3.FilterChainMatch filter_chain_match = 1;
      Specified by:
      hasFilterChainMatch in interface FilterChainOrBuilder
      Returns:
      Whether the filterChainMatch field is set.
    • getFilterChainMatch

      public FilterChainMatch getFilterChainMatch()
       The criteria to use when matching a connection to this filter chain.
       
      .envoy.config.listener.v3.FilterChainMatch filter_chain_match = 1;
      Specified by:
      getFilterChainMatch in interface FilterChainOrBuilder
      Returns:
      The filterChainMatch.
    • getFilterChainMatchOrBuilder

      public FilterChainMatchOrBuilder getFilterChainMatchOrBuilder()
       The criteria to use when matching a connection to this filter chain.
       
      .envoy.config.listener.v3.FilterChainMatch filter_chain_match = 1;
      Specified by:
      getFilterChainMatchOrBuilder in interface FilterChainOrBuilder
    • getFiltersList

      public List<Filter> getFiltersList()
       A list of individual network filters that make up the filter chain for
       connections established with the listener. Order matters as the filters are
       processed sequentially as connection events happen. Note: If the filter
       list is empty, the connection will close by default.
      
       For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
       can be created, but due to differences in the connection implementation compared
       to TCP, the onData() method will never be called. Therefore, network filters
       for QUIC listeners should only expect to do work at the start of a new connection
       (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
       
      repeated .envoy.config.listener.v3.Filter filters = 3;
      Specified by:
      getFiltersList in interface FilterChainOrBuilder
    • getFiltersOrBuilderList

      public List<? extends FilterOrBuilder> getFiltersOrBuilderList()
       A list of individual network filters that make up the filter chain for
       connections established with the listener. Order matters as the filters are
       processed sequentially as connection events happen. Note: If the filter
       list is empty, the connection will close by default.
      
       For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
       can be created, but due to differences in the connection implementation compared
       to TCP, the onData() method will never be called. Therefore, network filters
       for QUIC listeners should only expect to do work at the start of a new connection
       (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
       
      repeated .envoy.config.listener.v3.Filter filters = 3;
      Specified by:
      getFiltersOrBuilderList in interface FilterChainOrBuilder
    • getFiltersCount

      public int getFiltersCount()
       A list of individual network filters that make up the filter chain for
       connections established with the listener. Order matters as the filters are
       processed sequentially as connection events happen. Note: If the filter
       list is empty, the connection will close by default.
      
       For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
       can be created, but due to differences in the connection implementation compared
       to TCP, the onData() method will never be called. Therefore, network filters
       for QUIC listeners should only expect to do work at the start of a new connection
       (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
       
      repeated .envoy.config.listener.v3.Filter filters = 3;
      Specified by:
      getFiltersCount in interface FilterChainOrBuilder
    • getFilters

      public Filter getFilters(int index)
       A list of individual network filters that make up the filter chain for
       connections established with the listener. Order matters as the filters are
       processed sequentially as connection events happen. Note: If the filter
       list is empty, the connection will close by default.
      
       For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
       can be created, but due to differences in the connection implementation compared
       to TCP, the onData() method will never be called. Therefore, network filters
       for QUIC listeners should only expect to do work at the start of a new connection
       (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
       
      repeated .envoy.config.listener.v3.Filter filters = 3;
      Specified by:
      getFilters in interface FilterChainOrBuilder
    • getFiltersOrBuilder

      public FilterOrBuilder getFiltersOrBuilder(int index)
       A list of individual network filters that make up the filter chain for
       connections established with the listener. Order matters as the filters are
       processed sequentially as connection events happen. Note: If the filter
       list is empty, the connection will close by default.
      
       For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
       can be created, but due to differences in the connection implementation compared
       to TCP, the onData() method will never be called. Therefore, network filters
       for QUIC listeners should only expect to do work at the start of a new connection
       (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
       
      repeated .envoy.config.listener.v3.Filter filters = 3;
      Specified by:
      getFiltersOrBuilder in interface FilterChainOrBuilder
    • hasUseProxyProto

      @Deprecated public boolean hasUseProxyProto()
      Deprecated.
      envoy.config.listener.v3.FilterChain.use_proxy_proto is deprecated. See envoy/config/listener/v3/listener_components.proto;l=247
       Whether the listener should expect a PROXY protocol V1 header on new
       connections. If this option is enabled, the listener will assume that that
       remote address of the connection is the one specified in the header. Some
       load balancers including the AWS ELB support this option. If the option is
       absent or set to false, Envoy will use the physical peer address of the
       connection as the remote address.
      
       This field is deprecated. Add a
       :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
       explicitly instead.
       
      .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      hasUseProxyProto in interface FilterChainOrBuilder
      Returns:
      Whether the useProxyProto field is set.
    • getUseProxyProto

      @Deprecated public com.google.protobuf.BoolValue getUseProxyProto()
      Deprecated.
      envoy.config.listener.v3.FilterChain.use_proxy_proto is deprecated. See envoy/config/listener/v3/listener_components.proto;l=247
       Whether the listener should expect a PROXY protocol V1 header on new
       connections. If this option is enabled, the listener will assume that that
       remote address of the connection is the one specified in the header. Some
       load balancers including the AWS ELB support this option. If the option is
       absent or set to false, Envoy will use the physical peer address of the
       connection as the remote address.
      
       This field is deprecated. Add a
       :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
       explicitly instead.
       
      .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getUseProxyProto in interface FilterChainOrBuilder
      Returns:
      The useProxyProto.
    • getUseProxyProtoOrBuilder

      @Deprecated public com.google.protobuf.BoolValueOrBuilder getUseProxyProtoOrBuilder()
      Deprecated.
       Whether the listener should expect a PROXY protocol V1 header on new
       connections. If this option is enabled, the listener will assume that that
       remote address of the connection is the one specified in the header. Some
       load balancers including the AWS ELB support this option. If the option is
       absent or set to false, Envoy will use the physical peer address of the
       connection as the remote address.
      
       This field is deprecated. Add a
       :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
       explicitly instead.
       
      .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      Specified by:
      getUseProxyProtoOrBuilder in interface FilterChainOrBuilder
    • hasMetadata

      public boolean hasMetadata()
       [#not-implemented-hide:] filter chain metadata.
       
      .envoy.config.core.v3.Metadata metadata = 5;
      Specified by:
      hasMetadata in interface FilterChainOrBuilder
      Returns:
      Whether the metadata field is set.
    • getMetadata

      public Metadata getMetadata()
       [#not-implemented-hide:] filter chain metadata.
       
      .envoy.config.core.v3.Metadata metadata = 5;
      Specified by:
      getMetadata in interface FilterChainOrBuilder
      Returns:
      The metadata.
    • getMetadataOrBuilder

      public MetadataOrBuilder getMetadataOrBuilder()
       [#not-implemented-hide:] filter chain metadata.
       
      .envoy.config.core.v3.Metadata metadata = 5;
      Specified by:
      getMetadataOrBuilder in interface FilterChainOrBuilder
    • hasTransportSocket

      public boolean hasTransportSocket()
       Optional custom transport socket implementation to use for downstream connections.
       To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
       :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
       If no transport socket configuration is specified, new connections
       will be set up with plaintext.
       [#extension-category: envoy.transport_sockets.downstream]
       
      .envoy.config.core.v3.TransportSocket transport_socket = 6;
      Specified by:
      hasTransportSocket in interface FilterChainOrBuilder
      Returns:
      Whether the transportSocket field is set.
    • getTransportSocket

      public TransportSocket getTransportSocket()
       Optional custom transport socket implementation to use for downstream connections.
       To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
       :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
       If no transport socket configuration is specified, new connections
       will be set up with plaintext.
       [#extension-category: envoy.transport_sockets.downstream]
       
      .envoy.config.core.v3.TransportSocket transport_socket = 6;
      Specified by:
      getTransportSocket in interface FilterChainOrBuilder
      Returns:
      The transportSocket.
    • getTransportSocketOrBuilder

      public TransportSocketOrBuilder getTransportSocketOrBuilder()
       Optional custom transport socket implementation to use for downstream connections.
       To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
       :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
       If no transport socket configuration is specified, new connections
       will be set up with plaintext.
       [#extension-category: envoy.transport_sockets.downstream]
       
      .envoy.config.core.v3.TransportSocket transport_socket = 6;
      Specified by:
      getTransportSocketOrBuilder in interface FilterChainOrBuilder
    • hasTransportSocketConnectTimeout

      public boolean hasTransportSocketConnectTimeout()
       If present and nonzero, the amount of time to allow incoming connections to complete any
       transport socket negotiations. If this expires before the transport reports connection
       establishment, the connection is summarily closed.
       
      .google.protobuf.Duration transport_socket_connect_timeout = 9;
      Specified by:
      hasTransportSocketConnectTimeout in interface FilterChainOrBuilder
      Returns:
      Whether the transportSocketConnectTimeout field is set.
    • getTransportSocketConnectTimeout

      public com.google.protobuf.Duration getTransportSocketConnectTimeout()
       If present and nonzero, the amount of time to allow incoming connections to complete any
       transport socket negotiations. If this expires before the transport reports connection
       establishment, the connection is summarily closed.
       
      .google.protobuf.Duration transport_socket_connect_timeout = 9;
      Specified by:
      getTransportSocketConnectTimeout in interface FilterChainOrBuilder
      Returns:
      The transportSocketConnectTimeout.
    • getTransportSocketConnectTimeoutOrBuilder

      public com.google.protobuf.DurationOrBuilder getTransportSocketConnectTimeoutOrBuilder()
       If present and nonzero, the amount of time to allow incoming connections to complete any
       transport socket negotiations. If this expires before the transport reports connection
       establishment, the connection is summarily closed.
       
      .google.protobuf.Duration transport_socket_connect_timeout = 9;
      Specified by:
      getTransportSocketConnectTimeoutOrBuilder in interface FilterChainOrBuilder
    • getName

      public String getName()
       The unique name (or empty) by which this filter chain is known.
       Note: :ref:`filter_chain_matcher
       <envoy_v3_api_field_config.listener.v3.Listener.filter_chain_matcher>`
       requires that filter chains are uniquely named within a listener.
       
      string name = 7;
      Specified by:
      getName in interface FilterChainOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The unique name (or empty) by which this filter chain is known.
       Note: :ref:`filter_chain_matcher
       <envoy_v3_api_field_config.listener.v3.Listener.filter_chain_matcher>`
       requires that filter chains are uniquely named within a listener.
       
      string name = 7;
      Specified by:
      getNameBytes in interface FilterChainOrBuilder
      Returns:
      The bytes for name.
    • hasOnDemandConfiguration

      public boolean hasOnDemandConfiguration()
       [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
       If this field is not empty, the filter chain will be built on-demand.
       Otherwise, the filter chain will be built normally and block listener warming.
       
      .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
      Specified by:
      hasOnDemandConfiguration in interface FilterChainOrBuilder
      Returns:
      Whether the onDemandConfiguration field is set.
    • getOnDemandConfiguration

      public FilterChain.OnDemandConfiguration getOnDemandConfiguration()
       [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
       If this field is not empty, the filter chain will be built on-demand.
       Otherwise, the filter chain will be built normally and block listener warming.
       
      .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
      Specified by:
      getOnDemandConfiguration in interface FilterChainOrBuilder
      Returns:
      The onDemandConfiguration.
    • getOnDemandConfigurationOrBuilder

      public FilterChain.OnDemandConfigurationOrBuilder getOnDemandConfigurationOrBuilder()
       [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
       If this field is not empty, the filter chain will be built on-demand.
       Otherwise, the filter chain will be built normally and block listener warming.
       
      .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
      Specified by:
      getOnDemandConfigurationOrBuilder in interface FilterChainOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static FilterChain parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static FilterChain parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static FilterChain parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static FilterChain parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static FilterChain parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static FilterChain parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static FilterChain parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public FilterChain.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static FilterChain.Builder newBuilder()
    • newBuilder

      public static FilterChain.Builder newBuilder(FilterChain prototype)
    • toBuilder

      public FilterChain.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected FilterChain.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static FilterChain getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<FilterChain> parser()
    • getParserForType

      public com.google.protobuf.Parser<FilterChain> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public FilterChain getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder