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

io.envoyproxy.envoy.api.v2.RouteConfiguration Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/api/v2/route.proto

package io.envoyproxy.envoy.api.v2;

/**
 * 
 * [#next-free-field: 11]
 * 
* * Protobuf type {@code envoy.api.v2.RouteConfiguration} */ public final class RouteConfiguration extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.api.v2.RouteConfiguration) RouteConfigurationOrBuilder { private static final long serialVersionUID = 0L; // Use RouteConfiguration.newBuilder() to construct. private RouteConfiguration(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private RouteConfiguration() { name_ = ""; virtualHosts_ = java.util.Collections.emptyList(); internalOnlyHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; responseHeadersToAdd_ = java.util.Collections.emptyList(); responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; requestHeadersToAdd_ = java.util.Collections.emptyList(); requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new RouteConfiguration(); } @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } private RouteConfiguration( 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: { java.lang.String s = input.readStringRequireUtf8(); name_ = s; break; } case 18: { if (!((mutable_bitField0_ & 0x00000001) != 0)) { virtualHosts_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000001; } virtualHosts_.add( input.readMessage(io.envoyproxy.envoy.api.v2.route.VirtualHost.parser(), extensionRegistry)); break; } case 26: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000002) != 0)) { internalOnlyHeaders_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000002; } internalOnlyHeaders_.add(s); break; } case 34: { if (!((mutable_bitField0_ & 0x00000004) != 0)) { responseHeadersToAdd_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000004; } responseHeadersToAdd_.add( input.readMessage(io.envoyproxy.envoy.api.v2.core.HeaderValueOption.parser(), extensionRegistry)); break; } case 42: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000008) != 0)) { responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000008; } responseHeadersToRemove_.add(s); break; } case 50: { if (!((mutable_bitField0_ & 0x00000010) != 0)) { requestHeadersToAdd_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000010; } requestHeadersToAdd_.add( input.readMessage(io.envoyproxy.envoy.api.v2.core.HeaderValueOption.parser(), extensionRegistry)); break; } case 58: { com.google.protobuf.BoolValue.Builder subBuilder = null; if (validateClusters_ != null) { subBuilder = validateClusters_.toBuilder(); } validateClusters_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(validateClusters_); validateClusters_ = subBuilder.buildPartial(); } break; } case 66: { java.lang.String s = input.readStringRequireUtf8(); if (!((mutable_bitField0_ & 0x00000020) != 0)) { requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000020; } requestHeadersToRemove_.add(s); break; } case 74: { io.envoyproxy.envoy.api.v2.Vhds.Builder subBuilder = null; if (vhds_ != null) { subBuilder = vhds_.toBuilder(); } vhds_ = input.readMessage(io.envoyproxy.envoy.api.v2.Vhds.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(vhds_); vhds_ = subBuilder.buildPartial(); } break; } case 80: { mostSpecificHeaderMutationsWins_ = input.readBool(); 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)) { virtualHosts_ = java.util.Collections.unmodifiableList(virtualHosts_); } if (((mutable_bitField0_ & 0x00000002) != 0)) { internalOnlyHeaders_ = internalOnlyHeaders_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000004) != 0)) { responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_); } if (((mutable_bitField0_ & 0x00000008) != 0)) { responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView(); } if (((mutable_bitField0_ & 0x00000010) != 0)) { requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_); } if (((mutable_bitField0_ & 0x00000020) != 0)) { requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView(); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.api.v2.RouteProto.internal_static_envoy_api_v2_RouteConfiguration_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.api.v2.RouteProto.internal_static_envoy_api_v2_RouteConfiguration_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.api.v2.RouteConfiguration.class, io.envoyproxy.envoy.api.v2.RouteConfiguration.Builder.class); } public static final int NAME_FIELD_NUMBER = 1; private volatile java.lang.Object name_; /** *
   * The name of the route configuration. For example, it might match
   * :ref:`route_config_name
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
   * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
   * 
* * string name = 1; * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** *
   * The name of the route configuration. For example, it might match
   * :ref:`route_config_name
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
   * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
   * 
* * string name = 1; * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int VIRTUAL_HOSTS_FIELD_NUMBER = 2; private java.util.List virtualHosts_; /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ @java.lang.Override public java.util.List getVirtualHostsList() { return virtualHosts_; } /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ @java.lang.Override public java.util.List getVirtualHostsOrBuilderList() { return virtualHosts_; } /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ @java.lang.Override public int getVirtualHostsCount() { return virtualHosts_.size(); } /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ @java.lang.Override public io.envoyproxy.envoy.api.v2.route.VirtualHost getVirtualHosts(int index) { return virtualHosts_.get(index); } /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ @java.lang.Override public io.envoyproxy.envoy.api.v2.route.VirtualHostOrBuilder getVirtualHostsOrBuilder( int index) { return virtualHosts_.get(index); } public static final int VHDS_FIELD_NUMBER = 9; private io.envoyproxy.envoy.api.v2.Vhds vhds_; /** *
   * An array of virtual hosts will be dynamically loaded via the VHDS API.
   * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
   * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
   * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
   * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
   * taking precedence.
   * 
* * .envoy.api.v2.Vhds vhds = 9; * @return Whether the vhds field is set. */ @java.lang.Override public boolean hasVhds() { return vhds_ != null; } /** *
   * An array of virtual hosts will be dynamically loaded via the VHDS API.
   * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
   * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
   * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
   * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
   * taking precedence.
   * 
* * .envoy.api.v2.Vhds vhds = 9; * @return The vhds. */ @java.lang.Override public io.envoyproxy.envoy.api.v2.Vhds getVhds() { return vhds_ == null ? io.envoyproxy.envoy.api.v2.Vhds.getDefaultInstance() : vhds_; } /** *
   * An array of virtual hosts will be dynamically loaded via the VHDS API.
   * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
   * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
   * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
   * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
   * taking precedence.
   * 
* * .envoy.api.v2.Vhds vhds = 9; */ @java.lang.Override public io.envoyproxy.envoy.api.v2.VhdsOrBuilder getVhdsOrBuilder() { return getVhds(); } public static final int INTERNAL_ONLY_HEADERS_FIELD_NUMBER = 3; private com.google.protobuf.LazyStringList internalOnlyHeaders_; /** *
   * Optionally specifies a list of HTTP headers that the connection manager
   * will consider to be internal only. If they are found on external requests they will be cleaned
   * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
   * information.
   * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @return A list containing the internalOnlyHeaders. */ public com.google.protobuf.ProtocolStringList getInternalOnlyHeadersList() { return internalOnlyHeaders_; } /** *
   * Optionally specifies a list of HTTP headers that the connection manager
   * will consider to be internal only. If they are found on external requests they will be cleaned
   * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
   * information.
   * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @return The count of internalOnlyHeaders. */ public int getInternalOnlyHeadersCount() { return internalOnlyHeaders_.size(); } /** *
   * Optionally specifies a list of HTTP headers that the connection manager
   * will consider to be internal only. If they are found on external requests they will be cleaned
   * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
   * information.
   * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The internalOnlyHeaders at the given index. */ public java.lang.String getInternalOnlyHeaders(int index) { return internalOnlyHeaders_.get(index); } /** *
   * Optionally specifies a list of HTTP headers that the connection manager
   * will consider to be internal only. If they are found on external requests they will be cleaned
   * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
   * information.
   * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the internalOnlyHeaders at the given index. */ public com.google.protobuf.ByteString getInternalOnlyHeadersBytes(int index) { return internalOnlyHeaders_.getByteString(index); } public static final int RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER = 4; private java.util.List responseHeadersToAdd_; /** *
   * Specifies a list of HTTP headers that should be added to each response that
   * the connection manager encodes. Headers specified at this level are applied
   * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResponseHeadersToAddList() { return responseHeadersToAdd_; } /** *
   * Specifies a list of HTTP headers that should be added to each response that
   * the connection manager encodes. Headers specified at this level are applied
   * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getResponseHeadersToAddOrBuilderList() { return responseHeadersToAdd_; } /** *
   * Specifies a list of HTTP headers that should be added to each response that
   * the connection manager encodes. Headers specified at this level are applied
   * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public int getResponseHeadersToAddCount() { return responseHeadersToAdd_.size(); } /** *
   * Specifies a list of HTTP headers that should be added to each response that
   * the connection manager encodes. Headers specified at this level are applied
   * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.api.v2.core.HeaderValueOption getResponseHeadersToAdd(int index) { return responseHeadersToAdd_.get(index); } /** *
   * Specifies a list of HTTP headers that should be added to each response that
   * the connection manager encodes. Headers specified at this level are applied
   * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder( int index) { return responseHeadersToAdd_.get(index); } public static final int RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER = 5; private com.google.protobuf.LazyStringList responseHeadersToRemove_; /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * that the connection manager encodes.
   * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @return A list containing the responseHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList() { return responseHeadersToRemove_; } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * that the connection manager encodes.
   * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @return The count of responseHeadersToRemove. */ public int getResponseHeadersToRemoveCount() { return responseHeadersToRemove_.size(); } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * that the connection manager encodes.
   * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The responseHeadersToRemove at the given index. */ public java.lang.String getResponseHeadersToRemove(int index) { return responseHeadersToRemove_.get(index); } /** *
   * Specifies a list of HTTP headers that should be removed from each response
   * that the connection manager encodes.
   * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the responseHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getResponseHeadersToRemoveBytes(int index) { return responseHeadersToRemove_.getByteString(index); } public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 6; private java.util.List requestHeadersToAdd_; /** *
   * Specifies a list of HTTP headers that should be added to each request
   * routed by the HTTP connection manager. Headers specified at this level are
   * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getRequestHeadersToAddList() { return requestHeadersToAdd_; } /** *
   * Specifies a list of HTTP headers that should be added to each request
   * routed by the HTTP connection manager. Headers specified at this level are
   * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public java.util.List getRequestHeadersToAddOrBuilderList() { return requestHeadersToAdd_; } /** *
   * Specifies a list of HTTP headers that should be added to each request
   * routed by the HTTP connection manager. Headers specified at this level are
   * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public int getRequestHeadersToAddCount() { return requestHeadersToAdd_.size(); } /** *
   * Specifies a list of HTTP headers that should be added to each request
   * routed by the HTTP connection manager. Headers specified at this level are
   * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.api.v2.core.HeaderValueOption getRequestHeadersToAdd(int index) { return requestHeadersToAdd_.get(index); } /** *
   * Specifies a list of HTTP headers that should be added to each request
   * routed by the HTTP connection manager. Headers specified at this level are
   * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
   * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
   * header value syntax, see the documentation on :ref:`custom request headers
   * <config_http_conn_man_headers_custom_request_headers>`.
   * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder( int index) { return requestHeadersToAdd_.get(index); } public static final int REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER = 8; private com.google.protobuf.LazyStringList requestHeadersToRemove_; /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * routed by the HTTP connection manager.
   * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @return A list containing the requestHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList() { return requestHeadersToRemove_; } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * routed by the HTTP connection manager.
   * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @return The count of requestHeadersToRemove. */ public int getRequestHeadersToRemoveCount() { return requestHeadersToRemove_.size(); } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * routed by the HTTP connection manager.
   * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The requestHeadersToRemove at the given index. */ public java.lang.String getRequestHeadersToRemove(int index) { return requestHeadersToRemove_.get(index); } /** *
   * Specifies a list of HTTP headers that should be removed from each request
   * routed by the HTTP connection manager.
   * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the requestHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getRequestHeadersToRemoveBytes(int index) { return requestHeadersToRemove_.getByteString(index); } public static final int MOST_SPECIFIC_HEADER_MUTATIONS_WINS_FIELD_NUMBER = 10; private boolean mostSpecificHeaderMutationsWins_; /** *
   * By default, headers that should be added/removed are evaluated from most to least specific:
   * * route level
   * * virtual host level
   * * connection manager level
   * To allow setting overrides at the route or virtual host level, this order can be reversed
   * by setting this option to true. Defaults to false.
   * [#next-major-version: In the v3 API, this will default to true.]
   * 
* * bool most_specific_header_mutations_wins = 10; * @return The mostSpecificHeaderMutationsWins. */ @java.lang.Override public boolean getMostSpecificHeaderMutationsWins() { return mostSpecificHeaderMutationsWins_; } public static final int VALIDATE_CLUSTERS_FIELD_NUMBER = 7; private com.google.protobuf.BoolValue validateClusters_; /** *
   * An optional boolean that specifies whether the clusters that the route
   * table refers to will be validated by the cluster manager. If set to true
   * and a route refers to a non-existent cluster, the route table will not
   * load. If set to false and a route refers to a non-existent cluster, the
   * route table will load and the router filter will return a 404 if the route
   * is selected at runtime. This setting defaults to true if the route table
   * is statically defined via the :ref:`route_config
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
   * option. Users may wish to override the default behavior in certain cases (for example when
   * using CDS with a static route table).
   * 
* * .google.protobuf.BoolValue validate_clusters = 7; * @return Whether the validateClusters field is set. */ @java.lang.Override public boolean hasValidateClusters() { return validateClusters_ != null; } /** *
   * An optional boolean that specifies whether the clusters that the route
   * table refers to will be validated by the cluster manager. If set to true
   * and a route refers to a non-existent cluster, the route table will not
   * load. If set to false and a route refers to a non-existent cluster, the
   * route table will load and the router filter will return a 404 if the route
   * is selected at runtime. This setting defaults to true if the route table
   * is statically defined via the :ref:`route_config
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
   * option. Users may wish to override the default behavior in certain cases (for example when
   * using CDS with a static route table).
   * 
* * .google.protobuf.BoolValue validate_clusters = 7; * @return The validateClusters. */ @java.lang.Override public com.google.protobuf.BoolValue getValidateClusters() { return validateClusters_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : validateClusters_; } /** *
   * An optional boolean that specifies whether the clusters that the route
   * table refers to will be validated by the cluster manager. If set to true
   * and a route refers to a non-existent cluster, the route table will not
   * load. If set to false and a route refers to a non-existent cluster, the
   * route table will load and the router filter will return a 404 if the route
   * is selected at runtime. This setting defaults to true if the route table
   * is statically defined via the :ref:`route_config
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
   * option. Users may wish to override the default behavior in certain cases (for example when
   * using CDS with a static route table).
   * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ @java.lang.Override public com.google.protobuf.BoolValueOrBuilder getValidateClustersOrBuilder() { return getValidateClusters(); } 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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } for (int i = 0; i < virtualHosts_.size(); i++) { output.writeMessage(2, virtualHosts_.get(i)); } for (int i = 0; i < internalOnlyHeaders_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, internalOnlyHeaders_.getRaw(i)); } for (int i = 0; i < responseHeadersToAdd_.size(); i++) { output.writeMessage(4, responseHeadersToAdd_.get(i)); } for (int i = 0; i < responseHeadersToRemove_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, responseHeadersToRemove_.getRaw(i)); } for (int i = 0; i < requestHeadersToAdd_.size(); i++) { output.writeMessage(6, requestHeadersToAdd_.get(i)); } if (validateClusters_ != null) { output.writeMessage(7, getValidateClusters()); } for (int i = 0; i < requestHeadersToRemove_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, requestHeadersToRemove_.getRaw(i)); } if (vhds_ != null) { output.writeMessage(9, getVhds()); } if (mostSpecificHeaderMutationsWins_ != false) { output.writeBool(10, mostSpecificHeaderMutationsWins_); } unknownFields.writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } for (int i = 0; i < virtualHosts_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, virtualHosts_.get(i)); } { int dataSize = 0; for (int i = 0; i < internalOnlyHeaders_.size(); i++) { dataSize += computeStringSizeNoTag(internalOnlyHeaders_.getRaw(i)); } size += dataSize; size += 1 * getInternalOnlyHeadersList().size(); } for (int i = 0; i < responseHeadersToAdd_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, responseHeadersToAdd_.get(i)); } { int dataSize = 0; for (int i = 0; i < responseHeadersToRemove_.size(); i++) { dataSize += computeStringSizeNoTag(responseHeadersToRemove_.getRaw(i)); } size += dataSize; size += 1 * getResponseHeadersToRemoveList().size(); } for (int i = 0; i < requestHeadersToAdd_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, requestHeadersToAdd_.get(i)); } if (validateClusters_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getValidateClusters()); } { int dataSize = 0; for (int i = 0; i < requestHeadersToRemove_.size(); i++) { dataSize += computeStringSizeNoTag(requestHeadersToRemove_.getRaw(i)); } size += dataSize; size += 1 * getRequestHeadersToRemoveList().size(); } if (vhds_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, getVhds()); } if (mostSpecificHeaderMutationsWins_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(10, mostSpecificHeaderMutationsWins_); } 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.api.v2.RouteConfiguration)) { return super.equals(obj); } io.envoyproxy.envoy.api.v2.RouteConfiguration other = (io.envoyproxy.envoy.api.v2.RouteConfiguration) obj; if (!getName() .equals(other.getName())) return false; if (!getVirtualHostsList() .equals(other.getVirtualHostsList())) return false; if (hasVhds() != other.hasVhds()) return false; if (hasVhds()) { if (!getVhds() .equals(other.getVhds())) return false; } if (!getInternalOnlyHeadersList() .equals(other.getInternalOnlyHeadersList())) return false; if (!getResponseHeadersToAddList() .equals(other.getResponseHeadersToAddList())) return false; if (!getResponseHeadersToRemoveList() .equals(other.getResponseHeadersToRemoveList())) return false; if (!getRequestHeadersToAddList() .equals(other.getRequestHeadersToAddList())) return false; if (!getRequestHeadersToRemoveList() .equals(other.getRequestHeadersToRemoveList())) return false; if (getMostSpecificHeaderMutationsWins() != other.getMostSpecificHeaderMutationsWins()) return false; if (hasValidateClusters() != other.hasValidateClusters()) return false; if (hasValidateClusters()) { if (!getValidateClusters() .equals(other.getValidateClusters())) 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(); hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); if (getVirtualHostsCount() > 0) { hash = (37 * hash) + VIRTUAL_HOSTS_FIELD_NUMBER; hash = (53 * hash) + getVirtualHostsList().hashCode(); } if (hasVhds()) { hash = (37 * hash) + VHDS_FIELD_NUMBER; hash = (53 * hash) + getVhds().hashCode(); } if (getInternalOnlyHeadersCount() > 0) { hash = (37 * hash) + INTERNAL_ONLY_HEADERS_FIELD_NUMBER; hash = (53 * hash) + getInternalOnlyHeadersList().hashCode(); } if (getResponseHeadersToAddCount() > 0) { hash = (37 * hash) + RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER; hash = (53 * hash) + getResponseHeadersToAddList().hashCode(); } if (getResponseHeadersToRemoveCount() > 0) { hash = (37 * hash) + RESPONSE_HEADERS_TO_REMOVE_FIELD_NUMBER; hash = (53 * hash) + getResponseHeadersToRemoveList().hashCode(); } if (getRequestHeadersToAddCount() > 0) { hash = (37 * hash) + REQUEST_HEADERS_TO_ADD_FIELD_NUMBER; hash = (53 * hash) + getRequestHeadersToAddList().hashCode(); } if (getRequestHeadersToRemoveCount() > 0) { hash = (37 * hash) + REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER; hash = (53 * hash) + getRequestHeadersToRemoveList().hashCode(); } hash = (37 * hash) + MOST_SPECIFIC_HEADER_MUTATIONS_WINS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getMostSpecificHeaderMutationsWins()); if (hasValidateClusters()) { hash = (37 * hash) + VALIDATE_CLUSTERS_FIELD_NUMBER; hash = (53 * hash) + getValidateClusters().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.api.v2.RouteConfiguration parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration 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.api.v2.RouteConfiguration parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration 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.api.v2.RouteConfiguration parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration 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.api.v2.RouteConfiguration parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration 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.api.v2.RouteConfiguration parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration 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.api.v2.RouteConfiguration 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; } /** *
   * [#next-free-field: 11]
   * 
* * Protobuf type {@code envoy.api.v2.RouteConfiguration} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.api.v2.RouteConfiguration) io.envoyproxy.envoy.api.v2.RouteConfigurationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.api.v2.RouteProto.internal_static_envoy_api_v2_RouteConfiguration_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.api.v2.RouteProto.internal_static_envoy_api_v2_RouteConfiguration_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.api.v2.RouteConfiguration.class, io.envoyproxy.envoy.api.v2.RouteConfiguration.Builder.class); } // Construct using io.envoyproxy.envoy.api.v2.RouteConfiguration.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getVirtualHostsFieldBuilder(); getResponseHeadersToAddFieldBuilder(); getRequestHeadersToAddFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); name_ = ""; if (virtualHostsBuilder_ == null) { virtualHosts_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); } else { virtualHostsBuilder_.clear(); } if (vhdsBuilder_ == null) { vhds_ = null; } else { vhds_ = null; vhdsBuilder_ = null; } internalOnlyHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); if (responseHeadersToAddBuilder_ == null) { responseHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); } else { responseHeadersToAddBuilder_.clear(); } responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); if (requestHeadersToAddBuilder_ == null) { requestHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); } else { requestHeadersToAddBuilder_.clear(); } requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000020); mostSpecificHeaderMutationsWins_ = false; if (validateClustersBuilder_ == null) { validateClusters_ = null; } else { validateClusters_ = null; validateClustersBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.api.v2.RouteProto.internal_static_envoy_api_v2_RouteConfiguration_descriptor; } @java.lang.Override public io.envoyproxy.envoy.api.v2.RouteConfiguration getDefaultInstanceForType() { return io.envoyproxy.envoy.api.v2.RouteConfiguration.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.api.v2.RouteConfiguration build() { io.envoyproxy.envoy.api.v2.RouteConfiguration result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.api.v2.RouteConfiguration buildPartial() { io.envoyproxy.envoy.api.v2.RouteConfiguration result = new io.envoyproxy.envoy.api.v2.RouteConfiguration(this); int from_bitField0_ = bitField0_; result.name_ = name_; if (virtualHostsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { virtualHosts_ = java.util.Collections.unmodifiableList(virtualHosts_); bitField0_ = (bitField0_ & ~0x00000001); } result.virtualHosts_ = virtualHosts_; } else { result.virtualHosts_ = virtualHostsBuilder_.build(); } if (vhdsBuilder_ == null) { result.vhds_ = vhds_; } else { result.vhds_ = vhdsBuilder_.build(); } if (((bitField0_ & 0x00000002) != 0)) { internalOnlyHeaders_ = internalOnlyHeaders_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000002); } result.internalOnlyHeaders_ = internalOnlyHeaders_; if (responseHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00000004); } result.responseHeadersToAdd_ = responseHeadersToAdd_; } else { result.responseHeadersToAdd_ = responseHeadersToAddBuilder_.build(); } if (((bitField0_ & 0x00000008) != 0)) { responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000008); } result.responseHeadersToRemove_ = responseHeadersToRemove_; if (requestHeadersToAddBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_); bitField0_ = (bitField0_ & ~0x00000010); } result.requestHeadersToAdd_ = requestHeadersToAdd_; } else { result.requestHeadersToAdd_ = requestHeadersToAddBuilder_.build(); } if (((bitField0_ & 0x00000020) != 0)) { requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000020); } result.requestHeadersToRemove_ = requestHeadersToRemove_; result.mostSpecificHeaderMutationsWins_ = mostSpecificHeaderMutationsWins_; if (validateClustersBuilder_ == null) { result.validateClusters_ = validateClusters_; } else { result.validateClusters_ = validateClustersBuilder_.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.api.v2.RouteConfiguration) { return mergeFrom((io.envoyproxy.envoy.api.v2.RouteConfiguration)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.api.v2.RouteConfiguration other) { if (other == io.envoyproxy.envoy.api.v2.RouteConfiguration.getDefaultInstance()) return this; if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } if (virtualHostsBuilder_ == null) { if (!other.virtualHosts_.isEmpty()) { if (virtualHosts_.isEmpty()) { virtualHosts_ = other.virtualHosts_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureVirtualHostsIsMutable(); virtualHosts_.addAll(other.virtualHosts_); } onChanged(); } } else { if (!other.virtualHosts_.isEmpty()) { if (virtualHostsBuilder_.isEmpty()) { virtualHostsBuilder_.dispose(); virtualHostsBuilder_ = null; virtualHosts_ = other.virtualHosts_; bitField0_ = (bitField0_ & ~0x00000001); virtualHostsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getVirtualHostsFieldBuilder() : null; } else { virtualHostsBuilder_.addAllMessages(other.virtualHosts_); } } } if (other.hasVhds()) { mergeVhds(other.getVhds()); } if (!other.internalOnlyHeaders_.isEmpty()) { if (internalOnlyHeaders_.isEmpty()) { internalOnlyHeaders_ = other.internalOnlyHeaders_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureInternalOnlyHeadersIsMutable(); internalOnlyHeaders_.addAll(other.internalOnlyHeaders_); } onChanged(); } if (responseHeadersToAddBuilder_ == null) { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAdd_.isEmpty()) { responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.addAll(other.responseHeadersToAdd_); } onChanged(); } } else { if (!other.responseHeadersToAdd_.isEmpty()) { if (responseHeadersToAddBuilder_.isEmpty()) { responseHeadersToAddBuilder_.dispose(); responseHeadersToAddBuilder_ = null; responseHeadersToAdd_ = other.responseHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000004); responseHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getResponseHeadersToAddFieldBuilder() : null; } else { responseHeadersToAddBuilder_.addAllMessages(other.responseHeadersToAdd_); } } } if (!other.responseHeadersToRemove_.isEmpty()) { if (responseHeadersToRemove_.isEmpty()) { responseHeadersToRemove_ = other.responseHeadersToRemove_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.addAll(other.responseHeadersToRemove_); } onChanged(); } if (requestHeadersToAddBuilder_ == null) { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAdd_.isEmpty()) { requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.addAll(other.requestHeadersToAdd_); } onChanged(); } } else { if (!other.requestHeadersToAdd_.isEmpty()) { if (requestHeadersToAddBuilder_.isEmpty()) { requestHeadersToAddBuilder_.dispose(); requestHeadersToAddBuilder_ = null; requestHeadersToAdd_ = other.requestHeadersToAdd_; bitField0_ = (bitField0_ & ~0x00000010); requestHeadersToAddBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRequestHeadersToAddFieldBuilder() : null; } else { requestHeadersToAddBuilder_.addAllMessages(other.requestHeadersToAdd_); } } } if (!other.requestHeadersToRemove_.isEmpty()) { if (requestHeadersToRemove_.isEmpty()) { requestHeadersToRemove_ = other.requestHeadersToRemove_; bitField0_ = (bitField0_ & ~0x00000020); } else { ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.addAll(other.requestHeadersToRemove_); } onChanged(); } if (other.getMostSpecificHeaderMutationsWins() != false) { setMostSpecificHeaderMutationsWins(other.getMostSpecificHeaderMutationsWins()); } if (other.hasValidateClusters()) { mergeValidateClusters(other.getValidateClusters()); } 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.api.v2.RouteConfiguration parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.api.v2.RouteConfiguration) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_; private java.lang.Object name_ = ""; /** *
     * The name of the route configuration. For example, it might match
     * :ref:`route_config_name
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
     * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
     * 
* * string name = 1; * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The name of the route configuration. For example, it might match
     * :ref:`route_config_name
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
     * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
     * 
* * string name = 1; * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The name of the route configuration. For example, it might match
     * :ref:`route_config_name
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
     * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
     * 
* * string name = 1; * @param value The name to set. * @return This builder for chaining. */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; onChanged(); return this; } /** *
     * The name of the route configuration. For example, it might match
     * :ref:`route_config_name
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
     * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
     * 
* * string name = 1; * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); onChanged(); return this; } /** *
     * The name of the route configuration. For example, it might match
     * :ref:`route_config_name
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.Rds.route_config_name>` in
     * :ref:`envoy_api_msg_config.filter.network.http_connection_manager.v2.Rds`.
     * 
* * string name = 1; * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; onChanged(); return this; } private java.util.List virtualHosts_ = java.util.Collections.emptyList(); private void ensureVirtualHostsIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { virtualHosts_ = new java.util.ArrayList(virtualHosts_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.route.VirtualHost, io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder, io.envoyproxy.envoy.api.v2.route.VirtualHostOrBuilder> virtualHostsBuilder_; /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public java.util.List getVirtualHostsList() { if (virtualHostsBuilder_ == null) { return java.util.Collections.unmodifiableList(virtualHosts_); } else { return virtualHostsBuilder_.getMessageList(); } } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public int getVirtualHostsCount() { if (virtualHostsBuilder_ == null) { return virtualHosts_.size(); } else { return virtualHostsBuilder_.getCount(); } } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.api.v2.route.VirtualHost getVirtualHosts(int index) { if (virtualHostsBuilder_ == null) { return virtualHosts_.get(index); } else { return virtualHostsBuilder_.getMessage(index); } } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder setVirtualHosts( int index, io.envoyproxy.envoy.api.v2.route.VirtualHost value) { if (virtualHostsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureVirtualHostsIsMutable(); virtualHosts_.set(index, value); onChanged(); } else { virtualHostsBuilder_.setMessage(index, value); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder setVirtualHosts( int index, io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder builderForValue) { if (virtualHostsBuilder_ == null) { ensureVirtualHostsIsMutable(); virtualHosts_.set(index, builderForValue.build()); onChanged(); } else { virtualHostsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts(io.envoyproxy.envoy.api.v2.route.VirtualHost value) { if (virtualHostsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureVirtualHostsIsMutable(); virtualHosts_.add(value); onChanged(); } else { virtualHostsBuilder_.addMessage(value); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( int index, io.envoyproxy.envoy.api.v2.route.VirtualHost value) { if (virtualHostsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureVirtualHostsIsMutable(); virtualHosts_.add(index, value); onChanged(); } else { virtualHostsBuilder_.addMessage(index, value); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder builderForValue) { if (virtualHostsBuilder_ == null) { ensureVirtualHostsIsMutable(); virtualHosts_.add(builderForValue.build()); onChanged(); } else { virtualHostsBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( int index, io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder builderForValue) { if (virtualHostsBuilder_ == null) { ensureVirtualHostsIsMutable(); virtualHosts_.add(index, builderForValue.build()); onChanged(); } else { virtualHostsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder addAllVirtualHosts( java.lang.Iterable values) { if (virtualHostsBuilder_ == null) { ensureVirtualHostsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, virtualHosts_); onChanged(); } else { virtualHostsBuilder_.addAllMessages(values); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder clearVirtualHosts() { if (virtualHostsBuilder_ == null) { virtualHosts_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { virtualHostsBuilder_.clear(); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public Builder removeVirtualHosts(int index) { if (virtualHostsBuilder_ == null) { ensureVirtualHostsIsMutable(); virtualHosts_.remove(index); onChanged(); } else { virtualHostsBuilder_.remove(index); } return this; } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder getVirtualHostsBuilder( int index) { return getVirtualHostsFieldBuilder().getBuilder(index); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.api.v2.route.VirtualHostOrBuilder getVirtualHostsOrBuilder( int index) { if (virtualHostsBuilder_ == null) { return virtualHosts_.get(index); } else { return virtualHostsBuilder_.getMessageOrBuilder(index); } } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public java.util.List getVirtualHostsOrBuilderList() { if (virtualHostsBuilder_ != null) { return virtualHostsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(virtualHosts_); } } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder addVirtualHostsBuilder() { return getVirtualHostsFieldBuilder().addBuilder( io.envoyproxy.envoy.api.v2.route.VirtualHost.getDefaultInstance()); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder addVirtualHostsBuilder( int index) { return getVirtualHostsFieldBuilder().addBuilder( index, io.envoyproxy.envoy.api.v2.route.VirtualHost.getDefaultInstance()); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.api.v2.route.VirtualHost virtual_hosts = 2; */ public java.util.List getVirtualHostsBuilderList() { return getVirtualHostsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.route.VirtualHost, io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder, io.envoyproxy.envoy.api.v2.route.VirtualHostOrBuilder> getVirtualHostsFieldBuilder() { if (virtualHostsBuilder_ == null) { virtualHostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.route.VirtualHost, io.envoyproxy.envoy.api.v2.route.VirtualHost.Builder, io.envoyproxy.envoy.api.v2.route.VirtualHostOrBuilder>( virtualHosts_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); virtualHosts_ = null; } return virtualHostsBuilder_; } private io.envoyproxy.envoy.api.v2.Vhds vhds_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.api.v2.Vhds, io.envoyproxy.envoy.api.v2.Vhds.Builder, io.envoyproxy.envoy.api.v2.VhdsOrBuilder> vhdsBuilder_; /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; * @return Whether the vhds field is set. */ public boolean hasVhds() { return vhdsBuilder_ != null || vhds_ != null; } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; * @return The vhds. */ public io.envoyproxy.envoy.api.v2.Vhds getVhds() { if (vhdsBuilder_ == null) { return vhds_ == null ? io.envoyproxy.envoy.api.v2.Vhds.getDefaultInstance() : vhds_; } else { return vhdsBuilder_.getMessage(); } } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public Builder setVhds(io.envoyproxy.envoy.api.v2.Vhds value) { if (vhdsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } vhds_ = value; onChanged(); } else { vhdsBuilder_.setMessage(value); } return this; } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public Builder setVhds( io.envoyproxy.envoy.api.v2.Vhds.Builder builderForValue) { if (vhdsBuilder_ == null) { vhds_ = builderForValue.build(); onChanged(); } else { vhdsBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public Builder mergeVhds(io.envoyproxy.envoy.api.v2.Vhds value) { if (vhdsBuilder_ == null) { if (vhds_ != null) { vhds_ = io.envoyproxy.envoy.api.v2.Vhds.newBuilder(vhds_).mergeFrom(value).buildPartial(); } else { vhds_ = value; } onChanged(); } else { vhdsBuilder_.mergeFrom(value); } return this; } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public Builder clearVhds() { if (vhdsBuilder_ == null) { vhds_ = null; onChanged(); } else { vhds_ = null; vhdsBuilder_ = null; } return this; } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public io.envoyproxy.envoy.api.v2.Vhds.Builder getVhdsBuilder() { onChanged(); return getVhdsFieldBuilder().getBuilder(); } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ public io.envoyproxy.envoy.api.v2.VhdsOrBuilder getVhdsOrBuilder() { if (vhdsBuilder_ != null) { return vhdsBuilder_.getMessageOrBuilder(); } else { return vhds_ == null ? io.envoyproxy.envoy.api.v2.Vhds.getDefaultInstance() : vhds_; } } /** *
     * An array of virtual hosts will be dynamically loaded via the VHDS API.
     * Both *virtual_hosts* and *vhds* fields will be used when present. *virtual_hosts* can be used
     * for a base routing table or for infrequently changing virtual hosts. *vhds* is used for
     * on-demand discovery of virtual hosts. The contents of these two fields will be merged to
     * generate a routing table for a given RouteConfiguration, with *vhds* derived configuration
     * taking precedence.
     * 
* * .envoy.api.v2.Vhds vhds = 9; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.api.v2.Vhds, io.envoyproxy.envoy.api.v2.Vhds.Builder, io.envoyproxy.envoy.api.v2.VhdsOrBuilder> getVhdsFieldBuilder() { if (vhdsBuilder_ == null) { vhdsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.api.v2.Vhds, io.envoyproxy.envoy.api.v2.Vhds.Builder, io.envoyproxy.envoy.api.v2.VhdsOrBuilder>( getVhds(), getParentForChildren(), isClean()); vhds_ = null; } return vhdsBuilder_; } private com.google.protobuf.LazyStringList internalOnlyHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureInternalOnlyHeadersIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { internalOnlyHeaders_ = new com.google.protobuf.LazyStringArrayList(internalOnlyHeaders_); bitField0_ |= 0x00000002; } } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @return A list containing the internalOnlyHeaders. */ public com.google.protobuf.ProtocolStringList getInternalOnlyHeadersList() { return internalOnlyHeaders_.getUnmodifiableView(); } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @return The count of internalOnlyHeaders. */ public int getInternalOnlyHeadersCount() { return internalOnlyHeaders_.size(); } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The internalOnlyHeaders at the given index. */ public java.lang.String getInternalOnlyHeaders(int index) { return internalOnlyHeaders_.get(index); } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the internalOnlyHeaders at the given index. */ public com.google.protobuf.ByteString getInternalOnlyHeadersBytes(int index) { return internalOnlyHeaders_.getByteString(index); } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param index The index to set the value at. * @param value The internalOnlyHeaders to set. * @return This builder for chaining. */ public Builder setInternalOnlyHeaders( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureInternalOnlyHeadersIsMutable(); internalOnlyHeaders_.set(index, value); onChanged(); return this; } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param value The internalOnlyHeaders to add. * @return This builder for chaining. */ public Builder addInternalOnlyHeaders( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureInternalOnlyHeadersIsMutable(); internalOnlyHeaders_.add(value); onChanged(); return this; } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param values The internalOnlyHeaders to add. * @return This builder for chaining. */ public Builder addAllInternalOnlyHeaders( java.lang.Iterable values) { ensureInternalOnlyHeadersIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, internalOnlyHeaders_); onChanged(); return this; } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @return This builder for chaining. */ public Builder clearInternalOnlyHeaders() { internalOnlyHeaders_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
     * Optionally specifies a list of HTTP headers that the connection manager
     * will consider to be internal only. If they are found on external requests they will be cleaned
     * prior to filter invocation. See :ref:`config_http_conn_man_headers_x-envoy-internal` for more
     * information.
     * 
* * repeated string internal_only_headers = 3 [(.validate.rules) = { ... } * @param value The bytes of the internalOnlyHeaders to add. * @return This builder for chaining. */ public Builder addInternalOnlyHeadersBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureInternalOnlyHeadersIsMutable(); internalOnlyHeaders_.add(value); onChanged(); return this; } private java.util.List responseHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureResponseHeadersToAddIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { responseHeadersToAdd_ = new java.util.ArrayList(responseHeadersToAdd_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder> responseHeadersToAddBuilder_; /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddList() { if (responseHeadersToAddBuilder_ == null) { return java.util.Collections.unmodifiableList(responseHeadersToAdd_); } else { return responseHeadersToAddBuilder_.getMessageList(); } } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public int getResponseHeadersToAddCount() { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.size(); } else { return responseHeadersToAddBuilder_.getCount(); } } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption getResponseHeadersToAdd(int index) { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.get(index); } else { return responseHeadersToAddBuilder_.getMessage(index); } } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.set(index, value); onChanged(); } else { responseHeadersToAddBuilder_.setMessage(index, value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.set(index, builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd(io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(value); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (responseHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(index, value); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(index, value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.add(index, builderForValue.build()); onChanged(); } else { responseHeadersToAddBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addAllResponseHeadersToAdd( java.lang.Iterable values) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, responseHeadersToAdd_); onChanged(); } else { responseHeadersToAddBuilder_.addAllMessages(values); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder clearResponseHeadersToAdd() { if (responseHeadersToAddBuilder_ == null) { responseHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { responseHeadersToAddBuilder_.clear(); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder removeResponseHeadersToAdd(int index) { if (responseHeadersToAddBuilder_ == null) { ensureResponseHeadersToAddIsMutable(); responseHeadersToAdd_.remove(index); onChanged(); } else { responseHeadersToAddBuilder_.remove(index); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder getResponseHeadersToAddBuilder( int index) { return getResponseHeadersToAddFieldBuilder().getBuilder(index); } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder( int index) { if (responseHeadersToAddBuilder_ == null) { return responseHeadersToAdd_.get(index); } else { return responseHeadersToAddBuilder_.getMessageOrBuilder(index); } } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddOrBuilderList() { if (responseHeadersToAddBuilder_ != null) { return responseHeadersToAddBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(responseHeadersToAdd_); } } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder addResponseHeadersToAddBuilder() { return getResponseHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.api.v2.core.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder addResponseHeadersToAddBuilder( int index) { return getResponseHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a list of HTTP headers that should be added to each response that
     * the connection manager encodes. Headers specified at this level are applied
     * after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddBuilderList() { return getResponseHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder> getResponseHeadersToAddFieldBuilder() { if (responseHeadersToAddBuilder_ == null) { responseHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder>( responseHeadersToAdd_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); responseHeadersToAdd_ = null; } return responseHeadersToAddBuilder_; } private com.google.protobuf.LazyStringList responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureResponseHeadersToRemoveIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(responseHeadersToRemove_); bitField0_ |= 0x00000008; } } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @return A list containing the responseHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getResponseHeadersToRemoveList() { return responseHeadersToRemove_.getUnmodifiableView(); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @return The count of responseHeadersToRemove. */ public int getResponseHeadersToRemoveCount() { return responseHeadersToRemove_.size(); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The responseHeadersToRemove at the given index. */ public java.lang.String getResponseHeadersToRemove(int index) { return responseHeadersToRemove_.get(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the responseHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getResponseHeadersToRemoveBytes(int index) { return responseHeadersToRemove_.getByteString(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param index The index to set the value at. * @param value The responseHeadersToRemove to set. * @return This builder for chaining. */ public Builder setResponseHeadersToRemove( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.set(index, value); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param value The responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addResponseHeadersToRemove( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.add(value); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param values The responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addAllResponseHeadersToRemove( java.lang.Iterable values) { ensureResponseHeadersToRemoveIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, responseHeadersToRemove_); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @return This builder for chaining. */ public Builder clearResponseHeadersToRemove() { responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each response
     * that the connection manager encodes.
     * 
* * repeated string response_headers_to_remove = 5 [(.validate.rules) = { ... } * @param value The bytes of the responseHeadersToRemove to add. * @return This builder for chaining. */ public Builder addResponseHeadersToRemoveBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureResponseHeadersToRemoveIsMutable(); responseHeadersToRemove_.add(value); onChanged(); return this; } private java.util.List requestHeadersToAdd_ = java.util.Collections.emptyList(); private void ensureRequestHeadersToAddIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { requestHeadersToAdd_ = new java.util.ArrayList(requestHeadersToAdd_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder> requestHeadersToAddBuilder_; /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddList() { if (requestHeadersToAddBuilder_ == null) { return java.util.Collections.unmodifiableList(requestHeadersToAdd_); } else { return requestHeadersToAddBuilder_.getMessageList(); } } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public int getRequestHeadersToAddCount() { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.size(); } else { return requestHeadersToAddBuilder_.getCount(); } } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption getRequestHeadersToAdd(int index) { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.get(index); } else { return requestHeadersToAddBuilder_.getMessage(index); } } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.set(index, value); onChanged(); } else { requestHeadersToAddBuilder_.setMessage(index, value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.set(index, builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd(io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(value); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption value) { if (requestHeadersToAddBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(index, value); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(index, value); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.add(index, builderForValue.build()); onChanged(); } else { requestHeadersToAddBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addAllRequestHeadersToAdd( java.lang.Iterable values) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requestHeadersToAdd_); onChanged(); } else { requestHeadersToAddBuilder_.addAllMessages(values); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder clearRequestHeadersToAdd() { if (requestHeadersToAddBuilder_ == null) { requestHeadersToAdd_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { requestHeadersToAddBuilder_.clear(); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder removeRequestHeadersToAdd(int index) { if (requestHeadersToAddBuilder_ == null) { ensureRequestHeadersToAddIsMutable(); requestHeadersToAdd_.remove(index); onChanged(); } else { requestHeadersToAddBuilder_.remove(index); } return this; } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder getRequestHeadersToAddBuilder( int index) { return getRequestHeadersToAddFieldBuilder().getBuilder(index); } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder( int index) { if (requestHeadersToAddBuilder_ == null) { return requestHeadersToAdd_.get(index); } else { return requestHeadersToAddBuilder_.getMessageOrBuilder(index); } } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddOrBuilderList() { if (requestHeadersToAddBuilder_ != null) { return requestHeadersToAddBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(requestHeadersToAdd_); } } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder addRequestHeadersToAddBuilder() { return getRequestHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.api.v2.core.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder addRequestHeadersToAddBuilder( int index) { return getRequestHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.getDefaultInstance()); } /** *
     * Specifies a list of HTTP headers that should be added to each request
     * routed by the HTTP connection manager. Headers specified at this level are
     * applied after headers from any enclosed :ref:`envoy_api_msg_route.VirtualHost` or
     * :ref:`envoy_api_msg_route.RouteAction`. For more information, including details on
     * header value syntax, see the documentation on :ref:`custom request headers
     * <config_http_conn_man_headers_custom_request_headers>`.
     * 
* * repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddBuilderList() { return getRequestHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder> getRequestHeadersToAddFieldBuilder() { if (requestHeadersToAddBuilder_ == null) { requestHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.api.v2.core.HeaderValueOption, io.envoyproxy.envoy.api.v2.core.HeaderValueOption.Builder, io.envoyproxy.envoy.api.v2.core.HeaderValueOptionOrBuilder>( requestHeadersToAdd_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); requestHeadersToAdd_ = null; } return requestHeadersToAddBuilder_; } private com.google.protobuf.LazyStringList requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureRequestHeadersToRemoveIsMutable() { if (!((bitField0_ & 0x00000020) != 0)) { requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(requestHeadersToRemove_); bitField0_ |= 0x00000020; } } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @return A list containing the requestHeadersToRemove. */ public com.google.protobuf.ProtocolStringList getRequestHeadersToRemoveList() { return requestHeadersToRemove_.getUnmodifiableView(); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @return The count of requestHeadersToRemove. */ public int getRequestHeadersToRemoveCount() { return requestHeadersToRemove_.size(); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param index The index of the element to return. * @return The requestHeadersToRemove at the given index. */ public java.lang.String getRequestHeadersToRemove(int index) { return requestHeadersToRemove_.get(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param index The index of the value to return. * @return The bytes of the requestHeadersToRemove at the given index. */ public com.google.protobuf.ByteString getRequestHeadersToRemoveBytes(int index) { return requestHeadersToRemove_.getByteString(index); } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param index The index to set the value at. * @param value The requestHeadersToRemove to set. * @return This builder for chaining. */ public Builder setRequestHeadersToRemove( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.set(index, value); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param value The requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addRequestHeadersToRemove( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.add(value); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param values The requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addAllRequestHeadersToRemove( java.lang.Iterable values) { ensureRequestHeadersToRemoveIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requestHeadersToRemove_); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @return This builder for chaining. */ public Builder clearRequestHeadersToRemove() { requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000020); onChanged(); return this; } /** *
     * Specifies a list of HTTP headers that should be removed from each request
     * routed by the HTTP connection manager.
     * 
* * repeated string request_headers_to_remove = 8 [(.validate.rules) = { ... } * @param value The bytes of the requestHeadersToRemove to add. * @return This builder for chaining. */ public Builder addRequestHeadersToRemoveBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureRequestHeadersToRemoveIsMutable(); requestHeadersToRemove_.add(value); onChanged(); return this; } private boolean mostSpecificHeaderMutationsWins_ ; /** *
     * By default, headers that should be added/removed are evaluated from most to least specific:
     * * route level
     * * virtual host level
     * * connection manager level
     * To allow setting overrides at the route or virtual host level, this order can be reversed
     * by setting this option to true. Defaults to false.
     * [#next-major-version: In the v3 API, this will default to true.]
     * 
* * bool most_specific_header_mutations_wins = 10; * @return The mostSpecificHeaderMutationsWins. */ @java.lang.Override public boolean getMostSpecificHeaderMutationsWins() { return mostSpecificHeaderMutationsWins_; } /** *
     * By default, headers that should be added/removed are evaluated from most to least specific:
     * * route level
     * * virtual host level
     * * connection manager level
     * To allow setting overrides at the route or virtual host level, this order can be reversed
     * by setting this option to true. Defaults to false.
     * [#next-major-version: In the v3 API, this will default to true.]
     * 
* * bool most_specific_header_mutations_wins = 10; * @param value The mostSpecificHeaderMutationsWins to set. * @return This builder for chaining. */ public Builder setMostSpecificHeaderMutationsWins(boolean value) { mostSpecificHeaderMutationsWins_ = value; onChanged(); return this; } /** *
     * By default, headers that should be added/removed are evaluated from most to least specific:
     * * route level
     * * virtual host level
     * * connection manager level
     * To allow setting overrides at the route or virtual host level, this order can be reversed
     * by setting this option to true. Defaults to false.
     * [#next-major-version: In the v3 API, this will default to true.]
     * 
* * bool most_specific_header_mutations_wins = 10; * @return This builder for chaining. */ public Builder clearMostSpecificHeaderMutationsWins() { mostSpecificHeaderMutationsWins_ = false; onChanged(); return this; } private com.google.protobuf.BoolValue validateClusters_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> validateClustersBuilder_; /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; * @return Whether the validateClusters field is set. */ public boolean hasValidateClusters() { return validateClustersBuilder_ != null || validateClusters_ != null; } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; * @return The validateClusters. */ public com.google.protobuf.BoolValue getValidateClusters() { if (validateClustersBuilder_ == null) { return validateClusters_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : validateClusters_; } else { return validateClustersBuilder_.getMessage(); } } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public Builder setValidateClusters(com.google.protobuf.BoolValue value) { if (validateClustersBuilder_ == null) { if (value == null) { throw new NullPointerException(); } validateClusters_ = value; onChanged(); } else { validateClustersBuilder_.setMessage(value); } return this; } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public Builder setValidateClusters( com.google.protobuf.BoolValue.Builder builderForValue) { if (validateClustersBuilder_ == null) { validateClusters_ = builderForValue.build(); onChanged(); } else { validateClustersBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public Builder mergeValidateClusters(com.google.protobuf.BoolValue value) { if (validateClustersBuilder_ == null) { if (validateClusters_ != null) { validateClusters_ = com.google.protobuf.BoolValue.newBuilder(validateClusters_).mergeFrom(value).buildPartial(); } else { validateClusters_ = value; } onChanged(); } else { validateClustersBuilder_.mergeFrom(value); } return this; } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public Builder clearValidateClusters() { if (validateClustersBuilder_ == null) { validateClusters_ = null; onChanged(); } else { validateClusters_ = null; validateClustersBuilder_ = null; } return this; } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public com.google.protobuf.BoolValue.Builder getValidateClustersBuilder() { onChanged(); return getValidateClustersFieldBuilder().getBuilder(); } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ public com.google.protobuf.BoolValueOrBuilder getValidateClustersOrBuilder() { if (validateClustersBuilder_ != null) { return validateClustersBuilder_.getMessageOrBuilder(); } else { return validateClusters_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : validateClusters_; } } /** *
     * An optional boolean that specifies whether the clusters that the route
     * table refers to will be validated by the cluster manager. If set to true
     * and a route refers to a non-existent cluster, the route table will not
     * load. If set to false and a route refers to a non-existent cluster, the
     * route table will load and the router filter will return a 404 if the route
     * is selected at runtime. This setting defaults to true if the route table
     * is statically defined via the :ref:`route_config
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.rds>`
     * option. Users may wish to override the default behavior in certain cases (for example when
     * using CDS with a static route table).
     * 
* * .google.protobuf.BoolValue validate_clusters = 7; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> getValidateClustersFieldBuilder() { if (validateClustersBuilder_ == null) { validateClustersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>( getValidateClusters(), getParentForChildren(), isClean()); validateClusters_ = null; } return validateClustersBuilder_; } @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.api.v2.RouteConfiguration) } // @@protoc_insertion_point(class_scope:envoy.api.v2.RouteConfiguration) private static final io.envoyproxy.envoy.api.v2.RouteConfiguration DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.api.v2.RouteConfiguration(); } public static io.envoyproxy.envoy.api.v2.RouteConfiguration getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RouteConfiguration parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return new RouteConfiguration(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.api.v2.RouteConfiguration getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy