Class TcpProxy.TunnelingConfig.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, TcpProxy.TunnelingConfigOrBuilder, Cloneable
    Enclosing class:
    TcpProxy.TunnelingConfig

    public static final class TcpProxy.TunnelingConfig.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<TcpProxy.TunnelingConfig.Builder>
    implements TcpProxy.TunnelingConfigOrBuilder
     Configuration for tunneling TCP over other transports or application layers.
     Tunneling is supported over both HTTP/1.1 and HTTP/2. Upstream protocol is
     determined by the cluster configuration.
     
    Protobuf type envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy.TunnelingConfig
    • Method Detail

      • 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<TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>
      • getDefaultInstanceForType

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

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

        public TcpProxy.TunnelingConfig buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • setRepeatedField

        public TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>
      • addRepeatedField

        public TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>
      • isInitialized

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

        public TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>
        Throws:
        IOException
      • getHostname

        public String getHostname()
         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 downstream SNI
         .. code-block:: yaml
            tunneling_config:
              hostname: "%REQUESTED_SERVER_NAME%:443"
         Example: dynamically set hostname using dynamic metadata
         .. code-block: yaml
            tunneling_config:
              hostname: "%DYNAMIC_METADATA(tunnel:address)%"
         
        string hostname = 1 [(.validate.rules) = { ... }
        Specified by:
        getHostname in interface TcpProxy.TunnelingConfigOrBuilder
        Returns:
        The hostname.
      • getHostnameBytes

        public com.google.protobuf.ByteString getHostnameBytes()
         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 downstream SNI
         .. code-block:: yaml
            tunneling_config:
              hostname: "%REQUESTED_SERVER_NAME%:443"
         Example: dynamically set hostname using dynamic metadata
         .. code-block: yaml
            tunneling_config:
              hostname: "%DYNAMIC_METADATA(tunnel:address)%"
         
        string hostname = 1 [(.validate.rules) = { ... }
        Specified by:
        getHostnameBytes in interface TcpProxy.TunnelingConfigOrBuilder
        Returns:
        The bytes for hostname.
      • setHostname

        public TcpProxy.TunnelingConfig.Builder setHostname​(String value)
         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 downstream SNI
         .. code-block:: yaml
            tunneling_config:
              hostname: "%REQUESTED_SERVER_NAME%:443"
         Example: dynamically set hostname using dynamic metadata
         .. code-block: yaml
            tunneling_config:
              hostname: "%DYNAMIC_METADATA(tunnel:address)%"
         
        string hostname = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The hostname to set.
        Returns:
        This builder for chaining.
      • clearHostname

        public TcpProxy.TunnelingConfig.Builder clearHostname()
         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 downstream SNI
         .. code-block:: yaml
            tunneling_config:
              hostname: "%REQUESTED_SERVER_NAME%:443"
         Example: dynamically set hostname using dynamic metadata
         .. code-block: yaml
            tunneling_config:
              hostname: "%DYNAMIC_METADATA(tunnel:address)%"
         
        string hostname = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setHostnameBytes

        public TcpProxy.TunnelingConfig.Builder setHostnameBytes​(com.google.protobuf.ByteString value)
         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 downstream SNI
         .. code-block:: yaml
            tunneling_config:
              hostname: "%REQUESTED_SERVER_NAME%:443"
         Example: dynamically set hostname using dynamic metadata
         .. code-block: yaml
            tunneling_config:
              hostname: "%DYNAMIC_METADATA(tunnel:address)%"
         
        string hostname = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for hostname to set.
        Returns:
        This builder for chaining.
      • getUsePost

        public boolean getUsePost()
         Use POST method instead of CONNECT method to tunnel the TCP stream.
         The 'protocol: bytestream' header is also NOT set for HTTP/2 to comply with the spec.
         The upstream proxy is expected to convert POST payload as raw TCP.
         
        bool use_post = 2;
        Specified by:
        getUsePost in interface TcpProxy.TunnelingConfigOrBuilder
        Returns:
        The usePost.
      • setUsePost

        public TcpProxy.TunnelingConfig.Builder setUsePost​(boolean value)
         Use POST method instead of CONNECT method to tunnel the TCP stream.
         The 'protocol: bytestream' header is also NOT set for HTTP/2 to comply with the spec.
         The upstream proxy is expected to convert POST payload as raw TCP.
         
        bool use_post = 2;
        Parameters:
        value - The usePost to set.
        Returns:
        This builder for chaining.
      • clearUsePost

        public TcpProxy.TunnelingConfig.Builder clearUsePost()
         Use POST method instead of CONNECT method to tunnel the TCP stream.
         The 'protocol: bytestream' header is also NOT set for HTTP/2 to comply with the spec.
         The upstream proxy is expected to convert POST payload as raw TCP.
         
        bool use_post = 2;
        Returns:
        This builder for chaining.
      • getHeadersToAddList

        public List<HeaderValueOption> getHeadersToAddList()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
        Specified by:
        getHeadersToAddList in interface TcpProxy.TunnelingConfigOrBuilder
      • getHeadersToAddCount

        public int getHeadersToAddCount()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
        Specified by:
        getHeadersToAddCount in interface TcpProxy.TunnelingConfigOrBuilder
      • getHeadersToAdd

        public HeaderValueOption getHeadersToAdd​(int index)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
        Specified by:
        getHeadersToAdd in interface TcpProxy.TunnelingConfigOrBuilder
      • setHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder setHeadersToAdd​(int index,
                                                                HeaderValueOption value)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • setHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder setHeadersToAdd​(int index,
                                                                HeaderValueOption.Builder builderForValue)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder addHeadersToAdd​(HeaderValueOption value)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder addHeadersToAdd​(int index,
                                                                HeaderValueOption value)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder addHeadersToAdd​(HeaderValueOption.Builder builderForValue)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder addHeadersToAdd​(int index,
                                                                HeaderValueOption.Builder builderForValue)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addAllHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder addAllHeadersToAdd​(Iterable<? extends HeaderValueOption> values)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • clearHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder clearHeadersToAdd()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • removeHeadersToAdd

        public TcpProxy.TunnelingConfig.Builder removeHeadersToAdd​(int index)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • getHeadersToAddBuilder

        public HeaderValueOption.Builder getHeadersToAddBuilder​(int index)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • getHeadersToAddOrBuilder

        public HeaderValueOptionOrBuilder getHeadersToAddOrBuilder​(int index)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
        Specified by:
        getHeadersToAddOrBuilder in interface TcpProxy.TunnelingConfigOrBuilder
      • getHeadersToAddOrBuilderList

        public List<? extends HeaderValueOptionOrBuilder> getHeadersToAddOrBuilderList()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
        Specified by:
        getHeadersToAddOrBuilderList in interface TcpProxy.TunnelingConfigOrBuilder
      • addHeadersToAddBuilder

        public HeaderValueOption.Builder addHeadersToAddBuilder()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • addHeadersToAddBuilder

        public HeaderValueOption.Builder addHeadersToAddBuilder​(int index)
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • getHeadersToAddBuilderList

        public List<HeaderValueOption.Builder> getHeadersToAddBuilderList()
         Additional request headers to upstream proxy. This is mainly used to
         trigger upstream to convert POST requests back to CONNECT requests.
         Neither ``:-prefixed`` pseudo-headers nor the Host: header can be overridden.
         
        repeated .envoy.config.core.v3.HeaderValueOption headers_to_add = 3 [(.validate.rules) = { ... }
      • setUnknownFields

        public final TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>
      • mergeUnknownFields

        public final TcpProxy.TunnelingConfig.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<TcpProxy.TunnelingConfig.Builder>