Class UdpProxyConfig.UdpTunnelingConfig

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, UdpProxyConfig.UdpTunnelingConfigOrBuilder, Serializable
Enclosing class:
UdpProxyConfig

public static final class UdpProxyConfig.UdpTunnelingConfig extends com.google.protobuf.GeneratedMessageV3 implements UdpProxyConfig.UdpTunnelingConfigOrBuilder
 Configuration for tunneling UDP over other transports or application layers.
 Tunneling is currently supported over HTTP/2.
 [#next-free-field: 12]
 
Protobuf type envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig
See Also:
  • Field Details

    • PROXY_HOST_FIELD_NUMBER

      public static final int PROXY_HOST_FIELD_NUMBER
      See Also:
    • PROXY_PORT_FIELD_NUMBER

      public static final int PROXY_PORT_FIELD_NUMBER
      See Also:
    • TARGET_HOST_FIELD_NUMBER

      public static final int TARGET_HOST_FIELD_NUMBER
      See Also:
    • DEFAULT_TARGET_PORT_FIELD_NUMBER

      public static final int DEFAULT_TARGET_PORT_FIELD_NUMBER
      See Also:
    • USE_POST_FIELD_NUMBER

      public static final int USE_POST_FIELD_NUMBER
      See Also:
    • POST_PATH_FIELD_NUMBER

      public static final int POST_PATH_FIELD_NUMBER
      See Also:
    • RETRY_OPTIONS_FIELD_NUMBER

      public static final int RETRY_OPTIONS_FIELD_NUMBER
      See Also:
    • HEADERS_TO_ADD_FIELD_NUMBER

      public static final int HEADERS_TO_ADD_FIELD_NUMBER
      See Also:
    • BUFFER_OPTIONS_FIELD_NUMBER

      public static final int BUFFER_OPTIONS_FIELD_NUMBER
      See Also:
    • PROPAGATE_RESPONSE_HEADERS_FIELD_NUMBER

      public static final int PROPAGATE_RESPONSE_HEADERS_FIELD_NUMBER
      See Also:
    • PROPAGATE_RESPONSE_TRAILERS_FIELD_NUMBER

      public static final int PROPAGATE_RESPONSE_TRAILERS_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • 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
    • getProxyHost

      public String getProxyHost()
       The hostname to send in the synthesized CONNECT headers to the upstream proxy.
       This field evaluates command operators if set, otherwise returns hostname as is.
      
       Example: dynamically set hostname using filter state
      
       .. code-block:: yaml
      
          tunneling_config:
            proxy_host: "%FILTER_STATE(proxy.host.key:PLAIN)%"
       
      string proxy_host = 1 [(.validate.rules) = { ... }
      Specified by:
      getProxyHost in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The proxyHost.
    • getProxyHostBytes

      public com.google.protobuf.ByteString getProxyHostBytes()
       The hostname to send in the synthesized CONNECT headers to the upstream proxy.
       This field evaluates command operators if set, otherwise returns hostname as is.
      
       Example: dynamically set hostname using filter state
      
       .. code-block:: yaml
      
          tunneling_config:
            proxy_host: "%FILTER_STATE(proxy.host.key:PLAIN)%"
       
      string proxy_host = 1 [(.validate.rules) = { ... }
      Specified by:
      getProxyHostBytes in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The bytes for proxyHost.
    • hasProxyPort

      public boolean hasProxyPort()
       Optional port value to add to the HTTP request URI.
       This value can be overridden per-session by setting the required port value for
       the filter state key ``udp.connect.proxy_port``.
       
      .google.protobuf.UInt32Value proxy_port = 2;
      Specified by:
      hasProxyPort in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      Whether the proxyPort field is set.
    • getProxyPort

      public com.google.protobuf.UInt32Value getProxyPort()
       Optional port value to add to the HTTP request URI.
       This value can be overridden per-session by setting the required port value for
       the filter state key ``udp.connect.proxy_port``.
       
      .google.protobuf.UInt32Value proxy_port = 2;
      Specified by:
      getProxyPort in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The proxyPort.
    • getProxyPortOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getProxyPortOrBuilder()
       Optional port value to add to the HTTP request URI.
       This value can be overridden per-session by setting the required port value for
       the filter state key ``udp.connect.proxy_port``.
       
      .google.protobuf.UInt32Value proxy_port = 2;
      Specified by:
      getProxyPortOrBuilder in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getTargetHost

      public String getTargetHost()
       The target host to send in the synthesized CONNECT headers to the upstream proxy.
       This field evaluates command operators if set, otherwise returns hostname as is.
      
       Example: dynamically set target host using filter state
      
       .. code-block:: yaml
      
          tunneling_config:
            target_host: "%FILTER_STATE(target.host.key:PLAIN)%"
       
      string target_host = 3 [(.validate.rules) = { ... }
      Specified by:
      getTargetHost in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The targetHost.
    • getTargetHostBytes

      public com.google.protobuf.ByteString getTargetHostBytes()
       The target host to send in the synthesized CONNECT headers to the upstream proxy.
       This field evaluates command operators if set, otherwise returns hostname as is.
      
       Example: dynamically set target host using filter state
      
       .. code-block:: yaml
      
          tunneling_config:
            target_host: "%FILTER_STATE(target.host.key:PLAIN)%"
       
      string target_host = 3 [(.validate.rules) = { ... }
      Specified by:
      getTargetHostBytes in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The bytes for targetHost.
    • getDefaultTargetPort

      public int getDefaultTargetPort()
       The default target port to send in the CONNECT headers to the upstream proxy.
       This value can be overridden per-session by setting the required port value for
       the filter state key ``udp.connect.target_port``.
       
      uint32 default_target_port = 4 [(.validate.rules) = { ... }
      Specified by:
      getDefaultTargetPort in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The defaultTargetPort.
    • getUsePost

      public boolean getUsePost()
       Use POST method instead of CONNECT method to tunnel the UDP stream.
      
       .. note::
         If use_post is set, the upstream stream does not comply with the connect-udp RFC, and
         instead it will be a POST request. the path used in the headers will be set from the
         post_path field, and the headers will not contain the target host and target port, as
         required by the connect-udp protocol. This flag should be used carefully.
       
      bool use_post = 5;
      Specified by:
      getUsePost in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The usePost.
    • getPostPath

      public String getPostPath()
       The path used with POST method. Default path is ``/``. If post path is specified and
       use_post field isn't true, it will be rejected.
       
      string post_path = 6;
      Specified by:
      getPostPath in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The postPath.
    • getPostPathBytes

      public com.google.protobuf.ByteString getPostPathBytes()
       The path used with POST method. Default path is ``/``. If post path is specified and
       use_post field isn't true, it will be rejected.
       
      string post_path = 6;
      Specified by:
      getPostPathBytes in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The bytes for postPath.
    • hasRetryOptions

      public boolean hasRetryOptions()
       Optional retry options, in case connecting to the upstream failed.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions retry_options = 7;
      Specified by:
      hasRetryOptions in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      Whether the retryOptions field is set.
    • getRetryOptions

       Optional retry options, in case connecting to the upstream failed.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions retry_options = 7;
      Specified by:
      getRetryOptions in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The retryOptions.
    • getRetryOptionsOrBuilder

       Optional retry options, in case connecting to the upstream failed.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.RetryOptions retry_options = 7;
      Specified by:
      getRetryOptionsOrBuilder in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getHeadersToAddList

      public List<HeaderValueOption> getHeadersToAddList()
       Additional request headers to upstream proxy. Neither ``:-prefixed`` pseudo-headers
       nor the Host: header can be overridden. Values of the added headers evaluates command
       operators if they are set in the value template.
      
       Example: dynamically set a header with the local port
      
       .. code-block:: yaml
      
          headers_to_add:
          - header:
              key: original_dst_port
              value: "%DOWNSTREAM_LOCAL_PORT%"
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 8 [(.validate.rules) = { ... }
      Specified by:
      getHeadersToAddList in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getHeadersToAddOrBuilderList

      public List<? extends HeaderValueOptionOrBuilder> getHeadersToAddOrBuilderList()
       Additional request headers to upstream proxy. Neither ``:-prefixed`` pseudo-headers
       nor the Host: header can be overridden. Values of the added headers evaluates command
       operators if they are set in the value template.
      
       Example: dynamically set a header with the local port
      
       .. code-block:: yaml
      
          headers_to_add:
          - header:
              key: original_dst_port
              value: "%DOWNSTREAM_LOCAL_PORT%"
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 8 [(.validate.rules) = { ... }
      Specified by:
      getHeadersToAddOrBuilderList in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getHeadersToAddCount

      public int getHeadersToAddCount()
       Additional request headers to upstream proxy. Neither ``:-prefixed`` pseudo-headers
       nor the Host: header can be overridden. Values of the added headers evaluates command
       operators if they are set in the value template.
      
       Example: dynamically set a header with the local port
      
       .. code-block:: yaml
      
          headers_to_add:
          - header:
              key: original_dst_port
              value: "%DOWNSTREAM_LOCAL_PORT%"
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 8 [(.validate.rules) = { ... }
      Specified by:
      getHeadersToAddCount in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getHeadersToAdd

      public HeaderValueOption getHeadersToAdd(int index)
       Additional request headers to upstream proxy. Neither ``:-prefixed`` pseudo-headers
       nor the Host: header can be overridden. Values of the added headers evaluates command
       operators if they are set in the value template.
      
       Example: dynamically set a header with the local port
      
       .. code-block:: yaml
      
          headers_to_add:
          - header:
              key: original_dst_port
              value: "%DOWNSTREAM_LOCAL_PORT%"
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 8 [(.validate.rules) = { ... }
      Specified by:
      getHeadersToAdd in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getHeadersToAddOrBuilder

      public HeaderValueOptionOrBuilder getHeadersToAddOrBuilder(int index)
       Additional request headers to upstream proxy. Neither ``:-prefixed`` pseudo-headers
       nor the Host: header can be overridden. Values of the added headers evaluates command
       operators if they are set in the value template.
      
       Example: dynamically set a header with the local port
      
       .. code-block:: yaml
      
          headers_to_add:
          - header:
              key: original_dst_port
              value: "%DOWNSTREAM_LOCAL_PORT%"
       
      repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 8 [(.validate.rules) = { ... }
      Specified by:
      getHeadersToAddOrBuilder in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • hasBufferOptions

      public boolean hasBufferOptions()
       If configured, the filter will buffer datagrams in case that it is waiting for the upstream to be
       ready, whether if it is during the connection process or due to upstream buffer watermarks.
       If this field is not configured, there will be no buffering and downstream datagrams that arrive
       while the upstream is not ready will be dropped. In case this field is set but the options
       are not configured, the default values will be applied as described in the ``BufferOptions``.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions buffer_options = 9;
      Specified by:
      hasBufferOptions in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      Whether the bufferOptions field is set.
    • getBufferOptions

       If configured, the filter will buffer datagrams in case that it is waiting for the upstream to be
       ready, whether if it is during the connection process or due to upstream buffer watermarks.
       If this field is not configured, there will be no buffering and downstream datagrams that arrive
       while the upstream is not ready will be dropped. In case this field is set but the options
       are not configured, the default values will be applied as described in the ``BufferOptions``.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions buffer_options = 9;
      Specified by:
      getBufferOptions in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The bufferOptions.
    • getBufferOptionsOrBuilder

       If configured, the filter will buffer datagrams in case that it is waiting for the upstream to be
       ready, whether if it is during the connection process or due to upstream buffer watermarks.
       If this field is not configured, there will be no buffering and downstream datagrams that arrive
       while the upstream is not ready will be dropped. In case this field is set but the options
       are not configured, the default values will be applied as described in the ``BufferOptions``.
       
      .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig.BufferOptions buffer_options = 9;
      Specified by:
      getBufferOptionsOrBuilder in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
    • getPropagateResponseHeaders

      public boolean getPropagateResponseHeaders()
       Save the response headers to the downstream info filter state for consumption
       by the session filters. The filter state key is ``envoy.udp_proxy.propagate_response_headers``.
       
      bool propagate_response_headers = 10;
      Specified by:
      getPropagateResponseHeaders in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The propagateResponseHeaders.
    • getPropagateResponseTrailers

      public boolean getPropagateResponseTrailers()
       Save the response trailers to the downstream info filter state for consumption
       by the session filters. The filter state key is ``envoy.udp_proxy.propagate_response_trailers``.
       
      bool propagate_response_trailers = 11;
      Specified by:
      getPropagateResponseTrailers in interface UdpProxyConfig.UdpTunnelingConfigOrBuilder
      Returns:
      The propagateResponseTrailers.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • 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.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • 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 UdpProxyConfig.UdpTunnelingConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

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

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

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

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

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

      public static UdpProxyConfig.UdpTunnelingConfig parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

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

      public static UdpProxyConfig.UdpTunnelingConfig parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

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

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

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

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

      public static UdpProxyConfig.UdpTunnelingConfig.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected UdpProxyConfig.UdpTunnelingConfig.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static UdpProxyConfig.UdpTunnelingConfig getDefaultInstance()
    • parser

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

      public com.google.protobuf.Parser<UdpProxyConfig.UdpTunnelingConfig> 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.GeneratedMessageV3
    • getDefaultInstanceForType

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