Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// 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.
*
* 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.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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).
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.]
*
* 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.]
*
* 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``.
*
* 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;
}
/**
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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>`.
*
* 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.
*
* 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.
*
* 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.
*
* 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).
*
* 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).
*
* 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).
*
* 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).
*
* 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).
*
* 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).
*
* 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).
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.]
*
* 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.]
*
* 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.]
*
* 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``.
*
* 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``.
*
* 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``.
*
* 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``.
*
* 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``.
*
* 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``.
*
* 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;
}
}