Class HttpProtocolOptions.AutoHttpConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<HttpProtocolOptions.AutoHttpConfig.Builder>
io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, HttpProtocolOptions.AutoHttpConfigOrBuilder, Cloneable
Enclosing class:
HttpProtocolOptions.AutoHttpConfig

public static final class HttpProtocolOptions.AutoHttpConfig.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<HttpProtocolOptions.AutoHttpConfig.Builder> implements HttpProtocolOptions.AutoHttpConfigOrBuilder
 If this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever
 protocol is negotiated by ALPN with the upstream.
 Clusters configured with ``AutoHttpConfig`` will use the highest available
 protocol; HTTP/2 if supported, otherwise HTTP/1.
 If the upstream does not support ALPN, ``AutoHttpConfig`` will fail over to HTTP/1.
 This can only be used with transport sockets which support ALPN. Using a
 transport socket which does not support ALPN will result in configuration
 failure. The transport layer may be configured with custom ALPN, but the default ALPN
 for the cluster (or if custom ALPN fails) will be "h2,http/1.1".
 
Protobuf type envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig
  • 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<HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • getDefaultInstanceForType

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

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public HttpProtocolOptions.AutoHttpConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • setField

      public HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • clearField

      public HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • clearOneof

      public HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • setRepeatedField

      public HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • addRepeatedField

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

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

    • isInitialized

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

      public HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
      Throws:
      IOException
    • hasHttpProtocolOptions

      public boolean hasHttpProtocolOptions()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      hasHttpProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the httpProtocolOptions field is set.
    • getHttpProtocolOptions

      public Http1ProtocolOptions getHttpProtocolOptions()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      getHttpProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The httpProtocolOptions.
    • setHttpProtocolOptions

      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
    • setHttpProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setHttpProtocolOptions(Http1ProtocolOptions.Builder builderForValue)
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
    • mergeHttpProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder mergeHttpProtocolOptions(Http1ProtocolOptions value)
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
    • clearHttpProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder clearHttpProtocolOptions()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
    • getHttpProtocolOptionsBuilder

      public Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
    • getHttpProtocolOptionsOrBuilder

      public Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder()
      .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1;
      Specified by:
      getHttpProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasHttp2ProtocolOptions

      public boolean hasHttp2ProtocolOptions()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      hasHttp2ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the http2ProtocolOptions field is set.
    • getHttp2ProtocolOptions

      public Http2ProtocolOptions getHttp2ProtocolOptions()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      getHttp2ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The http2ProtocolOptions.
    • setHttp2ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setHttp2ProtocolOptions(Http2ProtocolOptions value)
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
    • setHttp2ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setHttp2ProtocolOptions(Http2ProtocolOptions.Builder builderForValue)
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
    • mergeHttp2ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder mergeHttp2ProtocolOptions(Http2ProtocolOptions value)
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
    • clearHttp2ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder clearHttp2ProtocolOptions()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
    • getHttp2ProtocolOptionsBuilder

      public Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
    • getHttp2ProtocolOptionsOrBuilder

      public Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder()
      .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2;
      Specified by:
      getHttp2ProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasHttp3ProtocolOptions

      public boolean hasHttp3ProtocolOptions()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      hasHttp3ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the http3ProtocolOptions field is set.
    • getHttp3ProtocolOptions

      public Http3ProtocolOptions getHttp3ProtocolOptions()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      getHttp3ProtocolOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The http3ProtocolOptions.
    • setHttp3ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setHttp3ProtocolOptions(Http3ProtocolOptions value)
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
    • setHttp3ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setHttp3ProtocolOptions(Http3ProtocolOptions.Builder builderForValue)
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
    • mergeHttp3ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder mergeHttp3ProtocolOptions(Http3ProtocolOptions value)
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
    • clearHttp3ProtocolOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder clearHttp3ProtocolOptions()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
    • getHttp3ProtocolOptionsBuilder

      public Http3ProtocolOptions.Builder getHttp3ProtocolOptionsBuilder()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
    • getHttp3ProtocolOptionsOrBuilder

      public Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder()
       Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
       present, and (soon) only if there is an indication of server side
       support.
       See :ref:`here <arch_overview_http3_upstream>` for more information on
       when HTTP/3 will be used, and when Envoy will fail over to TCP.
      
       .. warning::
         QUIC upstream support is currently not ready for internet use.
         Please see :ref:`here <arch_overview_http3>` for details.
       
      .envoy.config.core.v3.Http3ProtocolOptions http3_protocol_options = 3;
      Specified by:
      getHttp3ProtocolOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • hasAlternateProtocolsCacheOptions

      public boolean hasAlternateProtocolsCacheOptions()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      hasAlternateProtocolsCacheOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      Whether the alternateProtocolsCacheOptions field is set.
    • getAlternateProtocolsCacheOptions

      public AlternateProtocolsCacheOptions getAlternateProtocolsCacheOptions()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      getAlternateProtocolsCacheOptions in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
      Returns:
      The alternateProtocolsCacheOptions.
    • setAlternateProtocolsCacheOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setAlternateProtocolsCacheOptions(AlternateProtocolsCacheOptions value)
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
    • setAlternateProtocolsCacheOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder setAlternateProtocolsCacheOptions(AlternateProtocolsCacheOptions.Builder builderForValue)
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
    • mergeAlternateProtocolsCacheOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder mergeAlternateProtocolsCacheOptions(AlternateProtocolsCacheOptions value)
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
    • clearAlternateProtocolsCacheOptions

      public HttpProtocolOptions.AutoHttpConfig.Builder clearAlternateProtocolsCacheOptions()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
    • getAlternateProtocolsCacheOptionsBuilder

      public AlternateProtocolsCacheOptions.Builder getAlternateProtocolsCacheOptionsBuilder()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
    • getAlternateProtocolsCacheOptionsOrBuilder

      public AlternateProtocolsCacheOptionsOrBuilder getAlternateProtocolsCacheOptionsOrBuilder()
       The presence of alternate protocols cache options causes the use of the
       alternate protocols cache, which is responsible for parsing and caching
       HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
       advertise supporting it.
      
       .. note::
         This is required when HTTP/3 is enabled.
       
      .envoy.config.core.v3.AlternateProtocolsCacheOptions alternate_protocols_cache_options = 4;
      Specified by:
      getAlternateProtocolsCacheOptionsOrBuilder in interface HttpProtocolOptions.AutoHttpConfigOrBuilder
    • setUnknownFields

      public final HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>
    • mergeUnknownFields

      public final HttpProtocolOptions.AutoHttpConfig.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<HttpProtocolOptions.AutoHttpConfig.Builder>