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

io.envoyproxy.envoy.config.route.v3.RouteConfiguration Maven / Gradle / Ivy

There is a newer version: 1.0.46
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/config/route/v3/route.proto

package io.envoyproxy.envoy.config.route.v3;

/**
 * 
 * [#next-free-field: 18]
 * 
* * Protobuf type {@code envoy.config.route.v3.RouteConfiguration} */ public final class RouteConfiguration extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:envoy.config.route.v3.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; clusterSpecifierPlugins_ = java.util.Collections.emptyList(); requestMirrorPolicies_ = java.util.Collections.emptyList(); } @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.config.route.v3.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.config.core.v3.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.config.core.v3.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.config.route.v3.Vhds.Builder subBuilder = null; if (vhds_ != null) { subBuilder = vhds_.toBuilder(); } vhds_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.Vhds.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(vhds_); vhds_ = subBuilder.buildPartial(); } break; } case 80: { mostSpecificHeaderMutationsWins_ = input.readBool(); break; } case 90: { com.google.protobuf.UInt32Value.Builder subBuilder = null; if (maxDirectResponseBodySizeBytes_ != null) { subBuilder = maxDirectResponseBodySizeBytes_.toBuilder(); } maxDirectResponseBodySizeBytes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(maxDirectResponseBodySizeBytes_); maxDirectResponseBodySizeBytes_ = subBuilder.buildPartial(); } break; } case 98: { if (!((mutable_bitField0_ & 0x00000040) != 0)) { clusterSpecifierPlugins_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000040; } clusterSpecifierPlugins_.add( input.readMessage(io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.parser(), extensionRegistry)); break; } case 106: { if (!((mutable_bitField0_ & 0x00000080) != 0)) { requestMirrorPolicies_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000080; } requestMirrorPolicies_.add( input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.parser(), extensionRegistry)); break; } case 112: { ignorePortInHostMatching_ = input.readBool(); break; } case 120: { ignorePathParametersInPathMatching_ = input.readBool(); break; } case 130: { if (!((mutable_bitField0_ & 0x00000100) != 0)) { typedPerFilterConfig_ = com.google.protobuf.MapField.newMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); mutable_bitField0_ |= 0x00000100; } com.google.protobuf.MapEntry typedPerFilterConfig__ = input.readMessage( TypedPerFilterConfigDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); typedPerFilterConfig_.getMutableMap().put( typedPerFilterConfig__.getKey(), typedPerFilterConfig__.getValue()); break; } case 138: { io.envoyproxy.envoy.config.core.v3.Metadata.Builder subBuilder = null; if (metadata_ != null) { subBuilder = metadata_.toBuilder(); } metadata_ = input.readMessage(io.envoyproxy.envoy.config.core.v3.Metadata.parser(), extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(metadata_); metadata_ = subBuilder.buildPartial(); } break; } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { done = true; } break; } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { if (((mutable_bitField0_ & 0x00000001) != 0)) { 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(); } if (((mutable_bitField0_ & 0x00000040) != 0)) { clusterSpecifierPlugins_ = java.util.Collections.unmodifiableList(clusterSpecifierPlugins_); } if (((mutable_bitField0_ & 0x00000080) != 0)) { requestMirrorPolicies_ = java.util.Collections.unmodifiableList(requestMirrorPolicies_); } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_descriptor; } @SuppressWarnings({"rawtypes"}) @java.lang.Override protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 16: return internalGetTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.config.route.v3.RouteConfiguration.class, io.envoyproxy.envoy.config.route.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
   * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
   * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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.config.route.v3.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.config.route.v3.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.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.VirtualHost getVirtualHosts(int index) { return virtualHosts_.get(index); } /** *
   * An array of virtual hosts that make up the route table.
   * 
* * repeated .envoy.config.route.v3.VirtualHost virtual_hosts = 2; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.VirtualHostOrBuilder getVirtualHostsOrBuilder( int index) { return virtualHosts_.get(index); } public static final int VHDS_FIELD_NUMBER = 9; private io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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.config.route.v3.Vhds vhds = 9; * @return The vhds. */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.Vhds getVhds() { return vhds_ == null ? io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
   * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.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_; /** *
   * Headers mutations at all levels are evaluated, if specified. By default, the order is from most
   * specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
   * mutations may override earlier mutations.
   * This order can be reversed by setting this field to true. In other words, most specific level mutation
   * is evaluated last.
   * 
* * 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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
   * option. This setting default to false if the route table is loaded dynamically via the
   * :ref:`rds
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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(); } public static final int MAX_DIRECT_RESPONSE_BODY_SIZE_BYTES_FIELD_NUMBER = 11; private com.google.protobuf.UInt32Value maxDirectResponseBodySizeBytes_; /** *
   * The maximum bytes of the response :ref:`direct response body
   * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
   * is 4096.
   * .. warning::
   *   Envoy currently holds the content of :ref:`direct response body
   *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
   *   this to be larger than the default 4KB, since the allocated memory for direct response body
   *   is not subject to data plane buffering controls.
   * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; * @return Whether the maxDirectResponseBodySizeBytes field is set. */ @java.lang.Override public boolean hasMaxDirectResponseBodySizeBytes() { return maxDirectResponseBodySizeBytes_ != null; } /** *
   * The maximum bytes of the response :ref:`direct response body
   * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
   * is 4096.
   * .. warning::
   *   Envoy currently holds the content of :ref:`direct response body
   *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
   *   this to be larger than the default 4KB, since the allocated memory for direct response body
   *   is not subject to data plane buffering controls.
   * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; * @return The maxDirectResponseBodySizeBytes. */ @java.lang.Override public com.google.protobuf.UInt32Value getMaxDirectResponseBodySizeBytes() { return maxDirectResponseBodySizeBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxDirectResponseBodySizeBytes_; } /** *
   * The maximum bytes of the response :ref:`direct response body
   * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
   * is 4096.
   * .. warning::
   *   Envoy currently holds the content of :ref:`direct response body
   *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
   *   this to be larger than the default 4KB, since the allocated memory for direct response body
   *   is not subject to data plane buffering controls.
   * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ @java.lang.Override public com.google.protobuf.UInt32ValueOrBuilder getMaxDirectResponseBodySizeBytesOrBuilder() { return getMaxDirectResponseBodySizeBytes(); } public static final int CLUSTER_SPECIFIER_PLUGINS_FIELD_NUMBER = 12; private java.util.List clusterSpecifierPlugins_; /** *
   * A list of plugins and their configurations which may be used by a
   * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
   * within the route. All ``extension.name`` fields in this list must be unique.
   * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ @java.lang.Override public java.util.List getClusterSpecifierPluginsList() { return clusterSpecifierPlugins_; } /** *
   * A list of plugins and their configurations which may be used by a
   * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
   * within the route. All ``extension.name`` fields in this list must be unique.
   * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ @java.lang.Override public java.util.List getClusterSpecifierPluginsOrBuilderList() { return clusterSpecifierPlugins_; } /** *
   * A list of plugins and their configurations which may be used by a
   * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
   * within the route. All ``extension.name`` fields in this list must be unique.
   * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ @java.lang.Override public int getClusterSpecifierPluginsCount() { return clusterSpecifierPlugins_.size(); } /** *
   * A list of plugins and their configurations which may be used by a
   * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
   * within the route. All ``extension.name`` fields in this list must be unique.
   * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin getClusterSpecifierPlugins(int index) { return clusterSpecifierPlugins_.get(index); } /** *
   * A list of plugins and their configurations which may be used by a
   * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
   * within the route. All ``extension.name`` fields in this list must be unique.
   * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder getClusterSpecifierPluginsOrBuilder( int index) { return clusterSpecifierPlugins_.get(index); } public static final int REQUEST_MIRROR_POLICIES_FIELD_NUMBER = 13; private java.util.List requestMirrorPolicies_; /** *
   * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
   * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
   * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ @java.lang.Override public java.util.List getRequestMirrorPoliciesList() { return requestMirrorPolicies_; } /** *
   * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
   * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
   * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ @java.lang.Override public java.util.List getRequestMirrorPoliciesOrBuilderList() { return requestMirrorPolicies_; } /** *
   * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
   * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
   * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ @java.lang.Override public int getRequestMirrorPoliciesCount() { return requestMirrorPolicies_.size(); } /** *
   * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
   * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
   * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index) { return requestMirrorPolicies_.get(index); } /** *
   * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
   * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
   * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder( int index) { return requestMirrorPolicies_.get(index); } public static final int IGNORE_PORT_IN_HOST_MATCHING_FIELD_NUMBER = 14; private boolean ignorePortInHostMatching_; /** *
   * By default, port in :authority header (if any) is used in host matching.
   * With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost.
   * NOTE: this option will not strip the port number (if any) contained in route config
   * :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field.
   * 
* * bool ignore_port_in_host_matching = 14; * @return The ignorePortInHostMatching. */ @java.lang.Override public boolean getIgnorePortInHostMatching() { return ignorePortInHostMatching_; } public static final int IGNORE_PATH_PARAMETERS_IN_PATH_MATCHING_FIELD_NUMBER = 15; private boolean ignorePathParametersInPathMatching_; /** *
   * Ignore path-parameters in path-matching.
   * Before RFC3986, URI were like(RFC1808): <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
   * Envoy by default takes ":path" as "<path>;<params>".
   * For users who want to only match path on the "<path>" portion, this option should be true.
   * 
* * bool ignore_path_parameters_in_path_matching = 15; * @return The ignorePathParametersInPathMatching. */ @java.lang.Override public boolean getIgnorePathParametersInPathMatching() { return ignorePathParametersInPathMatching_; } public static final int TYPED_PER_FILTER_CONFIG_FIELD_NUMBER = 16; private static final class TypedPerFilterConfigDefaultEntryHolder { static final com.google.protobuf.MapEntry< java.lang.String, com.google.protobuf.Any> defaultEntry = com.google.protobuf.MapEntry .newDefaultInstance( io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_TypedPerFilterConfigEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.MESSAGE, com.google.protobuf.Any.getDefaultInstance()); } private com.google.protobuf.MapField< java.lang.String, com.google.protobuf.Any> typedPerFilterConfig_; private com.google.protobuf.MapField internalGetTypedPerFilterConfig() { if (typedPerFilterConfig_ == null) { return com.google.protobuf.MapField.emptyMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } return typedPerFilterConfig_; } public int getTypedPerFilterConfigCount() { return internalGetTypedPerFilterConfig().getMap().size(); } /** *
   * This field can be used to provide RouteConfiguration level per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public boolean containsTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } return internalGetTypedPerFilterConfig().getMap().containsKey(key); } /** * Use {@link #getTypedPerFilterConfigMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getTypedPerFilterConfig() { return getTypedPerFilterConfigMap(); } /** *
   * This field can be used to provide RouteConfiguration level per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public java.util.Map getTypedPerFilterConfigMap() { return internalGetTypedPerFilterConfig().getMap(); } /** *
   * This field can be used to provide RouteConfiguration level per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrDefault( java.lang.String key, com.google.protobuf.Any defaultValue) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
   * This field can be used to provide RouteConfiguration level per filter config. The key should match the
   * :ref:`filter config name
   * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
   * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
   * for details.
   * [#comment: An entry's value may be wrapped in a
   * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
   * message to specify additional options.]
   * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrThrow( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public static final int METADATA_FIELD_NUMBER = 17; private io.envoyproxy.envoy.config.core.v3.Metadata metadata_; /** *
   * The metadata field can be used to provide additional information
   * about the route configuration. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 17; * @return Whether the metadata field is set. */ @java.lang.Override public boolean hasMetadata() { return metadata_ != null; } /** *
   * The metadata field can be used to provide additional information
   * about the route configuration. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 17; * @return The metadata. */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.Metadata getMetadata() { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } /** *
   * The metadata field can be used to provide additional information
   * about the route configuration. It can be used for configuration, stats, and logging.
   * The metadata should go under the filter namespace that will need it.
   * For instance, if the metadata is intended for the Router filter,
   * the filter name should be specified as ``envoy.filters.http.router``.
   * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ @java.lang.Override public io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder() { return getMetadata(); } 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_); } if (maxDirectResponseBodySizeBytes_ != null) { output.writeMessage(11, getMaxDirectResponseBodySizeBytes()); } for (int i = 0; i < clusterSpecifierPlugins_.size(); i++) { output.writeMessage(12, clusterSpecifierPlugins_.get(i)); } for (int i = 0; i < requestMirrorPolicies_.size(); i++) { output.writeMessage(13, requestMirrorPolicies_.get(i)); } if (ignorePortInHostMatching_ != false) { output.writeBool(14, ignorePortInHostMatching_); } if (ignorePathParametersInPathMatching_ != false) { output.writeBool(15, ignorePathParametersInPathMatching_); } com.google.protobuf.GeneratedMessageV3 .serializeStringMapTo( output, internalGetTypedPerFilterConfig(), TypedPerFilterConfigDefaultEntryHolder.defaultEntry, 16); if (metadata_ != null) { output.writeMessage(17, getMetadata()); } 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_); } if (maxDirectResponseBodySizeBytes_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(11, getMaxDirectResponseBodySizeBytes()); } for (int i = 0; i < clusterSpecifierPlugins_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(12, clusterSpecifierPlugins_.get(i)); } for (int i = 0; i < requestMirrorPolicies_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, requestMirrorPolicies_.get(i)); } if (ignorePortInHostMatching_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(14, ignorePortInHostMatching_); } if (ignorePathParametersInPathMatching_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(15, ignorePathParametersInPathMatching_); } for (java.util.Map.Entry entry : internalGetTypedPerFilterConfig().getMap().entrySet()) { com.google.protobuf.MapEntry typedPerFilterConfig__ = TypedPerFilterConfigDefaultEntryHolder.defaultEntry.newBuilderForType() .setKey(entry.getKey()) .setValue(entry.getValue()) .build(); size += com.google.protobuf.CodedOutputStream .computeMessageSize(16, typedPerFilterConfig__); } if (metadata_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(17, getMetadata()); } 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.config.route.v3.RouteConfiguration)) { return super.equals(obj); } io.envoyproxy.envoy.config.route.v3.RouteConfiguration other = (io.envoyproxy.envoy.config.route.v3.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 (hasMaxDirectResponseBodySizeBytes() != other.hasMaxDirectResponseBodySizeBytes()) return false; if (hasMaxDirectResponseBodySizeBytes()) { if (!getMaxDirectResponseBodySizeBytes() .equals(other.getMaxDirectResponseBodySizeBytes())) return false; } if (!getClusterSpecifierPluginsList() .equals(other.getClusterSpecifierPluginsList())) return false; if (!getRequestMirrorPoliciesList() .equals(other.getRequestMirrorPoliciesList())) return false; if (getIgnorePortInHostMatching() != other.getIgnorePortInHostMatching()) return false; if (getIgnorePathParametersInPathMatching() != other.getIgnorePathParametersInPathMatching()) return false; if (!internalGetTypedPerFilterConfig().equals( other.internalGetTypedPerFilterConfig())) return false; if (hasMetadata() != other.hasMetadata()) return false; if (hasMetadata()) { if (!getMetadata() .equals(other.getMetadata())) 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(); } if (hasMaxDirectResponseBodySizeBytes()) { hash = (37 * hash) + MAX_DIRECT_RESPONSE_BODY_SIZE_BYTES_FIELD_NUMBER; hash = (53 * hash) + getMaxDirectResponseBodySizeBytes().hashCode(); } if (getClusterSpecifierPluginsCount() > 0) { hash = (37 * hash) + CLUSTER_SPECIFIER_PLUGINS_FIELD_NUMBER; hash = (53 * hash) + getClusterSpecifierPluginsList().hashCode(); } if (getRequestMirrorPoliciesCount() > 0) { hash = (37 * hash) + REQUEST_MIRROR_POLICIES_FIELD_NUMBER; hash = (53 * hash) + getRequestMirrorPoliciesList().hashCode(); } hash = (37 * hash) + IGNORE_PORT_IN_HOST_MATCHING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getIgnorePortInHostMatching()); hash = (37 * hash) + IGNORE_PATH_PARAMETERS_IN_PATH_MATCHING_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getIgnorePathParametersInPathMatching()); if (!internalGetTypedPerFilterConfig().getMap().isEmpty()) { hash = (37 * hash) + TYPED_PER_FILTER_CONFIG_FIELD_NUMBER; hash = (53 * hash) + internalGetTypedPerFilterConfig().hashCode(); } if (hasMetadata()) { hash = (37 * hash) + METADATA_FIELD_NUMBER; hash = (53 * hash) + getMetadata().hashCode(); } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } public static io.envoyproxy.envoy.config.route.v3.RouteConfiguration parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.RouteConfiguration parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.RouteConfiguration parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static io.envoyproxy.envoy.config.route.v3.RouteConfiguration parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static io.envoyproxy.envoy.config.route.v3.RouteConfiguration parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.RouteConfiguration parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.RouteConfiguration parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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: 18]
   * 
* * Protobuf type {@code envoy.config.route.v3.RouteConfiguration} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:envoy.config.route.v3.RouteConfiguration) io.envoyproxy.envoy.config.route.v3.RouteConfigurationOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_descriptor; } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMapField( int number) { switch (number) { case 16: return internalGetTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @SuppressWarnings({"rawtypes"}) protected com.google.protobuf.MapField internalGetMutableMapField( int number) { switch (number) { case 16: return internalGetMutableTypedPerFilterConfig(); default: throw new RuntimeException( "Invalid map field number: " + number); } } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_fieldAccessorTable .ensureFieldAccessorsInitialized( io.envoyproxy.envoy.config.route.v3.RouteConfiguration.class, io.envoyproxy.envoy.config.route.v3.RouteConfiguration.Builder.class); } // Construct using io.envoyproxy.envoy.config.route.v3.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(); getClusterSpecifierPluginsFieldBuilder(); getRequestMirrorPoliciesFieldBuilder(); } } @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; } if (maxDirectResponseBodySizeBytesBuilder_ == null) { maxDirectResponseBodySizeBytes_ = null; } else { maxDirectResponseBodySizeBytes_ = null; maxDirectResponseBodySizeBytesBuilder_ = null; } if (clusterSpecifierPluginsBuilder_ == null) { clusterSpecifierPlugins_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000040); } else { clusterSpecifierPluginsBuilder_.clear(); } if (requestMirrorPoliciesBuilder_ == null) { requestMirrorPolicies_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000080); } else { requestMirrorPoliciesBuilder_.clear(); } ignorePortInHostMatching_ = false; ignorePathParametersInPathMatching_ = false; internalGetMutableTypedPerFilterConfig().clear(); if (metadataBuilder_ == null) { metadata_ = null; } else { metadata_ = null; metadataBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return io.envoyproxy.envoy.config.route.v3.RouteProto.internal_static_envoy_config_route_v3_RouteConfiguration_descriptor; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteConfiguration getDefaultInstanceForType() { return io.envoyproxy.envoy.config.route.v3.RouteConfiguration.getDefaultInstance(); } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteConfiguration build() { io.envoyproxy.envoy.config.route.v3.RouteConfiguration result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public io.envoyproxy.envoy.config.route.v3.RouteConfiguration buildPartial() { io.envoyproxy.envoy.config.route.v3.RouteConfiguration result = new io.envoyproxy.envoy.config.route.v3.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(); } if (maxDirectResponseBodySizeBytesBuilder_ == null) { result.maxDirectResponseBodySizeBytes_ = maxDirectResponseBodySizeBytes_; } else { result.maxDirectResponseBodySizeBytes_ = maxDirectResponseBodySizeBytesBuilder_.build(); } if (clusterSpecifierPluginsBuilder_ == null) { if (((bitField0_ & 0x00000040) != 0)) { clusterSpecifierPlugins_ = java.util.Collections.unmodifiableList(clusterSpecifierPlugins_); bitField0_ = (bitField0_ & ~0x00000040); } result.clusterSpecifierPlugins_ = clusterSpecifierPlugins_; } else { result.clusterSpecifierPlugins_ = clusterSpecifierPluginsBuilder_.build(); } if (requestMirrorPoliciesBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0)) { requestMirrorPolicies_ = java.util.Collections.unmodifiableList(requestMirrorPolicies_); bitField0_ = (bitField0_ & ~0x00000080); } result.requestMirrorPolicies_ = requestMirrorPolicies_; } else { result.requestMirrorPolicies_ = requestMirrorPoliciesBuilder_.build(); } result.ignorePortInHostMatching_ = ignorePortInHostMatching_; result.ignorePathParametersInPathMatching_ = ignorePathParametersInPathMatching_; result.typedPerFilterConfig_ = internalGetTypedPerFilterConfig(); result.typedPerFilterConfig_.makeImmutable(); if (metadataBuilder_ == null) { result.metadata_ = metadata_; } else { result.metadata_ = metadataBuilder_.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.config.route.v3.RouteConfiguration) { return mergeFrom((io.envoyproxy.envoy.config.route.v3.RouteConfiguration)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(io.envoyproxy.envoy.config.route.v3.RouteConfiguration other) { if (other == io.envoyproxy.envoy.config.route.v3.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()); } if (other.hasMaxDirectResponseBodySizeBytes()) { mergeMaxDirectResponseBodySizeBytes(other.getMaxDirectResponseBodySizeBytes()); } if (clusterSpecifierPluginsBuilder_ == null) { if (!other.clusterSpecifierPlugins_.isEmpty()) { if (clusterSpecifierPlugins_.isEmpty()) { clusterSpecifierPlugins_ = other.clusterSpecifierPlugins_; bitField0_ = (bitField0_ & ~0x00000040); } else { ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.addAll(other.clusterSpecifierPlugins_); } onChanged(); } } else { if (!other.clusterSpecifierPlugins_.isEmpty()) { if (clusterSpecifierPluginsBuilder_.isEmpty()) { clusterSpecifierPluginsBuilder_.dispose(); clusterSpecifierPluginsBuilder_ = null; clusterSpecifierPlugins_ = other.clusterSpecifierPlugins_; bitField0_ = (bitField0_ & ~0x00000040); clusterSpecifierPluginsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getClusterSpecifierPluginsFieldBuilder() : null; } else { clusterSpecifierPluginsBuilder_.addAllMessages(other.clusterSpecifierPlugins_); } } } if (requestMirrorPoliciesBuilder_ == null) { if (!other.requestMirrorPolicies_.isEmpty()) { if (requestMirrorPolicies_.isEmpty()) { requestMirrorPolicies_ = other.requestMirrorPolicies_; bitField0_ = (bitField0_ & ~0x00000080); } else { ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.addAll(other.requestMirrorPolicies_); } onChanged(); } } else { if (!other.requestMirrorPolicies_.isEmpty()) { if (requestMirrorPoliciesBuilder_.isEmpty()) { requestMirrorPoliciesBuilder_.dispose(); requestMirrorPoliciesBuilder_ = null; requestMirrorPolicies_ = other.requestMirrorPolicies_; bitField0_ = (bitField0_ & ~0x00000080); requestMirrorPoliciesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRequestMirrorPoliciesFieldBuilder() : null; } else { requestMirrorPoliciesBuilder_.addAllMessages(other.requestMirrorPolicies_); } } } if (other.getIgnorePortInHostMatching() != false) { setIgnorePortInHostMatching(other.getIgnorePortInHostMatching()); } if (other.getIgnorePathParametersInPathMatching() != false) { setIgnorePathParametersInPathMatching(other.getIgnorePathParametersInPathMatching()); } internalGetMutableTypedPerFilterConfig().mergeFrom( other.internalGetTypedPerFilterConfig()); if (other.hasMetadata()) { mergeMetadata(other.getMetadata()); } 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.config.route.v3.RouteConfiguration parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (io.envoyproxy.envoy.config.route.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
     * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
     * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
     * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
     * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.Rds.route_config_name>` in
     * :ref:`envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.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.config.route.v3.VirtualHost, io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder, io.envoyproxy.envoy.config.route.v3.VirtualHostOrBuilder> virtualHostsBuilder_; /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.config.route.v3.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.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder setVirtualHosts( int index, io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder setVirtualHosts( int index, io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts(io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( int index, io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( io.envoyproxy.envoy.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public Builder addVirtualHosts( int index, io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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.config.route.v3.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.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder getVirtualHostsBuilder( int index) { return getVirtualHostsFieldBuilder().getBuilder(index); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.config.route.v3.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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.config.route.v3.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder addVirtualHostsBuilder() { return getVirtualHostsFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.VirtualHost.getDefaultInstance()); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.config.route.v3.VirtualHost virtual_hosts = 2; */ public io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder addVirtualHostsBuilder( int index) { return getVirtualHostsFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.VirtualHost.getDefaultInstance()); } /** *
     * An array of virtual hosts that make up the route table.
     * 
* * repeated .envoy.config.route.v3.VirtualHost virtual_hosts = 2; */ public java.util.List getVirtualHostsBuilderList() { return getVirtualHostsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.VirtualHost, io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder, io.envoyproxy.envoy.config.route.v3.VirtualHostOrBuilder> getVirtualHostsFieldBuilder() { if (virtualHostsBuilder_ == null) { virtualHostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.VirtualHost, io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder, io.envoyproxy.envoy.config.route.v3.VirtualHostOrBuilder>( virtualHosts_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); virtualHosts_ = null; } return virtualHostsBuilder_; } private io.envoyproxy.envoy.config.route.v3.Vhds vhds_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Vhds, io.envoyproxy.envoy.config.route.v3.Vhds.Builder, io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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.config.route.v3.Vhds vhds = 9; * @return The vhds. */ public io.envoyproxy.envoy.config.route.v3.Vhds getVhds() { if (vhdsBuilder_ == null) { return vhds_ == null ? io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ public Builder setVhds(io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ public Builder setVhds( io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ public Builder mergeVhds(io.envoyproxy.envoy.config.route.v3.Vhds value) { if (vhdsBuilder_ == null) { if (vhds_ != null) { vhds_ = io.envoyproxy.envoy.config.route.v3.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.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ public io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ public io.envoyproxy.envoy.config.route.v3.VhdsOrBuilder getVhdsOrBuilder() { if (vhdsBuilder_ != null) { return vhdsBuilder_.getMessageOrBuilder(); } else { return vhds_ == null ? io.envoyproxy.envoy.config.route.v3.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.config.route.v3.Vhds vhds = 9; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Vhds, io.envoyproxy.envoy.config.route.v3.Vhds.Builder, io.envoyproxy.envoy.config.route.v3.VhdsOrBuilder> getVhdsFieldBuilder() { if (vhdsBuilder_ == null) { vhdsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.Vhds, io.envoyproxy.envoy.config.route.v3.Vhds.Builder, io.envoyproxy.envoy.config.route.v3.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.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder setResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd(io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public Builder addResponseHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addResponseHeadersToAddBuilder() { return getResponseHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addResponseHeadersToAddBuilder( int index) { return getResponseHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption response_headers_to_add = 4 [(.validate.rules) = { ... } */ public java.util.List getResponseHeadersToAddBuilderList() { return getResponseHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> getResponseHeadersToAddFieldBuilder() { if (responseHeadersToAddBuilder_ == null) { responseHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.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.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder setRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd(io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public Builder addRequestHeadersToAdd( int index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addRequestHeadersToAddBuilder() { return getRequestHeadersToAddFieldBuilder().addBuilder( io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder addRequestHeadersToAddBuilder( int index) { return getRequestHeadersToAddFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.core.v3.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_v3_api_msg_config.route.v3.VirtualHost` or
     * :ref:`envoy_v3_api_msg_config.route.v3.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.config.core.v3.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... } */ public java.util.List getRequestHeadersToAddBuilderList() { return getRequestHeadersToAddFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder> getRequestHeadersToAddFieldBuilder() { if (requestHeadersToAddBuilder_ == null) { requestHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.HeaderValueOption, io.envoyproxy.envoy.config.core.v3.HeaderValueOption.Builder, io.envoyproxy.envoy.config.core.v3.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_ ; /** *
     * Headers mutations at all levels are evaluated, if specified. By default, the order is from most
     * specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
     * mutations may override earlier mutations.
     * This order can be reversed by setting this field to true. In other words, most specific level mutation
     * is evaluated last.
     * 
* * bool most_specific_header_mutations_wins = 10; * @return The mostSpecificHeaderMutationsWins. */ @java.lang.Override public boolean getMostSpecificHeaderMutationsWins() { return mostSpecificHeaderMutationsWins_; } /** *
     * Headers mutations at all levels are evaluated, if specified. By default, the order is from most
     * specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
     * mutations may override earlier mutations.
     * This order can be reversed by setting this field to true. In other words, most specific level mutation
     * is evaluated last.
     * 
* * 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; } /** *
     * Headers mutations at all levels are evaluated, if specified. By default, the order is from most
     * specific (i.e. route entry level) to least specific (i.e. route configuration level). Later header
     * mutations may override earlier mutations.
     * This order can be reversed by setting this field to true. In other words, most specific level mutation
     * is evaluated last.
     * 
* * 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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.route_config>`
     * option. This setting default to false if the route table is loaded dynamically via the
     * :ref:`rds
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.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_; } private com.google.protobuf.UInt32Value maxDirectResponseBodySizeBytes_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxDirectResponseBodySizeBytesBuilder_; /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; * @return Whether the maxDirectResponseBodySizeBytes field is set. */ public boolean hasMaxDirectResponseBodySizeBytes() { return maxDirectResponseBodySizeBytesBuilder_ != null || maxDirectResponseBodySizeBytes_ != null; } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; * @return The maxDirectResponseBodySizeBytes. */ public com.google.protobuf.UInt32Value getMaxDirectResponseBodySizeBytes() { if (maxDirectResponseBodySizeBytesBuilder_ == null) { return maxDirectResponseBodySizeBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxDirectResponseBodySizeBytes_; } else { return maxDirectResponseBodySizeBytesBuilder_.getMessage(); } } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public Builder setMaxDirectResponseBodySizeBytes(com.google.protobuf.UInt32Value value) { if (maxDirectResponseBodySizeBytesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } maxDirectResponseBodySizeBytes_ = value; onChanged(); } else { maxDirectResponseBodySizeBytesBuilder_.setMessage(value); } return this; } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public Builder setMaxDirectResponseBodySizeBytes( com.google.protobuf.UInt32Value.Builder builderForValue) { if (maxDirectResponseBodySizeBytesBuilder_ == null) { maxDirectResponseBodySizeBytes_ = builderForValue.build(); onChanged(); } else { maxDirectResponseBodySizeBytesBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public Builder mergeMaxDirectResponseBodySizeBytes(com.google.protobuf.UInt32Value value) { if (maxDirectResponseBodySizeBytesBuilder_ == null) { if (maxDirectResponseBodySizeBytes_ != null) { maxDirectResponseBodySizeBytes_ = com.google.protobuf.UInt32Value.newBuilder(maxDirectResponseBodySizeBytes_).mergeFrom(value).buildPartial(); } else { maxDirectResponseBodySizeBytes_ = value; } onChanged(); } else { maxDirectResponseBodySizeBytesBuilder_.mergeFrom(value); } return this; } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public Builder clearMaxDirectResponseBodySizeBytes() { if (maxDirectResponseBodySizeBytesBuilder_ == null) { maxDirectResponseBodySizeBytes_ = null; onChanged(); } else { maxDirectResponseBodySizeBytes_ = null; maxDirectResponseBodySizeBytesBuilder_ = null; } return this; } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public com.google.protobuf.UInt32Value.Builder getMaxDirectResponseBodySizeBytesBuilder() { onChanged(); return getMaxDirectResponseBodySizeBytesFieldBuilder().getBuilder(); } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ public com.google.protobuf.UInt32ValueOrBuilder getMaxDirectResponseBodySizeBytesOrBuilder() { if (maxDirectResponseBodySizeBytesBuilder_ != null) { return maxDirectResponseBodySizeBytesBuilder_.getMessageOrBuilder(); } else { return maxDirectResponseBodySizeBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxDirectResponseBodySizeBytes_; } } /** *
     * The maximum bytes of the response :ref:`direct response body
     * <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` size. If not specified the default
     * is 4096.
     * .. warning::
     *   Envoy currently holds the content of :ref:`direct response body
     *   <envoy_v3_api_field_config.route.v3.DirectResponseAction.body>` in memory. Be careful setting
     *   this to be larger than the default 4KB, since the allocated memory for direct response body
     *   is not subject to data plane buffering controls.
     * 
* * .google.protobuf.UInt32Value max_direct_response_body_size_bytes = 11; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> getMaxDirectResponseBodySizeBytesFieldBuilder() { if (maxDirectResponseBodySizeBytesBuilder_ == null) { maxDirectResponseBodySizeBytesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>( getMaxDirectResponseBodySizeBytes(), getParentForChildren(), isClean()); maxDirectResponseBodySizeBytes_ = null; } return maxDirectResponseBodySizeBytesBuilder_; } private java.util.List clusterSpecifierPlugins_ = java.util.Collections.emptyList(); private void ensureClusterSpecifierPluginsIsMutable() { if (!((bitField0_ & 0x00000040) != 0)) { clusterSpecifierPlugins_ = new java.util.ArrayList(clusterSpecifierPlugins_); bitField0_ |= 0x00000040; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder> clusterSpecifierPluginsBuilder_; /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public java.util.List getClusterSpecifierPluginsList() { if (clusterSpecifierPluginsBuilder_ == null) { return java.util.Collections.unmodifiableList(clusterSpecifierPlugins_); } else { return clusterSpecifierPluginsBuilder_.getMessageList(); } } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public int getClusterSpecifierPluginsCount() { if (clusterSpecifierPluginsBuilder_ == null) { return clusterSpecifierPlugins_.size(); } else { return clusterSpecifierPluginsBuilder_.getCount(); } } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin getClusterSpecifierPlugins(int index) { if (clusterSpecifierPluginsBuilder_ == null) { return clusterSpecifierPlugins_.get(index); } else { return clusterSpecifierPluginsBuilder_.getMessage(index); } } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder setClusterSpecifierPlugins( int index, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin value) { if (clusterSpecifierPluginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.set(index, value); onChanged(); } else { clusterSpecifierPluginsBuilder_.setMessage(index, value); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder setClusterSpecifierPlugins( int index, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder builderForValue) { if (clusterSpecifierPluginsBuilder_ == null) { ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.set(index, builderForValue.build()); onChanged(); } else { clusterSpecifierPluginsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder addClusterSpecifierPlugins(io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin value) { if (clusterSpecifierPluginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.add(value); onChanged(); } else { clusterSpecifierPluginsBuilder_.addMessage(value); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder addClusterSpecifierPlugins( int index, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin value) { if (clusterSpecifierPluginsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.add(index, value); onChanged(); } else { clusterSpecifierPluginsBuilder_.addMessage(index, value); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder addClusterSpecifierPlugins( io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder builderForValue) { if (clusterSpecifierPluginsBuilder_ == null) { ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.add(builderForValue.build()); onChanged(); } else { clusterSpecifierPluginsBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder addClusterSpecifierPlugins( int index, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder builderForValue) { if (clusterSpecifierPluginsBuilder_ == null) { ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.add(index, builderForValue.build()); onChanged(); } else { clusterSpecifierPluginsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder addAllClusterSpecifierPlugins( java.lang.Iterable values) { if (clusterSpecifierPluginsBuilder_ == null) { ensureClusterSpecifierPluginsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, clusterSpecifierPlugins_); onChanged(); } else { clusterSpecifierPluginsBuilder_.addAllMessages(values); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder clearClusterSpecifierPlugins() { if (clusterSpecifierPluginsBuilder_ == null) { clusterSpecifierPlugins_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000040); onChanged(); } else { clusterSpecifierPluginsBuilder_.clear(); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public Builder removeClusterSpecifierPlugins(int index) { if (clusterSpecifierPluginsBuilder_ == null) { ensureClusterSpecifierPluginsIsMutable(); clusterSpecifierPlugins_.remove(index); onChanged(); } else { clusterSpecifierPluginsBuilder_.remove(index); } return this; } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder getClusterSpecifierPluginsBuilder( int index) { return getClusterSpecifierPluginsFieldBuilder().getBuilder(index); } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder getClusterSpecifierPluginsOrBuilder( int index) { if (clusterSpecifierPluginsBuilder_ == null) { return clusterSpecifierPlugins_.get(index); } else { return clusterSpecifierPluginsBuilder_.getMessageOrBuilder(index); } } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public java.util.List getClusterSpecifierPluginsOrBuilderList() { if (clusterSpecifierPluginsBuilder_ != null) { return clusterSpecifierPluginsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(clusterSpecifierPlugins_); } } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder addClusterSpecifierPluginsBuilder() { return getClusterSpecifierPluginsFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.getDefaultInstance()); } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder addClusterSpecifierPluginsBuilder( int index) { return getClusterSpecifierPluginsFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.getDefaultInstance()); } /** *
     * A list of plugins and their configurations which may be used by a
     * :ref:`cluster specifier plugin name <envoy_v3_api_field_config.route.v3.RouteAction.cluster_specifier_plugin>`
     * within the route. All ``extension.name`` fields in this list must be unique.
     * 
* * repeated .envoy.config.route.v3.ClusterSpecifierPlugin cluster_specifier_plugins = 12; */ public java.util.List getClusterSpecifierPluginsBuilderList() { return getClusterSpecifierPluginsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder> getClusterSpecifierPluginsFieldBuilder() { if (clusterSpecifierPluginsBuilder_ == null) { clusterSpecifierPluginsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPlugin.Builder, io.envoyproxy.envoy.config.route.v3.ClusterSpecifierPluginOrBuilder>( clusterSpecifierPlugins_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean()); clusterSpecifierPlugins_ = null; } return clusterSpecifierPluginsBuilder_; } private java.util.List requestMirrorPolicies_ = java.util.Collections.emptyList(); private void ensureRequestMirrorPoliciesIsMutable() { if (!((bitField0_ & 0x00000080) != 0)) { requestMirrorPolicies_ = new java.util.ArrayList(requestMirrorPolicies_); bitField0_ |= 0x00000080; } } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder> requestMirrorPoliciesBuilder_; /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public java.util.List getRequestMirrorPoliciesList() { if (requestMirrorPoliciesBuilder_ == null) { return java.util.Collections.unmodifiableList(requestMirrorPolicies_); } else { return requestMirrorPoliciesBuilder_.getMessageList(); } } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public int getRequestMirrorPoliciesCount() { if (requestMirrorPoliciesBuilder_ == null) { return requestMirrorPolicies_.size(); } else { return requestMirrorPoliciesBuilder_.getCount(); } } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index) { if (requestMirrorPoliciesBuilder_ == null) { return requestMirrorPolicies_.get(index); } else { return requestMirrorPoliciesBuilder_.getMessage(index); } } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder setRequestMirrorPolicies( int index, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy value) { if (requestMirrorPoliciesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.set(index, value); onChanged(); } else { requestMirrorPoliciesBuilder_.setMessage(index, value); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder setRequestMirrorPolicies( int index, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder builderForValue) { if (requestMirrorPoliciesBuilder_ == null) { ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.set(index, builderForValue.build()); onChanged(); } else { requestMirrorPoliciesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder addRequestMirrorPolicies(io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy value) { if (requestMirrorPoliciesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.add(value); onChanged(); } else { requestMirrorPoliciesBuilder_.addMessage(value); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder addRequestMirrorPolicies( int index, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy value) { if (requestMirrorPoliciesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.add(index, value); onChanged(); } else { requestMirrorPoliciesBuilder_.addMessage(index, value); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder addRequestMirrorPolicies( io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder builderForValue) { if (requestMirrorPoliciesBuilder_ == null) { ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.add(builderForValue.build()); onChanged(); } else { requestMirrorPoliciesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder addRequestMirrorPolicies( int index, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder builderForValue) { if (requestMirrorPoliciesBuilder_ == null) { ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.add(index, builderForValue.build()); onChanged(); } else { requestMirrorPoliciesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder addAllRequestMirrorPolicies( java.lang.Iterable values) { if (requestMirrorPoliciesBuilder_ == null) { ensureRequestMirrorPoliciesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requestMirrorPolicies_); onChanged(); } else { requestMirrorPoliciesBuilder_.addAllMessages(values); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder clearRequestMirrorPolicies() { if (requestMirrorPoliciesBuilder_ == null) { requestMirrorPolicies_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000080); onChanged(); } else { requestMirrorPoliciesBuilder_.clear(); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public Builder removeRequestMirrorPolicies(int index) { if (requestMirrorPoliciesBuilder_ == null) { ensureRequestMirrorPoliciesIsMutable(); requestMirrorPolicies_.remove(index); onChanged(); } else { requestMirrorPoliciesBuilder_.remove(index); } return this; } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder getRequestMirrorPoliciesBuilder( int index) { return getRequestMirrorPoliciesFieldBuilder().getBuilder(index); } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder( int index) { if (requestMirrorPoliciesBuilder_ == null) { return requestMirrorPolicies_.get(index); } else { return requestMirrorPoliciesBuilder_.getMessageOrBuilder(index); } } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public java.util.List getRequestMirrorPoliciesOrBuilderList() { if (requestMirrorPoliciesBuilder_ != null) { return requestMirrorPoliciesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(requestMirrorPolicies_); } } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder addRequestMirrorPoliciesBuilder() { return getRequestMirrorPoliciesFieldBuilder().addBuilder( io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.getDefaultInstance()); } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder addRequestMirrorPoliciesBuilder( int index) { return getRequestMirrorPoliciesFieldBuilder().addBuilder( index, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.getDefaultInstance()); } /** *
     * Specify a set of default request mirroring policies which apply to all routes under its virtual hosts.
     * Note that policies are not merged, the most specific non-empty one becomes the mirror policies.
     * 
* * repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 13; */ public java.util.List getRequestMirrorPoliciesBuilderList() { return getRequestMirrorPoliciesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder> getRequestMirrorPoliciesFieldBuilder() { if (requestMirrorPoliciesBuilder_ == null) { requestMirrorPoliciesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.Builder, io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder>( requestMirrorPolicies_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean()); requestMirrorPolicies_ = null; } return requestMirrorPoliciesBuilder_; } private boolean ignorePortInHostMatching_ ; /** *
     * By default, port in :authority header (if any) is used in host matching.
     * With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost.
     * NOTE: this option will not strip the port number (if any) contained in route config
     * :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field.
     * 
* * bool ignore_port_in_host_matching = 14; * @return The ignorePortInHostMatching. */ @java.lang.Override public boolean getIgnorePortInHostMatching() { return ignorePortInHostMatching_; } /** *
     * By default, port in :authority header (if any) is used in host matching.
     * With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost.
     * NOTE: this option will not strip the port number (if any) contained in route config
     * :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field.
     * 
* * bool ignore_port_in_host_matching = 14; * @param value The ignorePortInHostMatching to set. * @return This builder for chaining. */ public Builder setIgnorePortInHostMatching(boolean value) { ignorePortInHostMatching_ = value; onChanged(); return this; } /** *
     * By default, port in :authority header (if any) is used in host matching.
     * With this option enabled, Envoy will ignore the port number in the :authority header (if any) when picking VirtualHost.
     * NOTE: this option will not strip the port number (if any) contained in route config
     * :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost`.domains field.
     * 
* * bool ignore_port_in_host_matching = 14; * @return This builder for chaining. */ public Builder clearIgnorePortInHostMatching() { ignorePortInHostMatching_ = false; onChanged(); return this; } private boolean ignorePathParametersInPathMatching_ ; /** *
     * Ignore path-parameters in path-matching.
     * Before RFC3986, URI were like(RFC1808): <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
     * Envoy by default takes ":path" as "<path>;<params>".
     * For users who want to only match path on the "<path>" portion, this option should be true.
     * 
* * bool ignore_path_parameters_in_path_matching = 15; * @return The ignorePathParametersInPathMatching. */ @java.lang.Override public boolean getIgnorePathParametersInPathMatching() { return ignorePathParametersInPathMatching_; } /** *
     * Ignore path-parameters in path-matching.
     * Before RFC3986, URI were like(RFC1808): <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
     * Envoy by default takes ":path" as "<path>;<params>".
     * For users who want to only match path on the "<path>" portion, this option should be true.
     * 
* * bool ignore_path_parameters_in_path_matching = 15; * @param value The ignorePathParametersInPathMatching to set. * @return This builder for chaining. */ public Builder setIgnorePathParametersInPathMatching(boolean value) { ignorePathParametersInPathMatching_ = value; onChanged(); return this; } /** *
     * Ignore path-parameters in path-matching.
     * Before RFC3986, URI were like(RFC1808): <scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
     * Envoy by default takes ":path" as "<path>;<params>".
     * For users who want to only match path on the "<path>" portion, this option should be true.
     * 
* * bool ignore_path_parameters_in_path_matching = 15; * @return This builder for chaining. */ public Builder clearIgnorePathParametersInPathMatching() { ignorePathParametersInPathMatching_ = false; onChanged(); return this; } private com.google.protobuf.MapField< java.lang.String, com.google.protobuf.Any> typedPerFilterConfig_; private com.google.protobuf.MapField internalGetTypedPerFilterConfig() { if (typedPerFilterConfig_ == null) { return com.google.protobuf.MapField.emptyMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } return typedPerFilterConfig_; } private com.google.protobuf.MapField internalGetMutableTypedPerFilterConfig() { onChanged();; if (typedPerFilterConfig_ == null) { typedPerFilterConfig_ = com.google.protobuf.MapField.newMapField( TypedPerFilterConfigDefaultEntryHolder.defaultEntry); } if (!typedPerFilterConfig_.isMutable()) { typedPerFilterConfig_ = typedPerFilterConfig_.copy(); } return typedPerFilterConfig_; } public int getTypedPerFilterConfigCount() { return internalGetTypedPerFilterConfig().getMap().size(); } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public boolean containsTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } return internalGetTypedPerFilterConfig().getMap().containsKey(key); } /** * Use {@link #getTypedPerFilterConfigMap()} instead. */ @java.lang.Override @java.lang.Deprecated public java.util.Map getTypedPerFilterConfig() { return getTypedPerFilterConfigMap(); } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public java.util.Map getTypedPerFilterConfigMap() { return internalGetTypedPerFilterConfig().getMap(); } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrDefault( java.lang.String key, com.google.protobuf.Any defaultValue) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); return map.containsKey(key) ? map.get(key) : defaultValue; } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ @java.lang.Override public com.google.protobuf.Any getTypedPerFilterConfigOrThrow( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } java.util.Map map = internalGetTypedPerFilterConfig().getMap(); if (!map.containsKey(key)) { throw new java.lang.IllegalArgumentException(); } return map.get(key); } public Builder clearTypedPerFilterConfig() { internalGetMutableTypedPerFilterConfig().getMutableMap() .clear(); return this; } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ public Builder removeTypedPerFilterConfig( java.lang.String key) { if (key == null) { throw new NullPointerException("map key"); } internalGetMutableTypedPerFilterConfig().getMutableMap() .remove(key); return this; } /** * Use alternate mutation accessors instead. */ @java.lang.Deprecated public java.util.Map getMutableTypedPerFilterConfig() { return internalGetMutableTypedPerFilterConfig().getMutableMap(); } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ public Builder putTypedPerFilterConfig( java.lang.String key, com.google.protobuf.Any value) { if (key == null) { throw new NullPointerException("map key"); } if (value == null) { throw new NullPointerException("map value"); } internalGetMutableTypedPerFilterConfig().getMutableMap() .put(key, value); return this; } /** *
     * This field can be used to provide RouteConfiguration level per filter config. The key should match the
     * :ref:`filter config name
     * <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
     * See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
     * for details.
     * [#comment: An entry's value may be wrapped in a
     * :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
     * message to specify additional options.]
     * 
* * map<string, .google.protobuf.Any> typed_per_filter_config = 16; */ public Builder putAllTypedPerFilterConfig( java.util.Map values) { internalGetMutableTypedPerFilterConfig().getMutableMap() .putAll(values); return this; } private io.envoyproxy.envoy.config.core.v3.Metadata metadata_; private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder> metadataBuilder_; /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; * @return Whether the metadata field is set. */ public boolean hasMetadata() { return metadataBuilder_ != null || metadata_ != null; } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; * @return The metadata. */ public io.envoyproxy.envoy.config.core.v3.Metadata getMetadata() { if (metadataBuilder_ == null) { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } else { return metadataBuilder_.getMessage(); } } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public Builder setMetadata(io.envoyproxy.envoy.config.core.v3.Metadata value) { if (metadataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } metadata_ = value; onChanged(); } else { metadataBuilder_.setMessage(value); } return this; } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public Builder setMetadata( io.envoyproxy.envoy.config.core.v3.Metadata.Builder builderForValue) { if (metadataBuilder_ == null) { metadata_ = builderForValue.build(); onChanged(); } else { metadataBuilder_.setMessage(builderForValue.build()); } return this; } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public Builder mergeMetadata(io.envoyproxy.envoy.config.core.v3.Metadata value) { if (metadataBuilder_ == null) { if (metadata_ != null) { metadata_ = io.envoyproxy.envoy.config.core.v3.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial(); } else { metadata_ = value; } onChanged(); } else { metadataBuilder_.mergeFrom(value); } return this; } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public Builder clearMetadata() { if (metadataBuilder_ == null) { metadata_ = null; onChanged(); } else { metadata_ = null; metadataBuilder_ = null; } return this; } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public io.envoyproxy.envoy.config.core.v3.Metadata.Builder getMetadataBuilder() { onChanged(); return getMetadataFieldBuilder().getBuilder(); } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ public io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder() { if (metadataBuilder_ != null) { return metadataBuilder_.getMessageOrBuilder(); } else { return metadata_ == null ? io.envoyproxy.envoy.config.core.v3.Metadata.getDefaultInstance() : metadata_; } } /** *
     * The metadata field can be used to provide additional information
     * about the route configuration. It can be used for configuration, stats, and logging.
     * The metadata should go under the filter namespace that will need it.
     * For instance, if the metadata is intended for the Router filter,
     * the filter name should be specified as ``envoy.filters.http.router``.
     * 
* * .envoy.config.core.v3.Metadata metadata = 17; */ private com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder> getMetadataFieldBuilder() { if (metadataBuilder_ == null) { metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< io.envoyproxy.envoy.config.core.v3.Metadata, io.envoyproxy.envoy.config.core.v3.Metadata.Builder, io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder>( getMetadata(), getParentForChildren(), isClean()); metadata_ = null; } return metadataBuilder_; } @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.config.route.v3.RouteConfiguration) } // @@protoc_insertion_point(class_scope:envoy.config.route.v3.RouteConfiguration) private static final io.envoyproxy.envoy.config.route.v3.RouteConfiguration DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.RouteConfiguration(); } public static io.envoyproxy.envoy.config.route.v3.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.config.route.v3.RouteConfiguration getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy