java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
io.envoyproxy.envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ProxyProtocolOrBuilder, Cloneable
Enclosing class:
ProxyProtocol

public static final class ProxyProtocol.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder> implements ProxyProtocolOrBuilder
 [#next-free-field: 7]
 
Protobuf type envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • clear

      public ProxyProtocol.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.GeneratedMessageV3.Builder<ProxyProtocol.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.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • getDefaultInstanceForType

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

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

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

      public ProxyProtocol.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • setField

      public ProxyProtocol.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • clearField

      public ProxyProtocol.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • clearOneof

      public ProxyProtocol.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • setRepeatedField

      public ProxyProtocol.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • addRepeatedField

      public ProxyProtocol.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • mergeFrom

      public ProxyProtocol.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<ProxyProtocol.Builder>
    • mergeFrom

      public ProxyProtocol.Builder mergeFrom(ProxyProtocol other)
    • isInitialized

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

      public ProxyProtocol.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<ProxyProtocol.Builder>
      Throws:
      IOException
    • getRulesList

      public List<ProxyProtocol.Rule> getRulesList()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
      Specified by:
      getRulesList in interface ProxyProtocolOrBuilder
    • getRulesCount

      public int getRulesCount()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
      Specified by:
      getRulesCount in interface ProxyProtocolOrBuilder
    • getRules

      public ProxyProtocol.Rule getRules(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
      Specified by:
      getRules in interface ProxyProtocolOrBuilder
    • setRules

      public ProxyProtocol.Builder setRules(int index, ProxyProtocol.Rule value)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • setRules

      public ProxyProtocol.Builder setRules(int index, ProxyProtocol.Rule.Builder builderForValue)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addRules

      public ProxyProtocol.Builder addRules(ProxyProtocol.Rule value)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addRules

      public ProxyProtocol.Builder addRules(int index, ProxyProtocol.Rule value)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addRules

      public ProxyProtocol.Builder addRules(ProxyProtocol.Rule.Builder builderForValue)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addRules

      public ProxyProtocol.Builder addRules(int index, ProxyProtocol.Rule.Builder builderForValue)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addAllRules

      public ProxyProtocol.Builder addAllRules(Iterable<? extends ProxyProtocol.Rule> values)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • clearRules

      public ProxyProtocol.Builder clearRules()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • removeRules

      public ProxyProtocol.Builder removeRules(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesBuilder

      public ProxyProtocol.Rule.Builder getRulesBuilder(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesOrBuilder

      public ProxyProtocol.RuleOrBuilder getRulesOrBuilder(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
      Specified by:
      getRulesOrBuilder in interface ProxyProtocolOrBuilder
    • getRulesOrBuilderList

      public List<? extends ProxyProtocol.RuleOrBuilder> getRulesOrBuilderList()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
      Specified by:
      getRulesOrBuilderList in interface ProxyProtocolOrBuilder
    • addRulesBuilder

      public ProxyProtocol.Rule.Builder addRulesBuilder()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • addRulesBuilder

      public ProxyProtocol.Rule.Builder addRulesBuilder(int index)
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getRulesBuilderList

      public List<ProxyProtocol.Rule.Builder> getRulesBuilderList()
       The list of rules to apply to requests.
       
      repeated .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.Rule rules = 1;
    • getAllowRequestsWithoutProxyProtocol

      public boolean getAllowRequestsWithoutProxyProtocol()
       Allow requests through that don't use proxy protocol. Defaults to false.
      
       .. attention::
      
         This breaks conformance with the specification.
         Only enable if ALL traffic to the listener comes from a trusted source.
         For more information on the security implications of this feature, see
         https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt
      
       .. attention::
      
         Requests of 12 or fewer bytes that match the proxy protocol v2 signature
         and requests of 6 or fewer bytes that match the proxy protocol v1
         signature will timeout (Envoy is unable to differentiate these requests
         from incomplete proxy protocol requests).
       
      bool allow_requests_without_proxy_protocol = 2;
      Specified by:
      getAllowRequestsWithoutProxyProtocol in interface ProxyProtocolOrBuilder
      Returns:
      The allowRequestsWithoutProxyProtocol.
    • setAllowRequestsWithoutProxyProtocol

      public ProxyProtocol.Builder setAllowRequestsWithoutProxyProtocol(boolean value)
       Allow requests through that don't use proxy protocol. Defaults to false.
      
       .. attention::
      
         This breaks conformance with the specification.
         Only enable if ALL traffic to the listener comes from a trusted source.
         For more information on the security implications of this feature, see
         https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt
      
       .. attention::
      
         Requests of 12 or fewer bytes that match the proxy protocol v2 signature
         and requests of 6 or fewer bytes that match the proxy protocol v1
         signature will timeout (Envoy is unable to differentiate these requests
         from incomplete proxy protocol requests).
       
      bool allow_requests_without_proxy_protocol = 2;
      Parameters:
      value - The allowRequestsWithoutProxyProtocol to set.
      Returns:
      This builder for chaining.
    • clearAllowRequestsWithoutProxyProtocol

      public ProxyProtocol.Builder clearAllowRequestsWithoutProxyProtocol()
       Allow requests through that don't use proxy protocol. Defaults to false.
      
       .. attention::
      
         This breaks conformance with the specification.
         Only enable if ALL traffic to the listener comes from a trusted source.
         For more information on the security implications of this feature, see
         https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt
      
       .. attention::
      
         Requests of 12 or fewer bytes that match the proxy protocol v2 signature
         and requests of 6 or fewer bytes that match the proxy protocol v1
         signature will timeout (Envoy is unable to differentiate these requests
         from incomplete proxy protocol requests).
       
      bool allow_requests_without_proxy_protocol = 2;
      Returns:
      This builder for chaining.
    • hasPassThroughTlvs

      public boolean hasPassThroughTlvs()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
      Specified by:
      hasPassThroughTlvs in interface ProxyProtocolOrBuilder
      Returns:
      Whether the passThroughTlvs field is set.
    • getPassThroughTlvs

      public ProxyProtocolPassThroughTLVs getPassThroughTlvs()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
      Specified by:
      getPassThroughTlvs in interface ProxyProtocolOrBuilder
      Returns:
      The passThroughTlvs.
    • setPassThroughTlvs

      public ProxyProtocol.Builder setPassThroughTlvs(ProxyProtocolPassThroughTLVs value)
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • setPassThroughTlvs

      public ProxyProtocol.Builder setPassThroughTlvs(ProxyProtocolPassThroughTLVs.Builder builderForValue)
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • mergePassThroughTlvs

      public ProxyProtocol.Builder mergePassThroughTlvs(ProxyProtocolPassThroughTLVs value)
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • clearPassThroughTlvs

      public ProxyProtocol.Builder clearPassThroughTlvs()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • getPassThroughTlvsBuilder

      public ProxyProtocolPassThroughTLVs.Builder getPassThroughTlvsBuilder()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
    • getPassThroughTlvsOrBuilder

      public ProxyProtocolPassThroughTLVsOrBuilder getPassThroughTlvsOrBuilder()
       This config controls which TLVs can be passed to filter state if it is Proxy Protocol
       V2 header. If there is no setting for this field, no TLVs will be passed through.
      
       .. note::
      
         If this is configured, you likely also want to set
         :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`,
         which controls pass-through for the upstream.
       
      .envoy.config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;
      Specified by:
      getPassThroughTlvsOrBuilder in interface ProxyProtocolOrBuilder
    • getDisallowedVersionsList

      public List<ProxyProtocolConfig.Version> getDisallowedVersionsList()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Specified by:
      getDisallowedVersionsList in interface ProxyProtocolOrBuilder
      Returns:
      A list containing the disallowedVersions.
    • getDisallowedVersionsCount

      public int getDisallowedVersionsCount()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Specified by:
      getDisallowedVersionsCount in interface ProxyProtocolOrBuilder
      Returns:
      The count of disallowedVersions.
    • getDisallowedVersions

      public ProxyProtocolConfig.Version getDisallowedVersions(int index)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Specified by:
      getDisallowedVersions in interface ProxyProtocolOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The disallowedVersions at the given index.
    • setDisallowedVersions

      public ProxyProtocol.Builder setDisallowedVersions(int index, ProxyProtocolConfig.Version value)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      index - The index to set the value at.
      value - The disallowedVersions to set.
      Returns:
      This builder for chaining.
    • addDisallowedVersions

      public ProxyProtocol.Builder addDisallowedVersions(ProxyProtocolConfig.Version value)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      value - The disallowedVersions to add.
      Returns:
      This builder for chaining.
    • addAllDisallowedVersions

      public ProxyProtocol.Builder addAllDisallowedVersions(Iterable<? extends ProxyProtocolConfig.Version> values)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      values - The disallowedVersions to add.
      Returns:
      This builder for chaining.
    • clearDisallowedVersions

      public ProxyProtocol.Builder clearDisallowedVersions()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Returns:
      This builder for chaining.
    • getDisallowedVersionsValueList

      public List<Integer> getDisallowedVersionsValueList()
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Specified by:
      getDisallowedVersionsValueList in interface ProxyProtocolOrBuilder
      Returns:
      A list containing the enum numeric values on the wire for disallowedVersions.
    • getDisallowedVersionsValue

      public int getDisallowedVersionsValue(int index)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Specified by:
      getDisallowedVersionsValue in interface ProxyProtocolOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The enum numeric value on the wire of disallowedVersions at the given index.
    • setDisallowedVersionsValue

      public ProxyProtocol.Builder setDisallowedVersionsValue(int index, int value)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      index - The index to set the value at.
      value - The enum numeric value on the wire for disallowedVersions to set.
      Returns:
      This builder for chaining.
    • addDisallowedVersionsValue

      public ProxyProtocol.Builder addDisallowedVersionsValue(int value)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      value - The enum numeric value on the wire for disallowedVersions to add.
      Returns:
      This builder for chaining.
    • addAllDisallowedVersionsValue

      public ProxyProtocol.Builder addAllDisallowedVersionsValue(Iterable<Integer> values)
       The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
      
       When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
       By default, the filter will match all PROXY protocol versions.
       See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
      
       .. attention::
      
         When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
         the filter will not attempt to match signatures for the disallowed versions.
         For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
         and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
         The filter treats this request as if it did not have any PROXY protocol information.
       
      repeated .envoy.config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;
      Parameters:
      values - The enum numeric values on the wire for disallowedVersions to add.
      Returns:
      This builder for chaining.
    • getStatPrefix

      public String getStatPrefix()
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Specified by:
      getStatPrefix in interface ProxyProtocolOrBuilder
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      public com.google.protobuf.ByteString getStatPrefixBytes()
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Specified by:
      getStatPrefixBytes in interface ProxyProtocolOrBuilder
      Returns:
      The bytes for statPrefix.
    • setStatPrefix

      public ProxyProtocol.Builder setStatPrefix(String value)
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Parameters:
      value - The statPrefix to set.
      Returns:
      This builder for chaining.
    • clearStatPrefix

      public ProxyProtocol.Builder clearStatPrefix()
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Returns:
      This builder for chaining.
    • setStatPrefixBytes

      public ProxyProtocol.Builder setStatPrefixBytes(com.google.protobuf.ByteString value)
       The human readable prefix to use when emitting statistics for the filter.
       If not configured, statistics will be emitted without the prefix segment.
       See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
       more information.
       
      string stat_prefix = 5;
      Parameters:
      value - The bytes for statPrefix to set.
      Returns:
      This builder for chaining.
    • getTlvLocationValue

      public int getTlvLocationValue()
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Specified by:
      getTlvLocationValue in interface ProxyProtocolOrBuilder
      Returns:
      The enum numeric value on the wire for tlvLocation.
    • setTlvLocationValue

      public ProxyProtocol.Builder setTlvLocationValue(int value)
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Parameters:
      value - The enum numeric value on the wire for tlvLocation to set.
      Returns:
      This builder for chaining.
    • getTlvLocation

      public ProxyProtocol.TlvLocation getTlvLocation()
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Specified by:
      getTlvLocation in interface ProxyProtocolOrBuilder
      Returns:
      The tlvLocation.
    • setTlvLocation

      public ProxyProtocol.Builder setTlvLocation(ProxyProtocol.TlvLocation value)
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Parameters:
      value - The tlvLocation to set.
      Returns:
      This builder for chaining.
    • clearTlvLocation

      public ProxyProtocol.Builder clearTlvLocation()
       Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
       
      .envoy.extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.TlvLocation tlv_location = 6;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final ProxyProtocol.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>
    • mergeUnknownFields

      public final ProxyProtocol.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<ProxyProtocol.Builder>