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_components.proto
package io.envoyproxy.envoy.config.route.v3;
/**
*
* The top level element in the routing configuration is a virtual host. Each virtual host has
* a logical name as well as a set of domains that get routed to it based on the incoming request's
* host header. This allows a single listener to service multiple top level domain path trees. Once
* a virtual host is selected based on the domain, the routes are processed in order to see which
* upstream cluster to route to or whether to perform a redirect.
* [#next-free-field: 25]
*
*
* Protobuf type {@code envoy.config.route.v3.VirtualHost}
*/
public final class VirtualHost extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:envoy.config.route.v3.VirtualHost)
VirtualHostOrBuilder {
private static final long serialVersionUID = 0L;
// Use VirtualHost.newBuilder() to construct.
private VirtualHost(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private VirtualHost() {
name_ = "";
domains_ = com.google.protobuf.LazyStringArrayList.EMPTY;
routes_ = java.util.Collections.emptyList();
requireTls_ = 0;
virtualClusters_ = java.util.Collections.emptyList();
rateLimits_ = java.util.Collections.emptyList();
requestHeadersToAdd_ = java.util.Collections.emptyList();
requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
responseHeadersToAdd_ = java.util.Collections.emptyList();
responseHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
requestMirrorPolicies_ = java.util.Collections.emptyList();
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(
UnusedPrivateParameter unused) {
return new VirtualHost();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private VirtualHost(
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: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000001) != 0)) {
domains_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000001;
}
domains_.add(s);
break;
}
case 26: {
if (!((mutable_bitField0_ & 0x00000002) != 0)) {
routes_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000002;
}
routes_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.Route.parser(), extensionRegistry));
break;
}
case 32: {
int rawValue = input.readEnum();
requireTls_ = rawValue;
break;
}
case 42: {
if (!((mutable_bitField0_ & 0x00000004) != 0)) {
virtualClusters_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000004;
}
virtualClusters_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.VirtualCluster.parser(), extensionRegistry));
break;
}
case 50: {
if (!((mutable_bitField0_ & 0x00000008) != 0)) {
rateLimits_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000008;
}
rateLimits_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.RateLimit.parser(), extensionRegistry));
break;
}
case 58: {
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 66: {
io.envoyproxy.envoy.config.route.v3.CorsPolicy.Builder subBuilder = null;
if (cors_ != null) {
subBuilder = cors_.toBuilder();
}
cors_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.CorsPolicy.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(cors_);
cors_ = subBuilder.buildPartial();
}
break;
}
case 82: {
if (!((mutable_bitField0_ & 0x00000040) != 0)) {
responseHeadersToAdd_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000040;
}
responseHeadersToAdd_.add(
input.readMessage(io.envoyproxy.envoy.config.core.v3.HeaderValueOption.parser(), extensionRegistry));
break;
}
case 90: {
java.lang.String s = input.readStringRequireUtf8();
if (!((mutable_bitField0_ & 0x00000080) != 0)) {
responseHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList();
mutable_bitField0_ |= 0x00000080;
}
responseHeadersToRemove_.add(s);
break;
}
case 106: {
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 112: {
includeRequestAttemptCount_ = input.readBool();
break;
}
case 122: {
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 130: {
io.envoyproxy.envoy.config.route.v3.RetryPolicy.Builder subBuilder = null;
if (retryPolicy_ != null) {
subBuilder = retryPolicy_.toBuilder();
}
retryPolicy_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.RetryPolicy.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(retryPolicy_);
retryPolicy_ = subBuilder.buildPartial();
}
break;
}
case 138: {
io.envoyproxy.envoy.config.route.v3.HedgePolicy.Builder subBuilder = null;
if (hedgePolicy_ != null) {
subBuilder = hedgePolicy_.toBuilder();
}
hedgePolicy_ = input.readMessage(io.envoyproxy.envoy.config.route.v3.HedgePolicy.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(hedgePolicy_);
hedgePolicy_ = subBuilder.buildPartial();
}
break;
}
case 146: {
com.google.protobuf.UInt32Value.Builder subBuilder = null;
if (perRequestBufferLimitBytes_ != null) {
subBuilder = perRequestBufferLimitBytes_.toBuilder();
}
perRequestBufferLimitBytes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(perRequestBufferLimitBytes_);
perRequestBufferLimitBytes_ = subBuilder.buildPartial();
}
break;
}
case 152: {
includeAttemptCountInResponse_ = input.readBool();
break;
}
case 162: {
com.google.protobuf.Any.Builder subBuilder = null;
if (retryPolicyTypedConfig_ != null) {
subBuilder = retryPolicyTypedConfig_.toBuilder();
}
retryPolicyTypedConfig_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(retryPolicyTypedConfig_);
retryPolicyTypedConfig_ = subBuilder.buildPartial();
}
break;
}
case 170: {
com.github.xds.type.matcher.v3.Matcher.Builder subBuilder = null;
if (matcher_ != null) {
subBuilder = matcher_.toBuilder();
}
matcher_ = input.readMessage(com.github.xds.type.matcher.v3.Matcher.parser(), extensionRegistry);
if (subBuilder != null) {
subBuilder.mergeFrom(matcher_);
matcher_ = subBuilder.buildPartial();
}
break;
}
case 178: {
if (!((mutable_bitField0_ & 0x00000200) != 0)) {
requestMirrorPolicies_ = new java.util.ArrayList();
mutable_bitField0_ |= 0x00000200;
}
requestMirrorPolicies_.add(
input.readMessage(io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy.parser(), extensionRegistry));
break;
}
case 184: {
includeIsTimeoutRetryHeader_ = input.readBool();
break;
}
case 194: {
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)) {
domains_ = domains_.getUnmodifiableView();
}
if (((mutable_bitField0_ & 0x00000002) != 0)) {
routes_ = java.util.Collections.unmodifiableList(routes_);
}
if (((mutable_bitField0_ & 0x00000004) != 0)) {
virtualClusters_ = java.util.Collections.unmodifiableList(virtualClusters_);
}
if (((mutable_bitField0_ & 0x00000008) != 0)) {
rateLimits_ = java.util.Collections.unmodifiableList(rateLimits_);
}
if (((mutable_bitField0_ & 0x00000010) != 0)) {
requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_);
}
if (((mutable_bitField0_ & 0x00000040) != 0)) {
responseHeadersToAdd_ = java.util.Collections.unmodifiableList(responseHeadersToAdd_);
}
if (((mutable_bitField0_ & 0x00000080) != 0)) {
responseHeadersToRemove_ = responseHeadersToRemove_.getUnmodifiableView();
}
if (((mutable_bitField0_ & 0x00000020) != 0)) {
requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView();
}
if (((mutable_bitField0_ & 0x00000200) != 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.RouteComponentsProto.internal_static_envoy_config_route_v3_VirtualHost_descriptor;
}
@SuppressWarnings({"rawtypes"})
@java.lang.Override
protected com.google.protobuf.MapField internalGetMapField(
int number) {
switch (number) {
case 15:
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.RouteComponentsProto.internal_static_envoy_config_route_v3_VirtualHost_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.envoyproxy.envoy.config.route.v3.VirtualHost.class, io.envoyproxy.envoy.config.route.v3.VirtualHost.Builder.class);
}
/**
* Protobuf enum {@code envoy.config.route.v3.VirtualHost.TlsRequirementType}
*/
public enum TlsRequirementType
implements com.google.protobuf.ProtocolMessageEnum {
/**
*
* No TLS requirement for the virtual host.
*
*
* NONE = 0;
*/
NONE(0),
/**
*
* External requests must use TLS. If a request is external and it is not
* using TLS, a 301 redirect will be sent telling the client to use HTTPS.
*
*
* EXTERNAL_ONLY = 1;
*/
EXTERNAL_ONLY(1),
/**
*
* All requests must use TLS. If a request is not using TLS, a 301 redirect
* will be sent telling the client to use HTTPS.
*
*
* ALL = 2;
*/
ALL(2),
UNRECOGNIZED(-1),
;
/**
*
* No TLS requirement for the virtual host.
*
*
* NONE = 0;
*/
public static final int NONE_VALUE = 0;
/**
*
* External requests must use TLS. If a request is external and it is not
* using TLS, a 301 redirect will be sent telling the client to use HTTPS.
*
*
* EXTERNAL_ONLY = 1;
*/
public static final int EXTERNAL_ONLY_VALUE = 1;
/**
*
* All requests must use TLS. If a request is not using TLS, a 301 redirect
* will be sent telling the client to use HTTPS.
*
*
* ALL = 2;
*/
public static final int ALL_VALUE = 2;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static TlsRequirementType valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static TlsRequirementType forNumber(int value) {
switch (value) {
case 0: return NONE;
case 1: return EXTERNAL_ONLY;
case 2: return ALL;
default: return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap
internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap<
TlsRequirementType> internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public TlsRequirementType findValueByNumber(int number) {
return TlsRequirementType.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor() {
return io.envoyproxy.envoy.config.route.v3.VirtualHost.getDescriptor().getEnumTypes().get(0);
}
private static final TlsRequirementType[] VALUES = values();
public static TlsRequirementType valueOf(
com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException(
"EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private TlsRequirementType(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:envoy.config.route.v3.VirtualHost.TlsRequirementType)
}
public static final int NAME_FIELD_NUMBER = 1;
private volatile java.lang.Object name_;
/**
*
* The logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
* The logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @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 DOMAINS_FIELD_NUMBER = 2;
private com.google.protobuf.LazyStringList domains_;
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @return A list containing the domains.
*/
public com.google.protobuf.ProtocolStringList
getDomainsList() {
return domains_;
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @return The count of domains.
*/
public int getDomainsCount() {
return domains_.size();
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The domains at the given index.
*/
public java.lang.String getDomains(int index) {
return domains_.get(index);
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the domains at the given index.
*/
public com.google.protobuf.ByteString
getDomainsBytes(int index) {
return domains_.getByteString(index);
}
public static final int ROUTES_FIELD_NUMBER = 3;
private java.util.List routes_;
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
@java.lang.Override
public int getRoutesCount() {
return routes_.size();
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RouteOrBuilder getRoutesOrBuilder(
int index) {
return routes_.get(index);
}
public static final int MATCHER_FIELD_NUMBER = 21;
private com.github.xds.type.matcher.v3.Matcher matcher_;
/**
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
*
* .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
* @return Whether the matcher field is set.
*/
@java.lang.Override
public boolean hasMatcher() {
return matcher_ != null;
}
/**
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
*
* .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
*/
@java.lang.Override
public com.github.xds.type.matcher.v3.MatcherOrBuilder getMatcherOrBuilder() {
return getMatcher();
}
public static final int REQUIRE_TLS_FIELD_NUMBER = 4;
private int requireTls_;
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for requireTls.
*/
@java.lang.Override public int getRequireTlsValue() {
return requireTls_;
}
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @return The requireTls.
*/
@java.lang.Override public io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType getRequireTls() {
@SuppressWarnings("deprecation")
io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType result = io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.valueOf(requireTls_);
return result == null ? io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.UNRECOGNIZED : result;
}
public static final int VIRTUAL_CLUSTERS_FIELD_NUMBER = 5;
private java.util.List virtualClusters_;
/**
*
* A list of virtual clusters defined for this virtual host. Virtual clusters
* are used for additional statistics gathering.
*
* Specifies a set of rate limit configurations that will be applied to the
* virtual host.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 6;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder getRateLimitsOrBuilder(
int index) {
return rateLimits_.get(index);
}
public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 7;
private java.util.List requestHeadersToAdd_;
/**
*
* Specifies a list of HTTP headers that should be added to each request
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.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 = 13;
private com.google.protobuf.LazyStringList requestHeadersToRemove_;
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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 RESPONSE_HEADERS_TO_ADD_FIELD_NUMBER = 10;
private java.util.List responseHeadersToAdd_;
/**
*
* Specifies a list of HTTP headers that should be added to each response
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.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 = 11;
private com.google.protobuf.LazyStringList responseHeadersToRemove_;
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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 CORS_FIELD_NUMBER = 8;
private io.envoyproxy.envoy.config.route.v3.CorsPolicy cors_;
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.VirtualHost.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=153
* @return Whether the cors field is set.
*/
@java.lang.Override
@java.lang.Deprecated public boolean hasCors() {
return cors_ != null;
}
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.VirtualHost.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=153
* @return The cors.
*/
@java.lang.Override
@java.lang.Deprecated public io.envoyproxy.envoy.config.route.v3.CorsPolicy getCors() {
return cors_ == null ? io.envoyproxy.envoy.config.route.v3.CorsPolicy.getDefaultInstance() : cors_;
}
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Override
@java.lang.Deprecated public io.envoyproxy.envoy.config.route.v3.CorsPolicyOrBuilder getCorsOrBuilder() {
return getCors();
}
public static final int TYPED_PER_FILTER_CONFIG_FIELD_NUMBER = 15;
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.RouteComponentsProto.internal_static_envoy_config_route_v3_VirtualHost_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 virtual host 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 = 15;
*/
@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 virtual host 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 virtual host 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 virtual host 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 = 15;
*/
@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 INCLUDE_REQUEST_ATTEMPT_COUNT_FIELD_NUMBER = 14;
private boolean includeRequestAttemptCount_;
/**
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the upstream request. Setting this option will cause it to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the upstream
* will see the attempt count as perceived by the second Envoy. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
* [#next-major-version: rename to include_attempt_count_in_request.]
*
*
* bool include_request_attempt_count = 14;
* @return The includeRequestAttemptCount.
*/
@java.lang.Override
public boolean getIncludeRequestAttemptCount() {
return includeRequestAttemptCount_;
}
public static final int INCLUDE_ATTEMPT_COUNT_IN_RESPONSE_FIELD_NUMBER = 19;
private boolean includeAttemptCountInResponse_;
/**
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the downstream response. Setting this option will cause the router to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the downstream
* will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
*
*
* bool include_attempt_count_in_response = 19;
* @return The includeAttemptCountInResponse.
*/
@java.lang.Override
public boolean getIncludeAttemptCountInResponse() {
return includeAttemptCountInResponse_;
}
public static final int RETRY_POLICY_FIELD_NUMBER = 16;
private io.envoyproxy.envoy.config.route.v3.RetryPolicy retryPolicy_;
/**
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 16;
* @return Whether the retryPolicy field is set.
*/
@java.lang.Override
public boolean hasRetryPolicy() {
return retryPolicy_ != null;
}
/**
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 16;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RetryPolicyOrBuilder getRetryPolicyOrBuilder() {
return getRetryPolicy();
}
public static final int RETRY_POLICY_TYPED_CONFIG_FIELD_NUMBER = 20;
private com.google.protobuf.Any retryPolicyTypedConfig_;
/**
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 20;
* @return Whether the retryPolicyTypedConfig field is set.
*/
@java.lang.Override
public boolean hasRetryPolicyTypedConfig() {
return retryPolicyTypedConfig_ != null;
}
/**
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 20;
*/
@java.lang.Override
public com.google.protobuf.AnyOrBuilder getRetryPolicyTypedConfigOrBuilder() {
return getRetryPolicyTypedConfig();
}
public static final int HEDGE_POLICY_FIELD_NUMBER = 17;
private io.envoyproxy.envoy.config.route.v3.HedgePolicy hedgePolicy_;
/**
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
* @return Whether the hedgePolicy field is set.
*/
@java.lang.Override
public boolean hasHedgePolicy() {
return hedgePolicy_ != null;
}
/**
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.HedgePolicyOrBuilder getHedgePolicyOrBuilder() {
return getHedgePolicy();
}
public static final int INCLUDE_IS_TIMEOUT_RETRY_HEADER_FIELD_NUMBER = 23;
private boolean includeIsTimeoutRetryHeader_;
/**
*
* Decides whether to include the :ref:`x-envoy-is-timeout-retry <config_http_filters_router_x-envoy-is-timeout-retry>`
* request header in retries initiated by per try timeouts.
*
*
* bool include_is_timeout_retry_header = 23;
* @return The includeIsTimeoutRetryHeader.
*/
@java.lang.Override
public boolean getIncludeIsTimeoutRetryHeader() {
return includeIsTimeoutRetryHeader_;
}
public static final int PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER = 18;
private com.google.protobuf.UInt32Value perRequestBufferLimitBytes_;
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
* @return Whether the perRequestBufferLimitBytes field is set.
*/
@java.lang.Override
public boolean hasPerRequestBufferLimitBytes() {
return perRequestBufferLimitBytes_ != null;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
*/
@java.lang.Override
public com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder() {
return getPerRequestBufferLimitBytes();
}
public static final int REQUEST_MIRROR_POLICIES_FIELD_NUMBER = 22;
private java.util.List requestMirrorPolicies_;
/**
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
@java.lang.Override
public int getRequestMirrorPoliciesCount() {
return requestMirrorPolicies_.size();
}
/**
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder(
int index) {
return requestMirrorPolicies_.get(index);
}
public static final int METADATA_FIELD_NUMBER = 24;
private io.envoyproxy.envoy.config.core.v3.Metadata metadata_;
/**
*
* The metadata field can be used to provide additional information
* about the virtual host. 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 = 24;
* @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 virtual host. 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 virtual host. 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 = 24;
*/
@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 < domains_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 2, domains_.getRaw(i));
}
for (int i = 0; i < routes_.size(); i++) {
output.writeMessage(3, routes_.get(i));
}
if (requireTls_ != io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.NONE.getNumber()) {
output.writeEnum(4, requireTls_);
}
for (int i = 0; i < virtualClusters_.size(); i++) {
output.writeMessage(5, virtualClusters_.get(i));
}
for (int i = 0; i < rateLimits_.size(); i++) {
output.writeMessage(6, rateLimits_.get(i));
}
for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
output.writeMessage(7, requestHeadersToAdd_.get(i));
}
if (cors_ != null) {
output.writeMessage(8, getCors());
}
for (int i = 0; i < responseHeadersToAdd_.size(); i++) {
output.writeMessage(10, responseHeadersToAdd_.get(i));
}
for (int i = 0; i < responseHeadersToRemove_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 11, responseHeadersToRemove_.getRaw(i));
}
for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 13, requestHeadersToRemove_.getRaw(i));
}
if (includeRequestAttemptCount_ != false) {
output.writeBool(14, includeRequestAttemptCount_);
}
com.google.protobuf.GeneratedMessageV3
.serializeStringMapTo(
output,
internalGetTypedPerFilterConfig(),
TypedPerFilterConfigDefaultEntryHolder.defaultEntry,
15);
if (retryPolicy_ != null) {
output.writeMessage(16, getRetryPolicy());
}
if (hedgePolicy_ != null) {
output.writeMessage(17, getHedgePolicy());
}
if (perRequestBufferLimitBytes_ != null) {
output.writeMessage(18, getPerRequestBufferLimitBytes());
}
if (includeAttemptCountInResponse_ != false) {
output.writeBool(19, includeAttemptCountInResponse_);
}
if (retryPolicyTypedConfig_ != null) {
output.writeMessage(20, getRetryPolicyTypedConfig());
}
if (matcher_ != null) {
output.writeMessage(21, getMatcher());
}
for (int i = 0; i < requestMirrorPolicies_.size(); i++) {
output.writeMessage(22, requestMirrorPolicies_.get(i));
}
if (includeIsTimeoutRetryHeader_ != false) {
output.writeBool(23, includeIsTimeoutRetryHeader_);
}
if (metadata_ != null) {
output.writeMessage(24, 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_);
}
{
int dataSize = 0;
for (int i = 0; i < domains_.size(); i++) {
dataSize += computeStringSizeNoTag(domains_.getRaw(i));
}
size += dataSize;
size += 1 * getDomainsList().size();
}
for (int i = 0; i < routes_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(3, routes_.get(i));
}
if (requireTls_ != io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.NONE.getNumber()) {
size += com.google.protobuf.CodedOutputStream
.computeEnumSize(4, requireTls_);
}
for (int i = 0; i < virtualClusters_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(5, virtualClusters_.get(i));
}
for (int i = 0; i < rateLimits_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(6, rateLimits_.get(i));
}
for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(7, requestHeadersToAdd_.get(i));
}
if (cors_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(8, getCors());
}
for (int i = 0; i < responseHeadersToAdd_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(10, 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();
}
{
int dataSize = 0;
for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
dataSize += computeStringSizeNoTag(requestHeadersToRemove_.getRaw(i));
}
size += dataSize;
size += 1 * getRequestHeadersToRemoveList().size();
}
if (includeRequestAttemptCount_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(14, includeRequestAttemptCount_);
}
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(15, typedPerFilterConfig__);
}
if (retryPolicy_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(16, getRetryPolicy());
}
if (hedgePolicy_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(17, getHedgePolicy());
}
if (perRequestBufferLimitBytes_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(18, getPerRequestBufferLimitBytes());
}
if (includeAttemptCountInResponse_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(19, includeAttemptCountInResponse_);
}
if (retryPolicyTypedConfig_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(20, getRetryPolicyTypedConfig());
}
if (matcher_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(21, getMatcher());
}
for (int i = 0; i < requestMirrorPolicies_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(22, requestMirrorPolicies_.get(i));
}
if (includeIsTimeoutRetryHeader_ != false) {
size += com.google.protobuf.CodedOutputStream
.computeBoolSize(23, includeIsTimeoutRetryHeader_);
}
if (metadata_ != null) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(24, 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.VirtualHost)) {
return super.equals(obj);
}
io.envoyproxy.envoy.config.route.v3.VirtualHost other = (io.envoyproxy.envoy.config.route.v3.VirtualHost) obj;
if (!getName()
.equals(other.getName())) return false;
if (!getDomainsList()
.equals(other.getDomainsList())) return false;
if (!getRoutesList()
.equals(other.getRoutesList())) return false;
if (hasMatcher() != other.hasMatcher()) return false;
if (hasMatcher()) {
if (!getMatcher()
.equals(other.getMatcher())) return false;
}
if (requireTls_ != other.requireTls_) return false;
if (!getVirtualClustersList()
.equals(other.getVirtualClustersList())) return false;
if (!getRateLimitsList()
.equals(other.getRateLimitsList())) return false;
if (!getRequestHeadersToAddList()
.equals(other.getRequestHeadersToAddList())) return false;
if (!getRequestHeadersToRemoveList()
.equals(other.getRequestHeadersToRemoveList())) return false;
if (!getResponseHeadersToAddList()
.equals(other.getResponseHeadersToAddList())) return false;
if (!getResponseHeadersToRemoveList()
.equals(other.getResponseHeadersToRemoveList())) return false;
if (hasCors() != other.hasCors()) return false;
if (hasCors()) {
if (!getCors()
.equals(other.getCors())) return false;
}
if (!internalGetTypedPerFilterConfig().equals(
other.internalGetTypedPerFilterConfig())) return false;
if (getIncludeRequestAttemptCount()
!= other.getIncludeRequestAttemptCount()) return false;
if (getIncludeAttemptCountInResponse()
!= other.getIncludeAttemptCountInResponse()) return false;
if (hasRetryPolicy() != other.hasRetryPolicy()) return false;
if (hasRetryPolicy()) {
if (!getRetryPolicy()
.equals(other.getRetryPolicy())) return false;
}
if (hasRetryPolicyTypedConfig() != other.hasRetryPolicyTypedConfig()) return false;
if (hasRetryPolicyTypedConfig()) {
if (!getRetryPolicyTypedConfig()
.equals(other.getRetryPolicyTypedConfig())) return false;
}
if (hasHedgePolicy() != other.hasHedgePolicy()) return false;
if (hasHedgePolicy()) {
if (!getHedgePolicy()
.equals(other.getHedgePolicy())) return false;
}
if (getIncludeIsTimeoutRetryHeader()
!= other.getIncludeIsTimeoutRetryHeader()) return false;
if (hasPerRequestBufferLimitBytes() != other.hasPerRequestBufferLimitBytes()) return false;
if (hasPerRequestBufferLimitBytes()) {
if (!getPerRequestBufferLimitBytes()
.equals(other.getPerRequestBufferLimitBytes())) return false;
}
if (!getRequestMirrorPoliciesList()
.equals(other.getRequestMirrorPoliciesList())) 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 (getDomainsCount() > 0) {
hash = (37 * hash) + DOMAINS_FIELD_NUMBER;
hash = (53 * hash) + getDomainsList().hashCode();
}
if (getRoutesCount() > 0) {
hash = (37 * hash) + ROUTES_FIELD_NUMBER;
hash = (53 * hash) + getRoutesList().hashCode();
}
if (hasMatcher()) {
hash = (37 * hash) + MATCHER_FIELD_NUMBER;
hash = (53 * hash) + getMatcher().hashCode();
}
hash = (37 * hash) + REQUIRE_TLS_FIELD_NUMBER;
hash = (53 * hash) + requireTls_;
if (getVirtualClustersCount() > 0) {
hash = (37 * hash) + VIRTUAL_CLUSTERS_FIELD_NUMBER;
hash = (53 * hash) + getVirtualClustersList().hashCode();
}
if (getRateLimitsCount() > 0) {
hash = (37 * hash) + RATE_LIMITS_FIELD_NUMBER;
hash = (53 * hash) + getRateLimitsList().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();
}
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 (hasCors()) {
hash = (37 * hash) + CORS_FIELD_NUMBER;
hash = (53 * hash) + getCors().hashCode();
}
if (!internalGetTypedPerFilterConfig().getMap().isEmpty()) {
hash = (37 * hash) + TYPED_PER_FILTER_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + internalGetTypedPerFilterConfig().hashCode();
}
hash = (37 * hash) + INCLUDE_REQUEST_ATTEMPT_COUNT_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getIncludeRequestAttemptCount());
hash = (37 * hash) + INCLUDE_ATTEMPT_COUNT_IN_RESPONSE_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getIncludeAttemptCountInResponse());
if (hasRetryPolicy()) {
hash = (37 * hash) + RETRY_POLICY_FIELD_NUMBER;
hash = (53 * hash) + getRetryPolicy().hashCode();
}
if (hasRetryPolicyTypedConfig()) {
hash = (37 * hash) + RETRY_POLICY_TYPED_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getRetryPolicyTypedConfig().hashCode();
}
if (hasHedgePolicy()) {
hash = (37 * hash) + HEDGE_POLICY_FIELD_NUMBER;
hash = (53 * hash) + getHedgePolicy().hashCode();
}
hash = (37 * hash) + INCLUDE_IS_TIMEOUT_RETRY_HEADER_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
getIncludeIsTimeoutRetryHeader());
if (hasPerRequestBufferLimitBytes()) {
hash = (37 * hash) + PER_REQUEST_BUFFER_LIMIT_BYTES_FIELD_NUMBER;
hash = (53 * hash) + getPerRequestBufferLimitBytes().hashCode();
}
if (getRequestMirrorPoliciesCount() > 0) {
hash = (37 * hash) + REQUEST_MIRROR_POLICIES_FIELD_NUMBER;
hash = (53 * hash) + getRequestMirrorPoliciesList().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.VirtualHost parseFrom(
java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.VirtualHost 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.VirtualHost parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.VirtualHost 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.VirtualHost parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.envoyproxy.envoy.config.route.v3.VirtualHost 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.VirtualHost 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.VirtualHost 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.VirtualHost 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.VirtualHost 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.VirtualHost 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.VirtualHost 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.VirtualHost 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 top level element in the routing configuration is a virtual host. Each virtual host has
* a logical name as well as a set of domains that get routed to it based on the incoming request's
* host header. This allows a single listener to service multiple top level domain path trees. Once
* a virtual host is selected based on the domain, the routes are processed in order to see which
* upstream cluster to route to or whether to perform a redirect.
* [#next-free-field: 25]
*
* The logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @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 logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @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 logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @return This builder for chaining.
*/
public Builder clearName() {
name_ = getDefaultInstance().getName();
onChanged();
return this;
}
/**
*
* The logical name of the virtual host. This is used when emitting certain
* statistics but is not relevant for routing.
*
*
* string name = 1 [(.validate.rules) = { ... }
* @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 com.google.protobuf.LazyStringList domains_ = com.google.protobuf.LazyStringArrayList.EMPTY;
private void ensureDomainsIsMutable() {
if (!((bitField0_ & 0x00000001) != 0)) {
domains_ = new com.google.protobuf.LazyStringArrayList(domains_);
bitField0_ |= 0x00000001;
}
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @return A list containing the domains.
*/
public com.google.protobuf.ProtocolStringList
getDomainsList() {
return domains_.getUnmodifiableView();
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @return The count of domains.
*/
public int getDomainsCount() {
return domains_.size();
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The domains at the given index.
*/
public java.lang.String getDomains(int index) {
return domains_.get(index);
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the domains at the given index.
*/
public com.google.protobuf.ByteString
getDomainsBytes(int index) {
return domains_.getByteString(index);
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param index The index to set the value at.
* @param value The domains to set.
* @return This builder for chaining.
*/
public Builder setDomains(
int index, java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureDomainsIsMutable();
domains_.set(index, value);
onChanged();
return this;
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param value The domains to add.
* @return This builder for chaining.
*/
public Builder addDomains(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
ensureDomainsIsMutable();
domains_.add(value);
onChanged();
return this;
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param values The domains to add.
* @return This builder for chaining.
*/
public Builder addAllDomains(
java.lang.Iterable values) {
ensureDomainsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, domains_);
onChanged();
return this;
}
/**
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
* A list of domains (host/authority header) that will be matched to this
* virtual host. Wildcard hosts are supported in the suffix or prefix form.
* Domain search order:
* 1. Exact domain names: ``www.foo.com``.
* 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
* 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
* 4. Special wildcard ``*`` matching any domain.
* .. note::
* The wildcard will not match the empty string.
* e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
* The longest wildcards match first.
* Only a single virtual host in the entire route configuration can match on ``*``. A domain
* must be unique across all virtual hosts or the config will fail to load.
* Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE.
*
*
* repeated string domains = 2 [(.validate.rules) = { ... }
* @param value The bytes of the domains to add.
* @return This builder for chaining.
*/
public Builder addDomainsBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
ensureDomainsIsMutable();
domains_.add(value);
onChanged();
return this;
}
private java.util.List routes_ =
java.util.Collections.emptyList();
private void ensureRoutesIsMutable() {
if (!((bitField0_ & 0x00000002) != 0)) {
routes_ = new java.util.ArrayList(routes_);
bitField0_ |= 0x00000002;
}
}
private com.google.protobuf.RepeatedFieldBuilderV3<
io.envoyproxy.envoy.config.route.v3.Route, io.envoyproxy.envoy.config.route.v3.Route.Builder, io.envoyproxy.envoy.config.route.v3.RouteOrBuilder> routesBuilder_;
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public int getRoutesCount() {
if (routesBuilder_ == null) {
return routes_.size();
} else {
return routesBuilder_.getCount();
}
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public Builder setRoutes(
int index, io.envoyproxy.envoy.config.route.v3.Route value) {
if (routesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRoutesIsMutable();
routes_.set(index, value);
onChanged();
} else {
routesBuilder_.setMessage(index, value);
}
return this;
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public Builder addRoutes(io.envoyproxy.envoy.config.route.v3.Route value) {
if (routesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRoutesIsMutable();
routes_.add(value);
onChanged();
} else {
routesBuilder_.addMessage(value);
}
return this;
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public Builder addRoutes(
int index, io.envoyproxy.envoy.config.route.v3.Route value) {
if (routesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureRoutesIsMutable();
routes_.add(index, value);
onChanged();
} else {
routesBuilder_.addMessage(index, value);
}
return this;
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public io.envoyproxy.envoy.config.route.v3.Route.Builder getRoutesBuilder(
int index) {
return getRoutesFieldBuilder().getBuilder(index);
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
*
* repeated .envoy.config.route.v3.Route routes = 3;
*/
public io.envoyproxy.envoy.config.route.v3.RouteOrBuilder getRoutesOrBuilder(
int index) {
if (routesBuilder_ == null) {
return routes_.get(index); } else {
return routesBuilder_.getMessageOrBuilder(index);
}
}
/**
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* The list of routes that will be matched, in order, for incoming requests.
* The first route that matches will be used.
* Only one of this and ``matcher`` can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
*
* .xds.type.matcher.v3.Matcher matcher = 21 [(.xds.annotations.v3.field_status) = { ... }
* @return Whether the matcher field is set.
*/
public boolean hasMatcher() {
return matcherBuilder_ != null || matcher_ != null;
}
/**
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* [#next-major-version: This should be included in a oneof with routes wrapped in a message.]
* The match tree to use when resolving route actions for incoming requests. Only one of this and ``routes``
* can be specified.
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @return The enum numeric value on the wire for requireTls.
*/
@java.lang.Override public int getRequireTlsValue() {
return requireTls_;
}
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @param value The enum numeric value on the wire for requireTls to set.
* @return This builder for chaining.
*/
public Builder setRequireTlsValue(int value) {
requireTls_ = value;
onChanged();
return this;
}
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @return The requireTls.
*/
@java.lang.Override
public io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType getRequireTls() {
@SuppressWarnings("deprecation")
io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType result = io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.valueOf(requireTls_);
return result == null ? io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType.UNRECOGNIZED : result;
}
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
*
* .envoy.config.route.v3.VirtualHost.TlsRequirementType require_tls = 4 [(.validate.rules) = { ... }
* @param value The requireTls to set.
* @return This builder for chaining.
*/
public Builder setRequireTls(io.envoyproxy.envoy.config.route.v3.VirtualHost.TlsRequirementType value) {
if (value == null) {
throw new NullPointerException();
}
requireTls_ = value.getNumber();
onChanged();
return this;
}
/**
*
* Specifies the type of TLS enforcement the virtual host expects. If this option is not
* specified, there is no TLS requirement for the virtual host.
*
* Specifies a list of HTTP headers that should be added to each request
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 7 [(.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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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
* handled by this virtual host.
*
* Specifies a list of HTTP headers that should be removed from each request
* handled by this virtual host.
*
*
* repeated string request_headers_to_remove = 13 [(.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 java.util.List responseHeadersToAdd_ =
java.util.Collections.emptyList();
private void ensureResponseHeadersToAddIsMutable() {
if (!((bitField0_ & 0x00000040) != 0)) {
responseHeadersToAdd_ = new java.util.ArrayList(responseHeadersToAdd_);
bitField0_ |= 0x00000040;
}
}
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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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 = 10 [(.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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host. Headers specified at this level are applied
* after headers from enclosed :ref:`envoy_v3_api_msg_config.route.v3.Route` and before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. 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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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
* handled by this virtual host.
*
* Specifies a list of HTTP headers that should be removed from each response
* handled by this virtual host.
*
*
* repeated string response_headers_to_remove = 11 [(.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 io.envoyproxy.envoy.config.route.v3.CorsPolicy cors_;
private com.google.protobuf.SingleFieldBuilderV3<
io.envoyproxy.envoy.config.route.v3.CorsPolicy, io.envoyproxy.envoy.config.route.v3.CorsPolicy.Builder, io.envoyproxy.envoy.config.route.v3.CorsPolicyOrBuilder> corsBuilder_;
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.VirtualHost.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=153
* @return Whether the cors field is set.
*/
@java.lang.Deprecated public boolean hasCors() {
return corsBuilder_ != null || cors_ != null;
}
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
* @deprecated envoy.config.route.v3.VirtualHost.cors is deprecated.
* See envoy/config/route/v3/route_components.proto;l=153
* @return The cors.
*/
@java.lang.Deprecated public io.envoyproxy.envoy.config.route.v3.CorsPolicy getCors() {
if (corsBuilder_ == null) {
return cors_ == null ? io.envoyproxy.envoy.config.route.v3.CorsPolicy.getDefaultInstance() : cors_;
} else {
return corsBuilder_.getMessage();
}
}
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 8 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
*/
@java.lang.Deprecated public Builder setCors(io.envoyproxy.envoy.config.route.v3.CorsPolicy value) {
if (corsBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
cors_ = value;
onChanged();
} else {
corsBuilder_.setMessage(value);
}
return this;
}
/**
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* Indicates that the virtual host has a CORS policy. This field is ignored if related cors policy is
* found in the
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`.
* .. attention::
* This option has been deprecated. Please use
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>`
* to configure the CORS HTTP filter.
*
* This field can be used to provide virtual host 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 = 15;
*/
@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 virtual host 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 virtual host 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 virtual host 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 = 15;
*/
@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 virtual host 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 = 15;
*/
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 virtual host 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 = 15;
*/
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 virtual host 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.]
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the upstream request. Setting this option will cause it to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the upstream
* will see the attempt count as perceived by the second Envoy. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
* [#next-major-version: rename to include_attempt_count_in_request.]
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the upstream request. Setting this option will cause it to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the upstream
* will see the attempt count as perceived by the second Envoy. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
* [#next-major-version: rename to include_attempt_count_in_request.]
*
*
* bool include_request_attempt_count = 14;
* @param value The includeRequestAttemptCount to set.
* @return This builder for chaining.
*/
public Builder setIncludeRequestAttemptCount(boolean value) {
includeRequestAttemptCount_ = value;
onChanged();
return this;
}
/**
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the upstream request. Setting this option will cause it to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the upstream
* will see the attempt count as perceived by the second Envoy. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
* [#next-major-version: rename to include_attempt_count_in_request.]
*
*
* bool include_request_attempt_count = 14;
* @return This builder for chaining.
*/
public Builder clearIncludeRequestAttemptCount() {
includeRequestAttemptCount_ = false;
onChanged();
return this;
}
private boolean includeAttemptCountInResponse_ ;
/**
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the downstream response. Setting this option will cause the router to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the downstream
* will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the downstream response. Setting this option will cause the router to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the downstream
* will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
*
*
* bool include_attempt_count_in_response = 19;
* @param value The includeAttemptCountInResponse to set.
* @return This builder for chaining.
*/
public Builder setIncludeAttemptCountInResponse(boolean value) {
includeAttemptCountInResponse_ = value;
onChanged();
return this;
}
/**
*
* Decides whether the :ref:`x-envoy-attempt-count
* <config_http_filters_router_x-envoy-attempt-count>` header should be included
* in the downstream response. Setting this option will cause the router to override any existing header
* value, so in the case of two Envoys on the request path with this option enabled, the downstream
* will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false.
* This header is unaffected by the
* :ref:`suppress_envoy_headers
* <envoy_v3_api_field_extensions.filters.http.router.v3.Router.suppress_envoy_headers>` flag.
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 16;
* @return Whether the retryPolicy field is set.
*/
public boolean hasRetryPolicy() {
return retryPolicyBuilder_ != null || retryPolicy_ != null;
}
/**
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 16;
*/
public Builder setRetryPolicy(io.envoyproxy.envoy.config.route.v3.RetryPolicy value) {
if (retryPolicyBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
retryPolicy_ = value;
onChanged();
} else {
retryPolicyBuilder_.setMessage(value);
}
return this;
}
/**
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the retry policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 20;
* @return Whether the retryPolicyTypedConfig field is set.
*/
public boolean hasRetryPolicyTypedConfig() {
return retryPolicyTypedConfigBuilder_ != null || retryPolicyTypedConfig_ != null;
}
/**
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
*
* .google.protobuf.Any retry_policy_typed_config = 20;
*/
public Builder setRetryPolicyTypedConfig(com.google.protobuf.Any value) {
if (retryPolicyTypedConfigBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
retryPolicyTypedConfig_ = value;
onChanged();
} else {
retryPolicyTypedConfigBuilder_.setMessage(value);
}
return this;
}
/**
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* [#not-implemented-hide:]
* Specifies the configuration for retry policy extension. Note that setting a route level entry
* will take precedence over this config and it'll be treated independently (e.g.: values are not
* inherited). :ref:`Retry policy <envoy_v3_api_field_config.route.v3.VirtualHost.retry_policy>` should not be
* set if this field is used.
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
* @return Whether the hedgePolicy field is set.
*/
public boolean hasHedgePolicy() {
return hedgePolicyBuilder_ != null || hedgePolicy_ != null;
}
/**
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 17;
*/
public Builder setHedgePolicy(io.envoyproxy.envoy.config.route.v3.HedgePolicy value) {
if (hedgePolicyBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
hedgePolicy_ = value;
onChanged();
} else {
hedgePolicyBuilder_.setMessage(value);
}
return this;
}
/**
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Indicates the hedge policy for all routes in this virtual host. Note that setting a
* route level entry will take precedence over this config and it'll be treated
* independently (e.g.: values are not inherited).
*
* Decides whether to include the :ref:`x-envoy-is-timeout-retry <config_http_filters_router_x-envoy-is-timeout-retry>`
* request header in retries initiated by per try timeouts.
*
* Decides whether to include the :ref:`x-envoy-is-timeout-retry <config_http_filters_router_x-envoy-is-timeout-retry>`
* request header in retries initiated by per try timeouts.
*
*
* bool include_is_timeout_retry_header = 23;
* @param value The includeIsTimeoutRetryHeader to set.
* @return This builder for chaining.
*/
public Builder setIncludeIsTimeoutRetryHeader(boolean value) {
includeIsTimeoutRetryHeader_ = value;
onChanged();
return this;
}
/**
*
* Decides whether to include the :ref:`x-envoy-is-timeout-retry <config_http_filters_router_x-envoy-is-timeout-retry>`
* request header in retries initiated by per try timeouts.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
* @return Whether the perRequestBufferLimitBytes field is set.
*/
public boolean hasPerRequestBufferLimitBytes() {
return perRequestBufferLimitBytesBuilder_ != null || perRequestBufferLimitBytes_ != null;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 18;
*/
public Builder setPerRequestBufferLimitBytes(com.google.protobuf.UInt32Value value) {
if (perRequestBufferLimitBytesBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
perRequestBufferLimitBytes_ = value;
onChanged();
} else {
perRequestBufferLimitBytesBuilder_.setMessage(value);
}
return this;
}
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set and a route-specific limit is not set, the bytes actually buffered will be the minimum
* value of this and the listener per_connection_buffer_limit_bytes.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
public int getRequestMirrorPoliciesCount() {
if (requestMirrorPoliciesBuilder_ == null) {
return requestMirrorPolicies_.size();
} else {
return requestMirrorPoliciesBuilder_.getCount();
}
}
/**
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
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 for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
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 for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
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 for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
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 for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 22;
*/
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 for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* Specify a set of default request mirroring policies for every route under this virtual host.
* It takes precedence over the route config mirror policy entirely.
* That is, policies are not merged, the most specific non-empty one becomes the mirror policies.
*
* The metadata field can be used to provide additional information
* about the virtual host. 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 = 24;
* @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 virtual host. 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 virtual host. 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 = 24;
*/
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 virtual host. 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 virtual host. 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 virtual host. 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 virtual host. 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 virtual host. 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 virtual host. 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 = 24;
*/
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.VirtualHost)
}
// @@protoc_insertion_point(class_scope:envoy.config.route.v3.VirtualHost)
private static final io.envoyproxy.envoy.config.route.v3.VirtualHost DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.envoyproxy.envoy.config.route.v3.VirtualHost();
}
public static io.envoyproxy.envoy.config.route.v3.VirtualHost getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser() {
@java.lang.Override
public VirtualHost parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new VirtualHost(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.VirtualHost getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}