Class 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: 10]
     
    Protobuf type envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.UdpTunnelingConfig
    See Also:
    Serialized Form
    • Field Detail

      • PROXY_HOST_FIELD_NUMBER

        public static final int PROXY_HOST_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PROXY_PORT_FIELD_NUMBER

        public static final int PROXY_PORT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TARGET_HOST_FIELD_NUMBER

        public static final int TARGET_HOST_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DEFAULT_TARGET_PORT_FIELD_NUMBER

        public static final int DEFAULT_TARGET_PORT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RETRY_OPTIONS_FIELD_NUMBER

        public static final int RETRY_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HEADERS_TO_ADD_FIELD_NUMBER

        public static final int HEADERS_TO_ADD_FIELD_NUMBER
        See Also:
        Constant Field Values
      • BUFFER_OPTIONS_FIELD_NUMBER

        public static final int BUFFER_OPTIONS_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields 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.
      • 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

        public UdpProxyConfig.UdpTunnelingConfig.BufferOptions 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

        public UdpProxyConfig.UdpTunnelingConfig.BufferOptionsOrBuilder 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
      • 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,
                                                                  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
      • newBuilderForType

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

        public UdpProxyConfig.UdpTunnelingConfig.Builder 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
      • 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