All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/extensions/upstreams/http/v3/http_protocol_options.proto

package io.envoyproxy.envoy.extensions.upstreams.http.v3;

/**
 * 
 * HttpProtocolOptions specifies Http upstream protocol options. This object
 * is used in
 * :ref:`typed_extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`,
 * keyed by the name ``envoy.extensions.upstreams.http.v3.HttpProtocolOptions``.
 * This controls what protocol(s) should be used for upstream and how said protocol(s) are configured.
 * This replaces the prior pattern of explicit protocol configuration directly
 * in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream:
 * .. code::
 *   clusters:
 *     - name: some_service
 *       connect_timeout: 5s
 *       upstream_http_protocol_options:
 *         auto_sni: true
 *       common_http_protocol_options:
 *         idle_timeout: 1s
 *       http2_protocol_options:
 *         max_concurrent_streams: 100
 *        .... [further cluster config]
 * Would now look like this:
 * .. code::
 *   clusters:
 *     - name: some_service
 *       connect_timeout: 5s
 *       typed_extension_protocol_options:
 *         envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
 *           "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
 *           upstream_http_protocol_options:
 *             auto_sni: true
 *           common_http_protocol_options:
 *             idle_timeout: 1s
 *           explicit_http_config:
 *             http2_protocol_options:
 *               max_concurrent_streams: 100
 *        .... [further cluster config]
 * [#next-free-field: 8]
 * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions} */ public final class HttpProtocolOptions extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions) HttpProtocolOptionsOrBuilder { private static final long serialVersionUID = 0L; // Use HttpProtocolOptions.newBuilder() to construct. private HttpProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private HttpProtocolOptions() { httpFilters_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HttpProtocolOptions(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private HttpProtocolOptions( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder subBuilder = null; if (commonHttpProtocolOptions_ != null) { subBuilder = commonHttpProtocolOptions_.toBuilder(); } commonHttpProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(commonHttpProtocolOptions_); commonHttpProtocolOptions_ = subBuilder.buildPartial(); } break; } case 18: { io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder subBuilder = null; if (upstreamHttpProtocolOptions_ != null) { subBuilder = upstreamHttpProtocolOptions_.toBuilder(); } upstreamHttpProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(upstreamHttpProtocolOptions_); upstreamHttpProtocolOptions_ = subBuilder.buildPartial(); } break; } case 26: { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder subBuilder = null; if (upstreamProtocolOptionsCase_ == 3) { subBuilder = ((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_).toBuilder(); } upstreamProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_); upstreamProtocolOptions_ = subBuilder.buildPartial(); } upstreamProtocolOptionsCase_ = 3; break; } case 34: { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder subBuilder = null; if (upstreamProtocolOptionsCase_ == 4) { subBuilder = ((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_).toBuilder(); } upstreamProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_); upstreamProtocolOptions_ = subBuilder.buildPartial(); } upstreamProtocolOptionsCase_ = 4; break; } case 42: { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder subBuilder = null; if (upstreamProtocolOptionsCase_ == 5) { subBuilder = ((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_).toBuilder(); } upstreamProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_); upstreamProtocolOptions_ = subBuilder.buildPartial(); } upstreamProtocolOptionsCase_ = 5; break; } case 50: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { httpFilters_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } httpFilters_.add( input.readMessage(io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.parser(), extensionRegistry)); break; } case 58: { io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder subBuilder = null; if (headerValidationConfig_ != null) { subBuilder = headerValidationConfig_.toBuilder(); } headerValidationConfig_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(headerValidationConfig_); headerValidationConfig_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { httpFilters_ = java.util.Collections.unmodifiableList(httpFilters_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.Builder.class); } public interface ExplicitHttpConfigOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) com.google.protobuf.MessageOrBuilder { /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ boolean hasHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ boolean hasHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder(); /** *
     * .. 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; * @return Whether the http3ProtocolOptions field is set. */ boolean hasHttp3ProtocolOptions(); /** *
     * .. 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; * @return The http3ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions(); /** *
     * .. 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; */ io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder(); public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.ProtocolConfigCase getProtocolConfigCase(); } /** *
   * If this is used, the cluster will only operate on one of the possible upstream protocols.
   * Note that HTTP/2 or above should generally be used for upstream gRPC clusters.
   * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig} */ public static final class ExplicitHttpConfig extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) ExplicitHttpConfigOrBuilder { private static final long serialVersionUID = 0L; // Use ExplicitHttpConfig.newBuilder() to construct. private ExplicitHttpConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ExplicitHttpConfig() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ExplicitHttpConfig(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private ExplicitHttpConfig( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder subBuilder = null; if (protocolConfigCase_ == 1) { subBuilder = ((io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_).toBuilder(); } protocolConfig_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_); protocolConfig_ = subBuilder.buildPartial(); } protocolConfigCase_ = 1; break; } case 18: { io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder subBuilder = null; if (protocolConfigCase_ == 2) { subBuilder = ((io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_).toBuilder(); } protocolConfig_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_); protocolConfig_ = subBuilder.buildPartial(); } protocolConfigCase_ = 2; break; } case 26: { io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder subBuilder = null; if (protocolConfigCase_ == 3) { subBuilder = ((io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_).toBuilder(); } protocolConfig_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom((io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_); protocolConfig_ = subBuilder.buildPartial(); } protocolConfigCase_ = 3; break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_ExplicitHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_ExplicitHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder.class); } private int protocolConfigCase_ = 0; private java.lang.Object protocolConfig_; public enum ProtocolConfigCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { HTTP_PROTOCOL_OPTIONS(1), HTTP2_PROTOCOL_OPTIONS(2), HTTP3_PROTOCOL_OPTIONS(3), PROTOCOLCONFIG_NOT_SET(0); private final int value; private ProtocolConfigCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static ProtocolConfigCase valueOf(int value) { return forNumber(value); } public static ProtocolConfigCase forNumber(int value) { switch (value) { case 1: return HTTP_PROTOCOL_OPTIONS; case 2: return HTTP2_PROTOCOL_OPTIONS; case 3: return HTTP3_PROTOCOL_OPTIONS; case 0: return PROTOCOLCONFIG_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public ProtocolConfigCase getProtocolConfigCase() { return ProtocolConfigCase.forNumber( protocolConfigCase_); } public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 1; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ @java.lang.Override public boolean hasHttpProtocolOptions() { return protocolConfigCase_ == 1; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { if (protocolConfigCase_ == 1) { return (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { if (protocolConfigCase_ == 1) { return (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 2; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp2ProtocolOptions() { return protocolConfigCase_ == 2; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { if (protocolConfigCase_ == 2) { return (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { if (protocolConfigCase_ == 2) { return (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } public static final int HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER = 3; /** *
     * .. 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; * @return Whether the http3ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp3ProtocolOptions() { return protocolConfigCase_ == 3; } /** *
     * .. 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; * @return The http3ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { if (protocolConfigCase_ == 3) { return (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } /** *
     * .. 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { if (protocolConfigCase_ == 3) { return (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (protocolConfigCase_ == 1) { output.writeMessage(1, (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_); } if (protocolConfigCase_ == 2) { output.writeMessage(2, (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_); } if (protocolConfigCase_ == 3) { output.writeMessage(3, (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (protocolConfigCase_ == 1) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_); } if (protocolConfigCase_ == 2) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_); } if (protocolConfigCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig other = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) obj; if (!getProtocolConfigCase().equals(other.getProtocolConfigCase())) return false; switch (protocolConfigCase_) { case 1: if (!getHttpProtocolOptions() .equals(other.getHttpProtocolOptions())) return false; break; case 2: if (!getHttp2ProtocolOptions() .equals(other.getHttp2ProtocolOptions())) return false; break; case 3: if (!getHttp3ProtocolOptions() .equals(other.getHttp3ProtocolOptions())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); switch (protocolConfigCase_) { case 1: hash = (37 * hash) + HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttpProtocolOptions().hashCode(); break; case 2: hash = (37 * hash) + HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp2ProtocolOptions().hashCode(); break; case 3: hash = (37 * hash) + HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp3ProtocolOptions().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * If this is used, the cluster will only operate on one of the possible upstream protocols.
     * Note that HTTP/2 or above should generally be used for upstream gRPC clusters.
     * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_ExplicitHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_ExplicitHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); protocolConfigCase_ = 0; protocolConfig_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_ExplicitHttpConfig_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig build() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig buildPartial() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig result = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig(this); if (protocolConfigCase_ == 1) { if (httpProtocolOptionsBuilder_ == null) { result.protocolConfig_ = protocolConfig_; } else { result.protocolConfig_ = httpProtocolOptionsBuilder_.build(); } } if (protocolConfigCase_ == 2) { if (http2ProtocolOptionsBuilder_ == null) { result.protocolConfig_ = protocolConfig_; } else { result.protocolConfig_ = http2ProtocolOptionsBuilder_.build(); } } if (protocolConfigCase_ == 3) { if (http3ProtocolOptionsBuilder_ == null) { result.protocolConfig_ = protocolConfig_; } else { result.protocolConfig_ = http3ProtocolOptionsBuilder_.build(); } } result.protocolConfigCase_ = protocolConfigCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) { return mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig other) { if (other == io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance()) return this; switch (other.getProtocolConfigCase()) { case HTTP_PROTOCOL_OPTIONS: { mergeHttpProtocolOptions(other.getHttpProtocolOptions()); break; } case HTTP2_PROTOCOL_OPTIONS: { mergeHttp2ProtocolOptions(other.getHttp2ProtocolOptions()); break; } case HTTP3_PROTOCOL_OPTIONS: { mergeHttp3ProtocolOptions(other.getHttp3ProtocolOptions()); break; } case PROTOCOLCONFIG_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int protocolConfigCase_ = 0; private java.lang.Object protocolConfig_; public ProtocolConfigCase getProtocolConfigCase() { return ProtocolConfigCase.forNumber( protocolConfigCase_); } public Builder clearProtocolConfig() { protocolConfigCase_ = 0; protocolConfig_ = null; onChanged(); return this; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> httpProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ @java.lang.Override public boolean hasHttpProtocolOptions() { return protocolConfigCase_ == 1; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 1) { return (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } else { if (protocolConfigCase_ == 1) { return httpProtocolOptionsBuilder_.getMessage(); } return io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } protocolConfig_ = value; onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(value); } protocolConfigCase_ = 1; return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder builderForValue) { if (httpProtocolOptionsBuilder_ == null) { protocolConfig_ = builderForValue.build(); onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(builderForValue.build()); } protocolConfigCase_ = 1; return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder mergeHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 1 && protocolConfig_ != io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance()) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.newBuilder((io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_) .mergeFrom(value).buildPartial(); } else { protocolConfig_ = value; } onChanged(); } else { if (protocolConfigCase_ == 1) { httpProtocolOptionsBuilder_.mergeFrom(value); } else { httpProtocolOptionsBuilder_.setMessage(value); } } protocolConfigCase_ = 1; return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder clearHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 1) { protocolConfigCase_ = 0; protocolConfig_ = null; onChanged(); } } else { if (protocolConfigCase_ == 1) { protocolConfigCase_ = 0; protocolConfig_ = null; } httpProtocolOptionsBuilder_.clear(); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder() { return getHttpProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { if ((protocolConfigCase_ == 1) && (httpProtocolOptionsBuilder_ != null)) { return httpProtocolOptionsBuilder_.getMessageOrBuilder(); } else { if (protocolConfigCase_ == 1) { return (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> getHttpProtocolOptionsFieldBuilder() { if (httpProtocolOptionsBuilder_ == null) { if (!(protocolConfigCase_ == 1)) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance(); } httpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder>( (io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions) protocolConfig_, getParentForChildren(), isClean()); protocolConfig_ = null; } protocolConfigCase_ = 1; onChanged();; return httpProtocolOptionsBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> http2ProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp2ProtocolOptions() { return protocolConfigCase_ == 2; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 2) { return (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } else { if (protocolConfigCase_ == 2) { return http2ProtocolOptionsBuilder_.getMessage(); } return io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } protocolConfig_ = value; onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(value); } protocolConfigCase_ = 2; return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder builderForValue) { if (http2ProtocolOptionsBuilder_ == null) { protocolConfig_ = builderForValue.build(); onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } protocolConfigCase_ = 2; return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder mergeHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 2 && protocolConfig_ != io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance()) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.newBuilder((io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_) .mergeFrom(value).buildPartial(); } else { protocolConfig_ = value; } onChanged(); } else { if (protocolConfigCase_ == 2) { http2ProtocolOptionsBuilder_.mergeFrom(value); } else { http2ProtocolOptionsBuilder_.setMessage(value); } } protocolConfigCase_ = 2; return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder clearHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 2) { protocolConfigCase_ = 0; protocolConfig_ = null; onChanged(); } } else { if (protocolConfigCase_ == 2) { protocolConfigCase_ = 0; protocolConfig_ = null; } http2ProtocolOptionsBuilder_.clear(); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder() { return getHttp2ProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { if ((protocolConfigCase_ == 2) && (http2ProtocolOptionsBuilder_ != null)) { return http2ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { if (protocolConfigCase_ == 2) { return (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> getHttp2ProtocolOptionsFieldBuilder() { if (http2ProtocolOptionsBuilder_ == null) { if (!(protocolConfigCase_ == 2)) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance(); } http2ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder>( (io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions) protocolConfig_, getParentForChildren(), isClean()); protocolConfig_ = null; } protocolConfigCase_ = 2; onChanged();; return http2ProtocolOptionsBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> http3ProtocolOptionsBuilder_; /** *
       * .. 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; * @return Whether the http3ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp3ProtocolOptions() { return protocolConfigCase_ == 3; } /** *
       * .. 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; * @return The http3ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 3) { return (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } else { if (protocolConfigCase_ == 3) { return http3ProtocolOptionsBuilder_.getMessage(); } return io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } } /** *
       * .. 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; */ public Builder setHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } protocolConfig_ = value; onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(value); } protocolConfigCase_ = 3; return this; } /** *
       * .. 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; */ public Builder setHttp3ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder builderForValue) { if (http3ProtocolOptionsBuilder_ == null) { protocolConfig_ = builderForValue.build(); onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } protocolConfigCase_ = 3; return this; } /** *
       * .. 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; */ public Builder mergeHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 3 && protocolConfig_ != io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance()) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.newBuilder((io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_) .mergeFrom(value).buildPartial(); } else { protocolConfig_ = value; } onChanged(); } else { if (protocolConfigCase_ == 3) { http3ProtocolOptionsBuilder_.mergeFrom(value); } else { http3ProtocolOptionsBuilder_.setMessage(value); } } protocolConfigCase_ = 3; return this; } /** *
       * .. 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; */ public Builder clearHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { if (protocolConfigCase_ == 3) { protocolConfigCase_ = 0; protocolConfig_ = null; onChanged(); } } else { if (protocolConfigCase_ == 3) { protocolConfigCase_ = 0; protocolConfig_ = null; } http3ProtocolOptionsBuilder_.clear(); } return this; } /** *
       * .. 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; */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder getHttp3ProtocolOptionsBuilder() { return getHttp3ProtocolOptionsFieldBuilder().getBuilder(); } /** *
       * .. 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { if ((protocolConfigCase_ == 3) && (http3ProtocolOptionsBuilder_ != null)) { return http3ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { if (protocolConfigCase_ == 3) { return (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_; } return io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } } /** *
       * .. 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> getHttp3ProtocolOptionsFieldBuilder() { if (http3ProtocolOptionsBuilder_ == null) { if (!(protocolConfigCase_ == 3)) { protocolConfig_ = io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance(); } http3ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder>( (io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions) protocolConfig_, getParentForChildren(), isClean()); protocolConfig_ = null; } protocolConfigCase_ = 3; onChanged();; return http3ProtocolOptionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) } // @@protoc_insertion_point(class_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) private static final io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig(); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ExplicitHttpConfig parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new ExplicitHttpConfig(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface UseDownstreamHttpConfigOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) com.google.protobuf.MessageOrBuilder { /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ boolean hasHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ boolean hasHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder(); /** *
     * .. 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; * @return Whether the http3ProtocolOptions field is set. */ boolean hasHttp3ProtocolOptions(); /** *
     * .. 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; * @return The http3ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions(); /** *
     * .. 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; */ io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder(); } /** *
   * If this is used, the cluster can use either of the configured protocols, and
   * will use whichever protocol was used by the downstream connection.
   * If HTTP/3 is configured for downstream and not configured for upstream,
   * HTTP/3 requests will fail over to HTTP/2.
   * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig} */ public static final class UseDownstreamHttpConfig extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) UseDownstreamHttpConfigOrBuilder { private static final long serialVersionUID = 0L; // Use UseDownstreamHttpConfig.newBuilder() to construct. private UseDownstreamHttpConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private UseDownstreamHttpConfig() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new UseDownstreamHttpConfig(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private UseDownstreamHttpConfig( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder subBuilder = null; if (httpProtocolOptions_ != null) { subBuilder = httpProtocolOptions_.toBuilder(); } httpProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(httpProtocolOptions_); httpProtocolOptions_ = subBuilder.buildPartial(); } break; } case 18: { io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder subBuilder = null; if (http2ProtocolOptions_ != null) { subBuilder = http2ProtocolOptions_.toBuilder(); } http2ProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(http2ProtocolOptions_); http2ProtocolOptions_ = subBuilder.buildPartial(); } break; } case 26: { io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder subBuilder = null; if (http3ProtocolOptions_ != null) { subBuilder = http3ProtocolOptions_.toBuilder(); } http3ProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(http3ProtocolOptions_); http3ProtocolOptions_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_UseDownstreamHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_UseDownstreamHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder.class); } public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 1; private io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions httpProtocolOptions_; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ @java.lang.Override public boolean hasHttpProtocolOptions() { return httpProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { return getHttpProtocolOptions(); } public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 2; private io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions http2ProtocolOptions_; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp2ProtocolOptions() { return http2ProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { return getHttp2ProtocolOptions(); } public static final int HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER = 3; private io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions http3ProtocolOptions_; /** *
     * .. 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; * @return Whether the http3ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp3ProtocolOptions() { return http3ProtocolOptions_ != null; } /** *
     * .. 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; * @return The http3ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } /** *
     * .. 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { return getHttp3ProtocolOptions(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (httpProtocolOptions_ != null) { output.writeMessage(1, getHttpProtocolOptions()); } if (http2ProtocolOptions_ != null) { output.writeMessage(2, getHttp2ProtocolOptions()); } if (http3ProtocolOptions_ != null) { output.writeMessage(3, getHttp3ProtocolOptions()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (httpProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getHttpProtocolOptions()); } if (http2ProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getHttp2ProtocolOptions()); } if (http3ProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getHttp3ProtocolOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig other = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) obj; if (hasHttpProtocolOptions() != other.hasHttpProtocolOptions()) return false; if (hasHttpProtocolOptions()) { if (!getHttpProtocolOptions() .equals(other.getHttpProtocolOptions())) return false; } if (hasHttp2ProtocolOptions() != other.hasHttp2ProtocolOptions()) return false; if (hasHttp2ProtocolOptions()) { if (!getHttp2ProtocolOptions() .equals(other.getHttp2ProtocolOptions())) return false; } if (hasHttp3ProtocolOptions() != other.hasHttp3ProtocolOptions()) return false; if (hasHttp3ProtocolOptions()) { if (!getHttp3ProtocolOptions() .equals(other.getHttp3ProtocolOptions())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasHttpProtocolOptions()) { hash = (37 * hash) + HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttpProtocolOptions().hashCode(); } if (hasHttp2ProtocolOptions()) { hash = (37 * hash) + HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp2ProtocolOptions().hashCode(); } if (hasHttp3ProtocolOptions()) { hash = (37 * hash) + HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp3ProtocolOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * If this is used, the cluster can use either of the configured protocols, and
     * will use whichever protocol was used by the downstream connection.
     * If HTTP/3 is configured for downstream and not configured for upstream,
     * HTTP/3 requests will fail over to HTTP/2.
     * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_UseDownstreamHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_UseDownstreamHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = null; } else { httpProtocolOptions_ = null; httpProtocolOptionsBuilder_ = null; } if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = null; } else { http2ProtocolOptions_ = null; http2ProtocolOptionsBuilder_ = null; } if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = null; } else { http3ProtocolOptions_ = null; http3ProtocolOptionsBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_UseDownstreamHttpConfig_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig build() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig buildPartial() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig result = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig(this); if (httpProtocolOptionsBuilder_ == null) { result.httpProtocolOptions_ = httpProtocolOptions_; } else { result.httpProtocolOptions_ = httpProtocolOptionsBuilder_.build(); } if (http2ProtocolOptionsBuilder_ == null) { result.http2ProtocolOptions_ = http2ProtocolOptions_; } else { result.http2ProtocolOptions_ = http2ProtocolOptionsBuilder_.build(); } if (http3ProtocolOptionsBuilder_ == null) { result.http3ProtocolOptions_ = http3ProtocolOptions_; } else { result.http3ProtocolOptions_ = http3ProtocolOptionsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) { return mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig other) { if (other == io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance()) return this; if (other.hasHttpProtocolOptions()) { mergeHttpProtocolOptions(other.getHttpProtocolOptions()); } if (other.hasHttp2ProtocolOptions()) { mergeHttp2ProtocolOptions(other.getHttp2ProtocolOptions()); } if (other.hasHttp3ProtocolOptions()) { mergeHttp3ProtocolOptions(other.getHttp3ProtocolOptions()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions httpProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> httpProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ public boolean hasHttpProtocolOptions() { return httpProtocolOptionsBuilder_ != null || httpProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } else { return httpProtocolOptionsBuilder_.getMessage(); } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } httpProtocolOptions_ = value; onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(value); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder builderForValue) { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = builderForValue.build(); onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder mergeHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (httpProtocolOptions_ != null) { httpProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.newBuilder(httpProtocolOptions_).mergeFrom(value).buildPartial(); } else { httpProtocolOptions_ = value; } onChanged(); } else { httpProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder clearHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = null; onChanged(); } else { httpProtocolOptions_ = null; httpProtocolOptionsBuilder_ = null; } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder() { onChanged(); return getHttpProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { if (httpProtocolOptionsBuilder_ != null) { return httpProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> getHttpProtocolOptionsFieldBuilder() { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder>( getHttpProtocolOptions(), getParentForChildren(), isClean()); httpProtocolOptions_ = null; } return httpProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions http2ProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> http2ProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ public boolean hasHttp2ProtocolOptions() { return http2ProtocolOptionsBuilder_ != null || http2ProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } else { return http2ProtocolOptionsBuilder_.getMessage(); } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } http2ProtocolOptions_ = value; onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(value); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder builderForValue) { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = builderForValue.build(); onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder mergeHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (http2ProtocolOptions_ != null) { http2ProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.newBuilder(http2ProtocolOptions_).mergeFrom(value).buildPartial(); } else { http2ProtocolOptions_ = value; } onChanged(); } else { http2ProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder clearHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = null; onChanged(); } else { http2ProtocolOptions_ = null; http2ProtocolOptionsBuilder_ = null; } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder() { onChanged(); return getHttp2ProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { if (http2ProtocolOptionsBuilder_ != null) { return http2ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> getHttp2ProtocolOptionsFieldBuilder() { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder>( getHttp2ProtocolOptions(), getParentForChildren(), isClean()); http2ProtocolOptions_ = null; } return http2ProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions http3ProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> http3ProtocolOptionsBuilder_; /** *
       * .. 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; * @return Whether the http3ProtocolOptions field is set. */ public boolean hasHttp3ProtocolOptions() { return http3ProtocolOptionsBuilder_ != null || http3ProtocolOptions_ != null; } /** *
       * .. 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; * @return The http3ProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } else { return http3ProtocolOptionsBuilder_.getMessage(); } } /** *
       * .. 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; */ public Builder setHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } http3ProtocolOptions_ = value; onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(value); } return this; } /** *
       * .. 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; */ public Builder setHttp3ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder builderForValue) { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = builderForValue.build(); onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * .. 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; */ public Builder mergeHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (http3ProtocolOptions_ != null) { http3ProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.newBuilder(http3ProtocolOptions_).mergeFrom(value).buildPartial(); } else { http3ProtocolOptions_ = value; } onChanged(); } else { http3ProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** *
       * .. 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; */ public Builder clearHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = null; onChanged(); } else { http3ProtocolOptions_ = null; http3ProtocolOptionsBuilder_ = null; } return this; } /** *
       * .. 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; */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder getHttp3ProtocolOptionsBuilder() { onChanged(); return getHttp3ProtocolOptionsFieldBuilder().getBuilder(); } /** *
       * .. 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; */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { if (http3ProtocolOptionsBuilder_ != null) { return http3ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } } /** *
       * .. 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> getHttp3ProtocolOptionsFieldBuilder() { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder>( getHttp3ProtocolOptions(), getParentForChildren(), isClean()); http3ProtocolOptions_ = null; } return http3ProtocolOptionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) } // @@protoc_insertion_point(class_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) private static final io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig(); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public UseDownstreamHttpConfig parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new UseDownstreamHttpConfig(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface AutoHttpConfigOrBuilder extends // @@protoc_insertion_point(interface_extends:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) com.google.protobuf.MessageOrBuilder { /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ boolean hasHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions(); /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ boolean hasHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions(); /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder(); /** *
     * 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; * @return Whether the http3ProtocolOptions field is set. */ 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; * @return The http3ProtocolOptions. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder(); /** *
     * 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; * @return Whether the alternateProtocolsCacheOptions field is set. */ 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; * @return The alternateProtocolsCacheOptions. */ io.envoyproxy.envoy.config.core.v3.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; */ io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder getAlternateProtocolsCacheOptionsOrBuilder(); } /** *
   * 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 {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig} */ public static final class AutoHttpConfig extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) AutoHttpConfigOrBuilder { private static final long serialVersionUID = 0L; // Use AutoHttpConfig.newBuilder() to construct. private AutoHttpConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private AutoHttpConfig() { } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new AutoHttpConfig(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private AutoHttpConfig( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder subBuilder = null; if (httpProtocolOptions_ != null) { subBuilder = httpProtocolOptions_.toBuilder(); } httpProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(httpProtocolOptions_); httpProtocolOptions_ = subBuilder.buildPartial(); } break; } case 18: { io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder subBuilder = null; if (http2ProtocolOptions_ != null) { subBuilder = http2ProtocolOptions_.toBuilder(); } http2ProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(http2ProtocolOptions_); http2ProtocolOptions_ = subBuilder.buildPartial(); } break; } case 26: { io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder subBuilder = null; if (http3ProtocolOptions_ != null) { subBuilder = http3ProtocolOptions_.toBuilder(); } http3ProtocolOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(http3ProtocolOptions_); http3ProtocolOptions_ = subBuilder.buildPartial(); } break; } case 34: { io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder subBuilder = null; if (alternateProtocolsCacheOptions_ != null) { subBuilder = alternateProtocolsCacheOptions_.toBuilder(); } alternateProtocolsCacheOptions_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(alternateProtocolsCacheOptions_); alternateProtocolsCacheOptions_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_AutoHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_AutoHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder.class); } public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 1; private io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions httpProtocolOptions_; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ @java.lang.Override public boolean hasHttpProtocolOptions() { return httpProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { return getHttpProtocolOptions(); } public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 2; private io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions http2ProtocolOptions_; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp2ProtocolOptions() { return http2ProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { return getHttp2ProtocolOptions(); } public static final int HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER = 3; private io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions http3ProtocolOptions_; /** *
     * 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; * @return Whether the http3ProtocolOptions field is set. */ @java.lang.Override public boolean hasHttp3ProtocolOptions() { return http3ProtocolOptions_ != null; } /** *
     * 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; * @return The http3ProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } /** *
     * 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { return getHttp3ProtocolOptions(); } public static final int ALTERNATE_PROTOCOLS_CACHE_OPTIONS_FIELD_NUMBER = 4; private io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions alternateProtocolsCacheOptions_; /** *
     * 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; * @return Whether the alternateProtocolsCacheOptions field is set. */ @java.lang.Override public boolean hasAlternateProtocolsCacheOptions() { return alternateProtocolsCacheOptions_ != null; } /** *
     * 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; * @return The alternateProtocolsCacheOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions getAlternateProtocolsCacheOptions() { return alternateProtocolsCacheOptions_ == null ? io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.getDefaultInstance() : alternateProtocolsCacheOptions_; } /** *
     * 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; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder getAlternateProtocolsCacheOptionsOrBuilder() { return getAlternateProtocolsCacheOptions(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (httpProtocolOptions_ != null) { output.writeMessage(1, getHttpProtocolOptions()); } if (http2ProtocolOptions_ != null) { output.writeMessage(2, getHttp2ProtocolOptions()); } if (http3ProtocolOptions_ != null) { output.writeMessage(3, getHttp3ProtocolOptions()); } if (alternateProtocolsCacheOptions_ != null) { output.writeMessage(4, getAlternateProtocolsCacheOptions()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (httpProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getHttpProtocolOptions()); } if (http2ProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getHttp2ProtocolOptions()); } if (http3ProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getHttp3ProtocolOptions()); } if (alternateProtocolsCacheOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getAlternateProtocolsCacheOptions()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig other = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) obj; if (hasHttpProtocolOptions() != other.hasHttpProtocolOptions()) return false; if (hasHttpProtocolOptions()) { if (!getHttpProtocolOptions() .equals(other.getHttpProtocolOptions())) return false; } if (hasHttp2ProtocolOptions() != other.hasHttp2ProtocolOptions()) return false; if (hasHttp2ProtocolOptions()) { if (!getHttp2ProtocolOptions() .equals(other.getHttp2ProtocolOptions())) return false; } if (hasHttp3ProtocolOptions() != other.hasHttp3ProtocolOptions()) return false; if (hasHttp3ProtocolOptions()) { if (!getHttp3ProtocolOptions() .equals(other.getHttp3ProtocolOptions())) return false; } if (hasAlternateProtocolsCacheOptions() != other.hasAlternateProtocolsCacheOptions()) return false; if (hasAlternateProtocolsCacheOptions()) { if (!getAlternateProtocolsCacheOptions() .equals(other.getAlternateProtocolsCacheOptions())) return false; } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasHttpProtocolOptions()) { hash = (37 * hash) + HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttpProtocolOptions().hashCode(); } if (hasHttp2ProtocolOptions()) { hash = (37 * hash) + HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp2ProtocolOptions().hashCode(); } if (hasHttp3ProtocolOptions()) { hash = (37 * hash) + HTTP3_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getHttp3ProtocolOptions().hashCode(); } if (hasAlternateProtocolsCacheOptions()) { hash = (37 * hash) + ALTERNATE_PROTOCOLS_CACHE_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getAlternateProtocolsCacheOptions().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
     * 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 {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_AutoHttpConfig_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_AutoHttpConfig_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { } } @java.lang.Override public Builder clear() { super.clear(); if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = null; } else { httpProtocolOptions_ = null; httpProtocolOptionsBuilder_ = null; } if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = null; } else { http2ProtocolOptions_ = null; http2ProtocolOptionsBuilder_ = null; } if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = null; } else { http3ProtocolOptions_ = null; http3ProtocolOptionsBuilder_ = null; } if (alternateProtocolsCacheOptionsBuilder_ == null) { alternateProtocolsCacheOptions_ = null; } else { alternateProtocolsCacheOptions_ = null; alternateProtocolsCacheOptionsBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_AutoHttpConfig_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig build() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig buildPartial() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig result = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig(this); if (httpProtocolOptionsBuilder_ == null) { result.httpProtocolOptions_ = httpProtocolOptions_; } else { result.httpProtocolOptions_ = httpProtocolOptionsBuilder_.build(); } if (http2ProtocolOptionsBuilder_ == null) { result.http2ProtocolOptions_ = http2ProtocolOptions_; } else { result.http2ProtocolOptions_ = http2ProtocolOptionsBuilder_.build(); } if (http3ProtocolOptionsBuilder_ == null) { result.http3ProtocolOptions_ = http3ProtocolOptions_; } else { result.http3ProtocolOptions_ = http3ProtocolOptionsBuilder_.build(); } if (alternateProtocolsCacheOptionsBuilder_ == null) { result.alternateProtocolsCacheOptions_ = alternateProtocolsCacheOptions_; } else { result.alternateProtocolsCacheOptions_ = alternateProtocolsCacheOptionsBuilder_.build(); } onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) { return mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig other) { if (other == io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance()) return this; if (other.hasHttpProtocolOptions()) { mergeHttpProtocolOptions(other.getHttpProtocolOptions()); } if (other.hasHttp2ProtocolOptions()) { mergeHttp2ProtocolOptions(other.getHttp2ProtocolOptions()); } if (other.hasHttp3ProtocolOptions()) { mergeHttp3ProtocolOptions(other.getHttp3ProtocolOptions()); } if (other.hasAlternateProtocolsCacheOptions()) { mergeAlternateProtocolsCacheOptions(other.getAlternateProtocolsCacheOptions()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions httpProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> httpProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return Whether the httpProtocolOptions field is set. */ public boolean hasHttpProtocolOptions() { return httpProtocolOptionsBuilder_ != null || httpProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; * @return The httpProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions getHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } else { return httpProtocolOptionsBuilder_.getMessage(); } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } httpProtocolOptions_ = value; onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(value); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder setHttpProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder builderForValue) { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = builderForValue.build(); onChanged(); } else { httpProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder mergeHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions value) { if (httpProtocolOptionsBuilder_ == null) { if (httpProtocolOptions_ != null) { httpProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.newBuilder(httpProtocolOptions_).mergeFrom(value).buildPartial(); } else { httpProtocolOptions_ = value; } onChanged(); } else { httpProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public Builder clearHttpProtocolOptions() { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptions_ = null; onChanged(); } else { httpProtocolOptions_ = null; httpProtocolOptionsBuilder_ = null; } return this; } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder() { onChanged(); return getHttpProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() { if (httpProtocolOptionsBuilder_ != null) { return httpProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return httpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_; } } /** * .envoy.config.core.v3.Http1ProtocolOptions http_protocol_options = 1; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder> getHttpProtocolOptionsFieldBuilder() { if (httpProtocolOptionsBuilder_ == null) { httpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http1ProtocolOptionsOrBuilder>( getHttpProtocolOptions(), getParentForChildren(), isClean()); httpProtocolOptions_ = null; } return httpProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions http2ProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> http2ProtocolOptionsBuilder_; /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return Whether the http2ProtocolOptions field is set. */ public boolean hasHttp2ProtocolOptions() { return http2ProtocolOptionsBuilder_ != null || http2ProtocolOptions_ != null; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; * @return The http2ProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions getHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } else { return http2ProtocolOptionsBuilder_.getMessage(); } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } http2ProtocolOptions_ = value; onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(value); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder setHttp2ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder builderForValue) { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = builderForValue.build(); onChanged(); } else { http2ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder mergeHttp2ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions value) { if (http2ProtocolOptionsBuilder_ == null) { if (http2ProtocolOptions_ != null) { http2ProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.newBuilder(http2ProtocolOptions_).mergeFrom(value).buildPartial(); } else { http2ProtocolOptions_ = value; } onChanged(); } else { http2ProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public Builder clearHttp2ProtocolOptions() { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptions_ = null; onChanged(); } else { http2ProtocolOptions_ = null; http2ProtocolOptionsBuilder_ = null; } return this; } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder() { onChanged(); return getHttp2ProtocolOptionsFieldBuilder().getBuilder(); } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() { if (http2ProtocolOptionsBuilder_ != null) { return http2ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return http2ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_; } } /** * .envoy.config.core.v3.Http2ProtocolOptions http2_protocol_options = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder> getHttp2ProtocolOptionsFieldBuilder() { if (http2ProtocolOptionsBuilder_ == null) { http2ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http2ProtocolOptionsOrBuilder>( getHttp2ProtocolOptions(), getParentForChildren(), isClean()); http2ProtocolOptions_ = null; } return http2ProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions http3ProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> http3ProtocolOptionsBuilder_; /** *
       * 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; * @return Whether the http3ProtocolOptions field is set. */ public boolean hasHttp3ProtocolOptions() { return http3ProtocolOptionsBuilder_ != null || http3ProtocolOptions_ != null; } /** *
       * 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; * @return The http3ProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions getHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } else { return http3ProtocolOptionsBuilder_.getMessage(); } } /** *
       * 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; */ public Builder setHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } http3ProtocolOptions_ = value; onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(value); } return this; } /** *
       * 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; */ public Builder setHttp3ProtocolOptions( io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder builderForValue) { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = builderForValue.build(); onChanged(); } else { http3ProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * 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; */ public Builder mergeHttp3ProtocolOptions(io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions value) { if (http3ProtocolOptionsBuilder_ == null) { if (http3ProtocolOptions_ != null) { http3ProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.newBuilder(http3ProtocolOptions_).mergeFrom(value).buildPartial(); } else { http3ProtocolOptions_ = value; } onChanged(); } else { http3ProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** *
       * 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; */ public Builder clearHttp3ProtocolOptions() { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptions_ = null; onChanged(); } else { http3ProtocolOptions_ = null; http3ProtocolOptionsBuilder_ = null; } return this; } /** *
       * 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; */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder getHttp3ProtocolOptionsBuilder() { onChanged(); return getHttp3ProtocolOptionsFieldBuilder().getBuilder(); } /** *
       * 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; */ public io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder getHttp3ProtocolOptionsOrBuilder() { if (http3ProtocolOptionsBuilder_ != null) { return http3ProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return http3ProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.getDefaultInstance() : http3ProtocolOptions_; } } /** *
       * 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder> getHttp3ProtocolOptionsFieldBuilder() { if (http3ProtocolOptionsBuilder_ == null) { http3ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.Http3ProtocolOptionsOrBuilder>( getHttp3ProtocolOptions(), getParentForChildren(), isClean()); http3ProtocolOptions_ = null; } return http3ProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions alternateProtocolsCacheOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder> alternateProtocolsCacheOptionsBuilder_; /** *
       * 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; * @return Whether the alternateProtocolsCacheOptions field is set. */ public boolean hasAlternateProtocolsCacheOptions() { return alternateProtocolsCacheOptionsBuilder_ != null || alternateProtocolsCacheOptions_ != null; } /** *
       * 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; * @return The alternateProtocolsCacheOptions. */ public io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions getAlternateProtocolsCacheOptions() { if (alternateProtocolsCacheOptionsBuilder_ == null) { return alternateProtocolsCacheOptions_ == null ? io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.getDefaultInstance() : alternateProtocolsCacheOptions_; } else { return alternateProtocolsCacheOptionsBuilder_.getMessage(); } } /** *
       * 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; */ public Builder setAlternateProtocolsCacheOptions(io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions value) { if (alternateProtocolsCacheOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } alternateProtocolsCacheOptions_ = value; onChanged(); } else { alternateProtocolsCacheOptionsBuilder_.setMessage(value); } return this; } /** *
       * 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; */ public Builder setAlternateProtocolsCacheOptions( io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder builderForValue) { if (alternateProtocolsCacheOptionsBuilder_ == null) { alternateProtocolsCacheOptions_ = builderForValue.build(); onChanged(); } else { alternateProtocolsCacheOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
       * 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; */ public Builder mergeAlternateProtocolsCacheOptions(io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions value) { if (alternateProtocolsCacheOptionsBuilder_ == null) { if (alternateProtocolsCacheOptions_ != null) { alternateProtocolsCacheOptions_ = io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.newBuilder(alternateProtocolsCacheOptions_).mergeFrom(value).buildPartial(); } else { alternateProtocolsCacheOptions_ = value; } onChanged(); } else { alternateProtocolsCacheOptionsBuilder_.mergeFrom(value); } return this; } /** *
       * 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; */ public Builder clearAlternateProtocolsCacheOptions() { if (alternateProtocolsCacheOptionsBuilder_ == null) { alternateProtocolsCacheOptions_ = null; onChanged(); } else { alternateProtocolsCacheOptions_ = null; alternateProtocolsCacheOptionsBuilder_ = null; } return this; } /** *
       * 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; */ public io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder getAlternateProtocolsCacheOptionsBuilder() { onChanged(); return getAlternateProtocolsCacheOptionsFieldBuilder().getBuilder(); } /** *
       * 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; */ public io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder getAlternateProtocolsCacheOptionsOrBuilder() { if (alternateProtocolsCacheOptionsBuilder_ != null) { return alternateProtocolsCacheOptionsBuilder_.getMessageOrBuilder(); } else { return alternateProtocolsCacheOptions_ == null ? io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.getDefaultInstance() : alternateProtocolsCacheOptions_; } } /** *
       * 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; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder> getAlternateProtocolsCacheOptionsFieldBuilder() { if (alternateProtocolsCacheOptionsBuilder_ == null) { alternateProtocolsCacheOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptions.Builder, io.envoyproxy.envoy.config.core.v3.AlternateProtocolsCacheOptionsOrBuilder>( getAlternateProtocolsCacheOptions(), getParentForChildren(), isClean()); alternateProtocolsCacheOptions_ = null; } return alternateProtocolsCacheOptionsBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) } // @@protoc_insertion_point(class_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) private static final io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig(); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public AutoHttpConfig parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new AutoHttpConfig(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int upstreamProtocolOptionsCase_ = 0; private java.lang.Object upstreamProtocolOptions_; public enum UpstreamProtocolOptionsCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { EXPLICIT_HTTP_CONFIG(3), USE_DOWNSTREAM_PROTOCOL_CONFIG(4), AUTO_CONFIG(5), UPSTREAMPROTOCOLOPTIONS_NOT_SET(0); private final int value; private UpstreamProtocolOptionsCase(int value) { this.value = value; } /** * @param value The number of the enum to look for. * @return The enum associated with the given number. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static UpstreamProtocolOptionsCase valueOf(int value) { return forNumber(value); } public static UpstreamProtocolOptionsCase forNumber(int value) { switch (value) { case 3: return EXPLICIT_HTTP_CONFIG; case 4: return USE_DOWNSTREAM_PROTOCOL_CONFIG; case 5: return AUTO_CONFIG; case 0: return UPSTREAMPROTOCOLOPTIONS_NOT_SET; default: return null; } } public int getNumber() { return this.value; } }; public UpstreamProtocolOptionsCase getUpstreamProtocolOptionsCase() { return UpstreamProtocolOptionsCase.forNumber( upstreamProtocolOptionsCase_); } public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 1; private io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions commonHttpProtocolOptions_; /** *
   * This contains options common across HTTP/1 and HTTP/2
   * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; * @return Whether the commonHttpProtocolOptions field is set. */ @java.lang.Override public boolean hasCommonHttpProtocolOptions() { return commonHttpProtocolOptions_ != null; } /** *
   * This contains options common across HTTP/1 and HTTP/2
   * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; * @return The commonHttpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions getCommonHttpProtocolOptions() { return commonHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_; } /** *
   * This contains options common across HTTP/1 and HTTP/2
   * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder() { return getCommonHttpProtocolOptions(); } public static final int UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 2; private io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions upstreamHttpProtocolOptions_; /** *
   * This contains common protocol options which are only applied upstream.
   * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; * @return Whether the upstreamHttpProtocolOptions field is set. */ @java.lang.Override public boolean hasUpstreamHttpProtocolOptions() { return upstreamHttpProtocolOptions_ != null; } /** *
   * This contains common protocol options which are only applied upstream.
   * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; * @return The upstreamHttpProtocolOptions. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions() { return upstreamHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.getDefaultInstance() : upstreamHttpProtocolOptions_; } /** *
   * This contains common protocol options which are only applied upstream.
   * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder() { return getUpstreamHttpProtocolOptions(); } public static final int EXPLICIT_HTTP_CONFIG_FIELD_NUMBER = 3; /** *
   * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
   * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; * @return Whether the explicitHttpConfig field is set. */ @java.lang.Override public boolean hasExplicitHttpConfig() { return upstreamProtocolOptionsCase_ == 3; } /** *
   * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
   * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; * @return The explicitHttpConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig getExplicitHttpConfig() { if (upstreamProtocolOptionsCase_ == 3) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } /** *
   * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
   * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder getExplicitHttpConfigOrBuilder() { if (upstreamProtocolOptionsCase_ == 3) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } public static final int USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER = 4; /** *
   * This allows switching on protocol based on what protocol the downstream
   * connection used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; * @return Whether the useDownstreamProtocolConfig field is set. */ @java.lang.Override public boolean hasUseDownstreamProtocolConfig() { return upstreamProtocolOptionsCase_ == 4; } /** *
   * This allows switching on protocol based on what protocol the downstream
   * connection used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; * @return The useDownstreamProtocolConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig getUseDownstreamProtocolConfig() { if (upstreamProtocolOptionsCase_ == 4) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } /** *
   * This allows switching on protocol based on what protocol the downstream
   * connection used.
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder getUseDownstreamProtocolConfigOrBuilder() { if (upstreamProtocolOptionsCase_ == 4) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } public static final int AUTO_CONFIG_FIELD_NUMBER = 5; /** *
   * This allows switching on protocol based on ALPN
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; * @return Whether the autoConfig field is set. */ @java.lang.Override public boolean hasAutoConfig() { return upstreamProtocolOptionsCase_ == 5; } /** *
   * This allows switching on protocol based on ALPN
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; * @return The autoConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig getAutoConfig() { if (upstreamProtocolOptionsCase_ == 5) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } /** *
   * This allows switching on protocol based on ALPN
   * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder getAutoConfigOrBuilder() { if (upstreamProtocolOptionsCase_ == 5) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } public static final int HTTP_FILTERS_FIELD_NUMBER = 6; private java.util.List httpFilters_; /** *
   * .. note::
   *   Upstream HTTP filters are currently in alpha.
   * Optional HTTP filters for the upstream HTTP filter chain.
   * These filters will be applied for all HTTP streams which flow through this
   * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
   * If using upstream HTTP filters, please be aware that local errors sent by
   * upstream HTTP filters will not trigger retries, and local errors sent by
   * upstream HTTP filters will count as a final response if hedging is configured.
   * [#extension-category: envoy.filters.http.upstream]
   * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ @java.lang.Override public java.util.List getHttpFiltersList() { return httpFilters_; } /** *
   * .. note::
   *   Upstream HTTP filters are currently in alpha.
   * Optional HTTP filters for the upstream HTTP filter chain.
   * These filters will be applied for all HTTP streams which flow through this
   * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
   * If using upstream HTTP filters, please be aware that local errors sent by
   * upstream HTTP filters will not trigger retries, and local errors sent by
   * upstream HTTP filters will count as a final response if hedging is configured.
   * [#extension-category: envoy.filters.http.upstream]
   * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ @java.lang.Override public java.util.List getHttpFiltersOrBuilderList() { return httpFilters_; } /** *
   * .. note::
   *   Upstream HTTP filters are currently in alpha.
   * Optional HTTP filters for the upstream HTTP filter chain.
   * These filters will be applied for all HTTP streams which flow through this
   * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
   * If using upstream HTTP filters, please be aware that local errors sent by
   * upstream HTTP filters will not trigger retries, and local errors sent by
   * upstream HTTP filters will count as a final response if hedging is configured.
   * [#extension-category: envoy.filters.http.upstream]
   * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ @java.lang.Override public int getHttpFiltersCount() { return httpFilters_.size(); } /** *
   * .. note::
   *   Upstream HTTP filters are currently in alpha.
   * Optional HTTP filters for the upstream HTTP filter chain.
   * These filters will be applied for all HTTP streams which flow through this
   * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
   * If using upstream HTTP filters, please be aware that local errors sent by
   * upstream HTTP filters will not trigger retries, and local errors sent by
   * upstream HTTP filters will count as a final response if hedging is configured.
   * [#extension-category: envoy.filters.http.upstream]
   * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ @java.lang.Override public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter getHttpFilters(int index) { return httpFilters_.get(index); } /** *
   * .. note::
   *   Upstream HTTP filters are currently in alpha.
   * Optional HTTP filters for the upstream HTTP filter chain.
   * These filters will be applied for all HTTP streams which flow through this
   * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
   * If using upstream HTTP filters, please be aware that local errors sent by
   * upstream HTTP filters will not trigger retries, and local errors sent by
   * upstream HTTP filters will count as a final response if hedging is configured.
   * [#extension-category: envoy.filters.http.upstream]
   * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ @java.lang.Override public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilterOrBuilder getHttpFiltersOrBuilder( int index) { return httpFilters_.get(index); } public static final int HEADER_VALIDATION_CONFIG_FIELD_NUMBER = 7; private io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig headerValidationConfig_; /** *
   * Configuration options for Unified Header Validation (UHV).
   * UHV is an extensible mechanism for checking validity of HTTP responses.
   * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
   * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
   * [#not-implemented-hide:]
   * [#extension-category: envoy.http.header_validators]
   * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; * @return Whether the headerValidationConfig field is set. */ @java.lang.Override public boolean hasHeaderValidationConfig() { return headerValidationConfig_ != null; } /** *
   * Configuration options for Unified Header Validation (UHV).
   * UHV is an extensible mechanism for checking validity of HTTP responses.
   * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
   * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
   * [#not-implemented-hide:]
   * [#extension-category: envoy.http.header_validators]
   * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; * @return The headerValidationConfig. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getHeaderValidationConfig() { return headerValidationConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : headerValidationConfig_; } /** *
   * Configuration options for Unified Header Validation (UHV).
   * UHV is an extensible mechanism for checking validity of HTTP responses.
   * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
   * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
   * [#not-implemented-hide:]
   * [#extension-category: envoy.http.header_validators]
   * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getHeaderValidationConfigOrBuilder() { return getHeaderValidationConfig(); } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (commonHttpProtocolOptions_ != null) { output.writeMessage(1, getCommonHttpProtocolOptions()); } if (upstreamHttpProtocolOptions_ != null) { output.writeMessage(2, getUpstreamHttpProtocolOptions()); } if (upstreamProtocolOptionsCase_ == 3) { output.writeMessage(3, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_); } if (upstreamProtocolOptionsCase_ == 4) { output.writeMessage(4, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_); } if (upstreamProtocolOptionsCase_ == 5) { output.writeMessage(5, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_); } for (int i = 0; i < httpFilters_.size(); i++) { output.writeMessage(6, httpFilters_.get(i)); } if (headerValidationConfig_ != null) { output.writeMessage(7, getHeaderValidationConfig()); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (commonHttpProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getCommonHttpProtocolOptions()); } if (upstreamHttpProtocolOptions_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getUpstreamHttpProtocolOptions()); } if (upstreamProtocolOptionsCase_ == 3) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_); } if (upstreamProtocolOptionsCase_ == 4) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_); } if (upstreamProtocolOptionsCase_ == 5) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_); } for (int i = 0; i < httpFilters_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, httpFilters_.get(i)); } if (headerValidationConfig_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getHeaderValidationConfig()); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions)) { return super.equals(obj); } io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions other = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions) obj; if (hasCommonHttpProtocolOptions() != other.hasCommonHttpProtocolOptions()) return false; if (hasCommonHttpProtocolOptions()) { if (!getCommonHttpProtocolOptions() .equals(other.getCommonHttpProtocolOptions())) return false; } if (hasUpstreamHttpProtocolOptions() != other.hasUpstreamHttpProtocolOptions()) return false; if (hasUpstreamHttpProtocolOptions()) { if (!getUpstreamHttpProtocolOptions() .equals(other.getUpstreamHttpProtocolOptions())) return false; } if (!getHttpFiltersList() .equals(other.getHttpFiltersList())) return false; if (hasHeaderValidationConfig() != other.hasHeaderValidationConfig()) return false; if (hasHeaderValidationConfig()) { if (!getHeaderValidationConfig() .equals(other.getHeaderValidationConfig())) return false; } if (!getUpstreamProtocolOptionsCase().equals(other.getUpstreamProtocolOptionsCase())) return false; switch (upstreamProtocolOptionsCase_) { case 3: if (!getExplicitHttpConfig() .equals(other.getExplicitHttpConfig())) return false; break; case 4: if (!getUseDownstreamProtocolConfig() .equals(other.getUseDownstreamProtocolConfig())) return false; break; case 5: if (!getAutoConfig() .equals(other.getAutoConfig())) return false; break; case 0: default: } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasCommonHttpProtocolOptions()) { hash = (37 * hash) + COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getCommonHttpProtocolOptions().hashCode(); } if (hasUpstreamHttpProtocolOptions()) { hash = (37 * hash) + UPSTREAM_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER; hash = (53 * hash) + getUpstreamHttpProtocolOptions().hashCode(); } if (getHttpFiltersCount() > 0) { hash = (37 * hash) + HTTP_FILTERS_FIELD_NUMBER; hash = (53 * hash) + getHttpFiltersList().hashCode(); } if (hasHeaderValidationConfig()) { hash = (37 * hash) + HEADER_VALIDATION_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getHeaderValidationConfig().hashCode(); } switch (upstreamProtocolOptionsCase_) { case 3: hash = (37 * hash) + EXPLICIT_HTTP_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getExplicitHttpConfig().hashCode(); break; case 4: hash = (37 * hash) + USE_DOWNSTREAM_PROTOCOL_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getUseDownstreamProtocolConfig().hashCode(); break; case 5: hash = (37 * hash) + AUTO_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getAutoConfig().hashCode(); break; case 0: default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * HttpProtocolOptions specifies Http upstream protocol options. This object
   * is used in
   * :ref:`typed_extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`,
   * keyed by the name ``envoy.extensions.upstreams.http.v3.HttpProtocolOptions``.
   * This controls what protocol(s) should be used for upstream and how said protocol(s) are configured.
   * This replaces the prior pattern of explicit protocol configuration directly
   * in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream:
   * .. code::
   *   clusters:
   *     - name: some_service
   *       connect_timeout: 5s
   *       upstream_http_protocol_options:
   *         auto_sni: true
   *       common_http_protocol_options:
   *         idle_timeout: 1s
   *       http2_protocol_options:
   *         max_concurrent_streams: 100
   *        .... [further cluster config]
   * Would now look like this:
   * .. code::
   *   clusters:
   *     - name: some_service
   *       connect_timeout: 5s
   *       typed_extension_protocol_options:
   *         envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
   *           "@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
   *           upstream_http_protocol_options:
   *             auto_sni: true
   *           common_http_protocol_options:
   *             idle_timeout: 1s
   *           explicit_http_config:
   *             http2_protocol_options:
   *               max_concurrent_streams: 100
   *        .... [further cluster config]
   * [#next-free-field: 8]
   * 
* * Protobuf type {@code envoy.extensions.upstreams.http.v3.HttpProtocolOptions} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.extensions.upstreams.http.v3.HttpProtocolOptions) io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.class, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.Builder.class); } // Construct using io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getHttpFiltersFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); if (commonHttpProtocolOptionsBuilder_ == null) { commonHttpProtocolOptions_ = null; } else { commonHttpProtocolOptions_ = null; commonHttpProtocolOptionsBuilder_ = null; } if (upstreamHttpProtocolOptionsBuilder_ == null) { upstreamHttpProtocolOptions_ = null; } else { upstreamHttpProtocolOptions_ = null; upstreamHttpProtocolOptionsBuilder_ = null; } if (httpFiltersBuilder_ == null) { httpFilters_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { httpFiltersBuilder_.clear(); } if (headerValidationConfigBuilder_ == null) { headerValidationConfig_ = null; } else { headerValidationConfig_ = null; headerValidationConfigBuilder_ = null; } upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptionsProto.internal_static_envoy_extensions_upstreams_http_v3_HttpProtocolOptions_descriptor; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions getDefaultInstanceForType() { return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions build() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions buildPartial() { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions result = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions(this); int from_bitField0_ = bitField0_; if (commonHttpProtocolOptionsBuilder_ == null) { result.commonHttpProtocolOptions_ = commonHttpProtocolOptions_; } else { result.commonHttpProtocolOptions_ = commonHttpProtocolOptionsBuilder_.build(); } if (upstreamHttpProtocolOptionsBuilder_ == null) { result.upstreamHttpProtocolOptions_ = upstreamHttpProtocolOptions_; } else { result.upstreamHttpProtocolOptions_ = upstreamHttpProtocolOptionsBuilder_.build(); } if (upstreamProtocolOptionsCase_ == 3) { if (explicitHttpConfigBuilder_ == null) { result.upstreamProtocolOptions_ = upstreamProtocolOptions_; } else { result.upstreamProtocolOptions_ = explicitHttpConfigBuilder_.build(); } } if (upstreamProtocolOptionsCase_ == 4) { if (useDownstreamProtocolConfigBuilder_ == null) { result.upstreamProtocolOptions_ = upstreamProtocolOptions_; } else { result.upstreamProtocolOptions_ = useDownstreamProtocolConfigBuilder_.build(); } } if (upstreamProtocolOptionsCase_ == 5) { if (autoConfigBuilder_ == null) { result.upstreamProtocolOptions_ = upstreamProtocolOptions_; } else { result.upstreamProtocolOptions_ = autoConfigBuilder_.build(); } } if (httpFiltersBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { httpFilters_ = java.util.Collections.unmodifiableList(httpFilters_); bitField0_ = (bitField0_ & ~0x00000001); } result.httpFilters_ = httpFilters_; } else { result.httpFilters_ = httpFiltersBuilder_.build(); } if (headerValidationConfigBuilder_ == null) { result.headerValidationConfig_ = headerValidationConfig_; } else { result.headerValidationConfig_ = headerValidationConfigBuilder_.build(); } result.upstreamProtocolOptionsCase_ = upstreamProtocolOptionsCase_; onBuilt(); return result; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions) { return mergeFrom((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions other) { if (other == io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.getDefaultInstance()) return this; if (other.hasCommonHttpProtocolOptions()) { mergeCommonHttpProtocolOptions(other.getCommonHttpProtocolOptions()); } if (other.hasUpstreamHttpProtocolOptions()) { mergeUpstreamHttpProtocolOptions(other.getUpstreamHttpProtocolOptions()); } if (httpFiltersBuilder_ == null) { if (!other.httpFilters_.isEmpty()) { if (httpFilters_.isEmpty()) { httpFilters_ = other.httpFilters_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureHttpFiltersIsMutable(); httpFilters_.addAll(other.httpFilters_); } onChanged(); } } else { if (!other.httpFilters_.isEmpty()) { if (httpFiltersBuilder_.isEmpty()) { httpFiltersBuilder_.dispose(); httpFiltersBuilder_ = null; httpFilters_ = other.httpFilters_; bitField0_ = (bitField0_ & ~0x00000001); httpFiltersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getHttpFiltersFieldBuilder() : null; } else { httpFiltersBuilder_.addAllMessages(other.httpFilters_); } } } if (other.hasHeaderValidationConfig()) { mergeHeaderValidationConfig(other.getHeaderValidationConfig()); } switch (other.getUpstreamProtocolOptionsCase()) { case EXPLICIT_HTTP_CONFIG: { mergeExplicitHttpConfig(other.getExplicitHttpConfig()); break; } case USE_DOWNSTREAM_PROTOCOL_CONFIG: { mergeUseDownstreamProtocolConfig(other.getUseDownstreamProtocolConfig()); break; } case AUTO_CONFIG: { mergeAutoConfig(other.getAutoConfig()); break; } case UPSTREAMPROTOCOLOPTIONS_NOT_SET: { break; } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int upstreamProtocolOptionsCase_ = 0; private java.lang.Object upstreamProtocolOptions_; public UpstreamProtocolOptionsCase getUpstreamProtocolOptionsCase() { return UpstreamProtocolOptionsCase.forNumber( upstreamProtocolOptionsCase_); } public Builder clearUpstreamProtocolOptions() { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; onChanged(); return this; } private int bitField0_; private io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions commonHttpProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder> commonHttpProtocolOptionsBuilder_; /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; * @return Whether the commonHttpProtocolOptions field is set. */ public boolean hasCommonHttpProtocolOptions() { return commonHttpProtocolOptionsBuilder_ != null || commonHttpProtocolOptions_ != null; } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; * @return The commonHttpProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions getCommonHttpProtocolOptions() { if (commonHttpProtocolOptionsBuilder_ == null) { return commonHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_; } else { return commonHttpProtocolOptionsBuilder_.getMessage(); } } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public Builder setCommonHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions value) { if (commonHttpProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } commonHttpProtocolOptions_ = value; onChanged(); } else { commonHttpProtocolOptionsBuilder_.setMessage(value); } return this; } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public Builder setCommonHttpProtocolOptions( io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder builderForValue) { if (commonHttpProtocolOptionsBuilder_ == null) { commonHttpProtocolOptions_ = builderForValue.build(); onChanged(); } else { commonHttpProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public Builder mergeCommonHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions value) { if (commonHttpProtocolOptionsBuilder_ == null) { if (commonHttpProtocolOptions_ != null) { commonHttpProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.newBuilder(commonHttpProtocolOptions_).mergeFrom(value).buildPartial(); } else { commonHttpProtocolOptions_ = value; } onChanged(); } else { commonHttpProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public Builder clearCommonHttpProtocolOptions() { if (commonHttpProtocolOptionsBuilder_ == null) { commonHttpProtocolOptions_ = null; onChanged(); } else { commonHttpProtocolOptions_ = null; commonHttpProtocolOptionsBuilder_ = null; } return this; } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder getCommonHttpProtocolOptionsBuilder() { onChanged(); return getCommonHttpProtocolOptionsFieldBuilder().getBuilder(); } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ public io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder() { if (commonHttpProtocolOptionsBuilder_ != null) { return commonHttpProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return commonHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_; } } /** *
     * This contains options common across HTTP/1 and HTTP/2
     * 
* * .envoy.config.core.v3.HttpProtocolOptions common_http_protocol_options = 1; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder> getCommonHttpProtocolOptionsFieldBuilder() { if (commonHttpProtocolOptionsBuilder_ == null) { commonHttpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.HttpProtocolOptionsOrBuilder>( getCommonHttpProtocolOptions(), getParentForChildren(), isClean()); commonHttpProtocolOptions_ = null; } return commonHttpProtocolOptionsBuilder_; } private io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions upstreamHttpProtocolOptions_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder> upstreamHttpProtocolOptionsBuilder_; /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; * @return Whether the upstreamHttpProtocolOptions field is set. */ public boolean hasUpstreamHttpProtocolOptions() { return upstreamHttpProtocolOptionsBuilder_ != null || upstreamHttpProtocolOptions_ != null; } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; * @return The upstreamHttpProtocolOptions. */ public io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions getUpstreamHttpProtocolOptions() { if (upstreamHttpProtocolOptionsBuilder_ == null) { return upstreamHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.getDefaultInstance() : upstreamHttpProtocolOptions_; } else { return upstreamHttpProtocolOptionsBuilder_.getMessage(); } } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public Builder setUpstreamHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions value) { if (upstreamHttpProtocolOptionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } upstreamHttpProtocolOptions_ = value; onChanged(); } else { upstreamHttpProtocolOptionsBuilder_.setMessage(value); } return this; } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public Builder setUpstreamHttpProtocolOptions( io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder builderForValue) { if (upstreamHttpProtocolOptionsBuilder_ == null) { upstreamHttpProtocolOptions_ = builderForValue.build(); onChanged(); } else { upstreamHttpProtocolOptionsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public Builder mergeUpstreamHttpProtocolOptions(io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions value) { if (upstreamHttpProtocolOptionsBuilder_ == null) { if (upstreamHttpProtocolOptions_ != null) { upstreamHttpProtocolOptions_ = io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.newBuilder(upstreamHttpProtocolOptions_).mergeFrom(value).buildPartial(); } else { upstreamHttpProtocolOptions_ = value; } onChanged(); } else { upstreamHttpProtocolOptionsBuilder_.mergeFrom(value); } return this; } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public Builder clearUpstreamHttpProtocolOptions() { if (upstreamHttpProtocolOptionsBuilder_ == null) { upstreamHttpProtocolOptions_ = null; onChanged(); } else { upstreamHttpProtocolOptions_ = null; upstreamHttpProtocolOptionsBuilder_ = null; } return this; } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder getUpstreamHttpProtocolOptionsBuilder() { onChanged(); return getUpstreamHttpProtocolOptionsFieldBuilder().getBuilder(); } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ public io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder getUpstreamHttpProtocolOptionsOrBuilder() { if (upstreamHttpProtocolOptionsBuilder_ != null) { return upstreamHttpProtocolOptionsBuilder_.getMessageOrBuilder(); } else { return upstreamHttpProtocolOptions_ == null ? io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.getDefaultInstance() : upstreamHttpProtocolOptions_; } } /** *
     * This contains common protocol options which are only applied upstream.
     * 
* * .envoy.config.core.v3.UpstreamHttpProtocolOptions upstream_http_protocol_options = 2; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder> getUpstreamHttpProtocolOptionsFieldBuilder() { if (upstreamHttpProtocolOptionsBuilder_ == null) { upstreamHttpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptions.Builder, io.envoyproxy.envoy.config.core.v3.UpstreamHttpProtocolOptionsOrBuilder>( getUpstreamHttpProtocolOptions(), getParentForChildren(), isClean()); upstreamHttpProtocolOptions_ = null; } return upstreamHttpProtocolOptionsBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder> explicitHttpConfigBuilder_; /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; * @return Whether the explicitHttpConfig field is set. */ @java.lang.Override public boolean hasExplicitHttpConfig() { return upstreamProtocolOptionsCase_ == 3; } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; * @return The explicitHttpConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig getExplicitHttpConfig() { if (explicitHttpConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 3) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } else { if (upstreamProtocolOptionsCase_ == 3) { return explicitHttpConfigBuilder_.getMessage(); } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ public Builder setExplicitHttpConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig value) { if (explicitHttpConfigBuilder_ == null) { if (value == null) { throw new NullPointerException(); } upstreamProtocolOptions_ = value; onChanged(); } else { explicitHttpConfigBuilder_.setMessage(value); } upstreamProtocolOptionsCase_ = 3; return this; } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ public Builder setExplicitHttpConfig( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder builderForValue) { if (explicitHttpConfigBuilder_ == null) { upstreamProtocolOptions_ = builderForValue.build(); onChanged(); } else { explicitHttpConfigBuilder_.setMessage(builderForValue.build()); } upstreamProtocolOptionsCase_ = 3; return this; } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ public Builder mergeExplicitHttpConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig value) { if (explicitHttpConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 3 && upstreamProtocolOptions_ != io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance()) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.newBuilder((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_) .mergeFrom(value).buildPartial(); } else { upstreamProtocolOptions_ = value; } onChanged(); } else { if (upstreamProtocolOptionsCase_ == 3) { explicitHttpConfigBuilder_.mergeFrom(value); } else { explicitHttpConfigBuilder_.setMessage(value); } } upstreamProtocolOptionsCase_ = 3; return this; } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ public Builder clearExplicitHttpConfig() { if (explicitHttpConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 3) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; onChanged(); } } else { if (upstreamProtocolOptionsCase_ == 3) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; } explicitHttpConfigBuilder_.clear(); } return this; } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder getExplicitHttpConfigBuilder() { return getExplicitHttpConfigFieldBuilder().getBuilder(); } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder getExplicitHttpConfigOrBuilder() { if ((upstreamProtocolOptionsCase_ == 3) && (explicitHttpConfigBuilder_ != null)) { return explicitHttpConfigBuilder_.getMessageOrBuilder(); } else { if (upstreamProtocolOptionsCase_ == 3) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } } /** *
     * To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use ``explicit_http_config``.
     * If the ``explicit_http_config`` is empty, HTTP/1.1 is used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig explicit_http_config = 3; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder> getExplicitHttpConfigFieldBuilder() { if (explicitHttpConfigBuilder_ == null) { if (!(upstreamProtocolOptionsCase_ == 3)) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.getDefaultInstance(); } explicitHttpConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfigOrBuilder>( (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.ExplicitHttpConfig) upstreamProtocolOptions_, getParentForChildren(), isClean()); upstreamProtocolOptions_ = null; } upstreamProtocolOptionsCase_ = 3; onChanged();; return explicitHttpConfigBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder> useDownstreamProtocolConfigBuilder_; /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; * @return Whether the useDownstreamProtocolConfig field is set. */ @java.lang.Override public boolean hasUseDownstreamProtocolConfig() { return upstreamProtocolOptionsCase_ == 4; } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; * @return The useDownstreamProtocolConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig getUseDownstreamProtocolConfig() { if (useDownstreamProtocolConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 4) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } else { if (upstreamProtocolOptionsCase_ == 4) { return useDownstreamProtocolConfigBuilder_.getMessage(); } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ public Builder setUseDownstreamProtocolConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig value) { if (useDownstreamProtocolConfigBuilder_ == null) { if (value == null) { throw new NullPointerException(); } upstreamProtocolOptions_ = value; onChanged(); } else { useDownstreamProtocolConfigBuilder_.setMessage(value); } upstreamProtocolOptionsCase_ = 4; return this; } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ public Builder setUseDownstreamProtocolConfig( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder builderForValue) { if (useDownstreamProtocolConfigBuilder_ == null) { upstreamProtocolOptions_ = builderForValue.build(); onChanged(); } else { useDownstreamProtocolConfigBuilder_.setMessage(builderForValue.build()); } upstreamProtocolOptionsCase_ = 4; return this; } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ public Builder mergeUseDownstreamProtocolConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig value) { if (useDownstreamProtocolConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 4 && upstreamProtocolOptions_ != io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance()) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.newBuilder((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_) .mergeFrom(value).buildPartial(); } else { upstreamProtocolOptions_ = value; } onChanged(); } else { if (upstreamProtocolOptionsCase_ == 4) { useDownstreamProtocolConfigBuilder_.mergeFrom(value); } else { useDownstreamProtocolConfigBuilder_.setMessage(value); } } upstreamProtocolOptionsCase_ = 4; return this; } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ public Builder clearUseDownstreamProtocolConfig() { if (useDownstreamProtocolConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 4) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; onChanged(); } } else { if (upstreamProtocolOptionsCase_ == 4) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; } useDownstreamProtocolConfigBuilder_.clear(); } return this; } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder getUseDownstreamProtocolConfigBuilder() { return getUseDownstreamProtocolConfigFieldBuilder().getBuilder(); } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder getUseDownstreamProtocolConfigOrBuilder() { if ((upstreamProtocolOptionsCase_ == 4) && (useDownstreamProtocolConfigBuilder_ != null)) { return useDownstreamProtocolConfigBuilder_.getMessageOrBuilder(); } else { if (upstreamProtocolOptionsCase_ == 4) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } } /** *
     * This allows switching on protocol based on what protocol the downstream
     * connection used.
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig use_downstream_protocol_config = 4; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder> getUseDownstreamProtocolConfigFieldBuilder() { if (useDownstreamProtocolConfigBuilder_ == null) { if (!(upstreamProtocolOptionsCase_ == 4)) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.getDefaultInstance(); } useDownstreamProtocolConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfigOrBuilder>( (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.UseDownstreamHttpConfig) upstreamProtocolOptions_, getParentForChildren(), isClean()); upstreamProtocolOptions_ = null; } upstreamProtocolOptionsCase_ = 4; onChanged();; return useDownstreamProtocolConfigBuilder_; } private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder> autoConfigBuilder_; /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; * @return Whether the autoConfig field is set. */ @java.lang.Override public boolean hasAutoConfig() { return upstreamProtocolOptionsCase_ == 5; } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; * @return The autoConfig. */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig getAutoConfig() { if (autoConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 5) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } else { if (upstreamProtocolOptionsCase_ == 5) { return autoConfigBuilder_.getMessage(); } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ public Builder setAutoConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig value) { if (autoConfigBuilder_ == null) { if (value == null) { throw new NullPointerException(); } upstreamProtocolOptions_ = value; onChanged(); } else { autoConfigBuilder_.setMessage(value); } upstreamProtocolOptionsCase_ = 5; return this; } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ public Builder setAutoConfig( io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder builderForValue) { if (autoConfigBuilder_ == null) { upstreamProtocolOptions_ = builderForValue.build(); onChanged(); } else { autoConfigBuilder_.setMessage(builderForValue.build()); } upstreamProtocolOptionsCase_ = 5; return this; } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ public Builder mergeAutoConfig(io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig value) { if (autoConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 5 && upstreamProtocolOptions_ != io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance()) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.newBuilder((io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_) .mergeFrom(value).buildPartial(); } else { upstreamProtocolOptions_ = value; } onChanged(); } else { if (upstreamProtocolOptionsCase_ == 5) { autoConfigBuilder_.mergeFrom(value); } else { autoConfigBuilder_.setMessage(value); } } upstreamProtocolOptionsCase_ = 5; return this; } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ public Builder clearAutoConfig() { if (autoConfigBuilder_ == null) { if (upstreamProtocolOptionsCase_ == 5) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; onChanged(); } } else { if (upstreamProtocolOptionsCase_ == 5) { upstreamProtocolOptionsCase_ = 0; upstreamProtocolOptions_ = null; } autoConfigBuilder_.clear(); } return this; } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder getAutoConfigBuilder() { return getAutoConfigFieldBuilder().getBuilder(); } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder getAutoConfigOrBuilder() { if ((upstreamProtocolOptionsCase_ == 5) && (autoConfigBuilder_ != null)) { return autoConfigBuilder_.getMessageOrBuilder(); } else { if (upstreamProtocolOptionsCase_ == 5) { return (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_; } return io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } } /** *
     * This allows switching on protocol based on ALPN
     * 
* * .envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig auto_config = 5; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder> getAutoConfigFieldBuilder() { if (autoConfigBuilder_ == null) { if (!(upstreamProtocolOptionsCase_ == 5)) { upstreamProtocolOptions_ = io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.getDefaultInstance(); } autoConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig.Builder, io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfigOrBuilder>( (io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions.AutoHttpConfig) upstreamProtocolOptions_, getParentForChildren(), isClean()); upstreamProtocolOptions_ = null; } upstreamProtocolOptionsCase_ = 5; onChanged();; return autoConfigBuilder_; } private java.util.List httpFilters_ = java.util.Collections.emptyList(); private void ensureHttpFiltersIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { httpFilters_ = new java.util.ArrayList(httpFilters_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilterOrBuilder> httpFiltersBuilder_; /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public java.util.List getHttpFiltersList() { if (httpFiltersBuilder_ == null) { return java.util.Collections.unmodifiableList(httpFilters_); } else { return httpFiltersBuilder_.getMessageList(); } } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public int getHttpFiltersCount() { if (httpFiltersBuilder_ == null) { return httpFilters_.size(); } else { return httpFiltersBuilder_.getCount(); } } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter getHttpFilters(int index) { if (httpFiltersBuilder_ == null) { return httpFilters_.get(index); } else { return httpFiltersBuilder_.getMessage(index); } } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder setHttpFilters( int index, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter value) { if (httpFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpFiltersIsMutable(); httpFilters_.set(index, value); onChanged(); } else { httpFiltersBuilder_.setMessage(index, value); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder setHttpFilters( int index, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder builderForValue) { if (httpFiltersBuilder_ == null) { ensureHttpFiltersIsMutable(); httpFilters_.set(index, builderForValue.build()); onChanged(); } else { httpFiltersBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder addHttpFilters(io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter value) { if (httpFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpFiltersIsMutable(); httpFilters_.add(value); onChanged(); } else { httpFiltersBuilder_.addMessage(value); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder addHttpFilters( int index, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter value) { if (httpFiltersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureHttpFiltersIsMutable(); httpFilters_.add(index, value); onChanged(); } else { httpFiltersBuilder_.addMessage(index, value); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder addHttpFilters( io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder builderForValue) { if (httpFiltersBuilder_ == null) { ensureHttpFiltersIsMutable(); httpFilters_.add(builderForValue.build()); onChanged(); } else { httpFiltersBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder addHttpFilters( int index, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder builderForValue) { if (httpFiltersBuilder_ == null) { ensureHttpFiltersIsMutable(); httpFilters_.add(index, builderForValue.build()); onChanged(); } else { httpFiltersBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder addAllHttpFilters( java.lang.Iterable values) { if (httpFiltersBuilder_ == null) { ensureHttpFiltersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, httpFilters_); onChanged(); } else { httpFiltersBuilder_.addAllMessages(values); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder clearHttpFilters() { if (httpFiltersBuilder_ == null) { httpFilters_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { httpFiltersBuilder_.clear(); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public Builder removeHttpFilters(int index) { if (httpFiltersBuilder_ == null) { ensureHttpFiltersIsMutable(); httpFilters_.remove(index); onChanged(); } else { httpFiltersBuilder_.remove(index); } return this; } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder getHttpFiltersBuilder( int index) { return getHttpFiltersFieldBuilder().getBuilder(index); } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilterOrBuilder getHttpFiltersOrBuilder( int index) { if (httpFiltersBuilder_ == null) { return httpFilters_.get(index); } else { return httpFiltersBuilder_.getMessageOrBuilder(index); } } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public java.util.List getHttpFiltersOrBuilderList() { if (httpFiltersBuilder_ != null) { return httpFiltersBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(httpFilters_); } } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder addHttpFiltersBuilder() { return getHttpFiltersFieldBuilder().addBuilder( io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.getDefaultInstance()); } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder addHttpFiltersBuilder( int index) { return getHttpFiltersFieldBuilder().addBuilder( index, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.getDefaultInstance()); } /** *
     * .. note::
     *   Upstream HTTP filters are currently in alpha.
     * Optional HTTP filters for the upstream HTTP filter chain.
     * These filters will be applied for all HTTP streams which flow through this
     * cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
     * If using upstream HTTP filters, please be aware that local errors sent by
     * upstream HTTP filters will not trigger retries, and local errors sent by
     * upstream HTTP filters will count as a final response if hedging is configured.
     * [#extension-category: envoy.filters.http.upstream]
     * 
* * repeated .envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; */ public java.util.List getHttpFiltersBuilderList() { return getHttpFiltersFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilterOrBuilder> getHttpFiltersFieldBuilder() { if (httpFiltersBuilder_ == null) { httpFiltersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilter.Builder, io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpFilterOrBuilder>( httpFilters_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); httpFilters_ = null; } return httpFiltersBuilder_; } private io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig headerValidationConfig_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> headerValidationConfigBuilder_; /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; * @return Whether the headerValidationConfig field is set. */ public boolean hasHeaderValidationConfig() { return headerValidationConfigBuilder_ != null || headerValidationConfig_ != null; } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; * @return The headerValidationConfig. */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig getHeaderValidationConfig() { if (headerValidationConfigBuilder_ == null) { return headerValidationConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : headerValidationConfig_; } else { return headerValidationConfigBuilder_.getMessage(); } } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public Builder setHeaderValidationConfig(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) { if (headerValidationConfigBuilder_ == null) { if (value == null) { throw new NullPointerException(); } headerValidationConfig_ = value; onChanged(); } else { headerValidationConfigBuilder_.setMessage(value); } return this; } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public Builder setHeaderValidationConfig( io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder builderForValue) { if (headerValidationConfigBuilder_ == null) { headerValidationConfig_ = builderForValue.build(); onChanged(); } else { headerValidationConfigBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public Builder mergeHeaderValidationConfig(io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig value) { if (headerValidationConfigBuilder_ == null) { if (headerValidationConfig_ != null) { headerValidationConfig_ = io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.newBuilder(headerValidationConfig_).mergeFrom(value).buildPartial(); } else { headerValidationConfig_ = value; } onChanged(); } else { headerValidationConfigBuilder_.mergeFrom(value); } return this; } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public Builder clearHeaderValidationConfig() { if (headerValidationConfigBuilder_ == null) { headerValidationConfig_ = null; onChanged(); } else { headerValidationConfig_ = null; headerValidationConfigBuilder_ = null; } return this; } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder getHeaderValidationConfigBuilder() { onChanged(); return getHeaderValidationConfigFieldBuilder().getBuilder(); } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ public io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder getHeaderValidationConfigOrBuilder() { if (headerValidationConfigBuilder_ != null) { return headerValidationConfigBuilder_.getMessageOrBuilder(); } else { return headerValidationConfig_ == null ? io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.getDefaultInstance() : headerValidationConfig_; } } /** *
     * Configuration options for Unified Header Validation (UHV).
     * UHV is an extensible mechanism for checking validity of HTTP responses.
     * [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
     * Leaving this field unspecified, selects the default header validator ``envoy.http.header_validators.envoy_default``.
     * [#not-implemented-hide:]
     * [#extension-category: envoy.http.header_validators]
     * 
* * .envoy.config.core.v3.TypedExtensionConfig header_validation_config = 7; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder> getHeaderValidationConfigFieldBuilder() { if (headerValidationConfigBuilder_ == null) { headerValidationConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfig.Builder, io.envoyproxy.envoy.config.core.v3.TypedExtensionConfigOrBuilder>( getHeaderValidationConfig(), getParentForChildren(), isClean()); headerValidationConfig_ = null; } return headerValidationConfigBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions) } // @@protoc_insertion_point(class_scope:envoy.extensions.upstreams.http.v3.HttpProtocolOptions) private static final io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions(); } public static io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HttpProtocolOptions parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new HttpProtocolOptions(input, extensionRegistry); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public io.envoyproxy.envoy.extensions.upstreams.http.v3.HttpProtocolOptions getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy