Class WeightedCluster
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessage
-
- io.envoyproxy.envoy.config.route.v3.WeightedCluster
-
- All Implemented Interfaces:
com.google.protobuf.Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,WeightedClusterOrBuilder
,java.io.Serializable
public final class WeightedCluster extends com.google.protobuf.GeneratedMessage implements WeightedClusterOrBuilder
Compared to the :ref:`cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` field that specifies a single upstream cluster as the target of a request, the :ref:`weighted_clusters <envoy_v3_api_field_config.route.v3.RouteAction.weighted_clusters>` option allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster based on the weights.
Protobuf typeenvoy.config.route.v3.WeightedCluster
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WeightedCluster.Builder
Compared to the :ref:`cluster <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` field that specifies a single upstream cluster as the target of a request, the :ref:`weighted_clusters <envoy_v3_api_field_config.route.v3.RouteAction.weighted_clusters>` option allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster.static class
WeightedCluster.ClusterWeight
[#next-free-field: 13]static interface
WeightedCluster.ClusterWeightOrBuilder
static class
WeightedCluster.RandomValueSpecifierCase
-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description private int
bitField0_
private java.util.List<WeightedCluster.ClusterWeight>
clusters_
static int
CLUSTERS_FIELD_NUMBER
private static WeightedCluster
DEFAULT_INSTANCE
static int
HEADER_NAME_FIELD_NUMBER
private byte
memoizedIsInitialized
private static com.google.protobuf.Parser<WeightedCluster>
PARSER
private java.lang.Object
randomValueSpecifier_
private int
randomValueSpecifierCase_
static int
RUNTIME_KEY_PREFIX_FIELD_NUMBER
private java.lang.Object
runtimeKeyPrefix_
private static long
serialVersionUID
static int
TOTAL_WEIGHT_FIELD_NUMBER
private com.google.protobuf.UInt32Value
totalWeight_
-
Constructor Summary
Constructors Modifier Constructor Description private
WeightedCluster()
private
WeightedCluster(com.google.protobuf.GeneratedMessage.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
WeightedCluster.ClusterWeight
getClusters(int index)
Specifies one or more upstream clusters associated with the route.int
getClustersCount()
Specifies one or more upstream clusters associated with the route.java.util.List<WeightedCluster.ClusterWeight>
getClustersList()
Specifies one or more upstream clusters associated with the route.WeightedCluster.ClusterWeightOrBuilder
getClustersOrBuilder(int index)
Specifies one or more upstream clusters associated with the route.java.util.List<? extends WeightedCluster.ClusterWeightOrBuilder>
getClustersOrBuilderList()
Specifies one or more upstream clusters associated with the route.static WeightedCluster
getDefaultInstance()
WeightedCluster
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
java.lang.String
getHeaderName()
Specifies the header name that is used to look up the random value passed in the request header.com.google.protobuf.ByteString
getHeaderNameBytes()
Specifies the header name that is used to look up the random value passed in the request header.com.google.protobuf.Parser<WeightedCluster>
getParserForType()
WeightedCluster.RandomValueSpecifierCase
getRandomValueSpecifierCase()
java.lang.String
getRuntimeKeyPrefix()
Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster.com.google.protobuf.ByteString
getRuntimeKeyPrefixBytes()
Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster.int
getSerializedSize()
com.google.protobuf.UInt32Value
getTotalWeight()
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated.com.google.protobuf.UInt32ValueOrBuilder
getTotalWeightOrBuilder()
Deprecated.int
hashCode()
boolean
hasHeaderName()
Specifies the header name that is used to look up the random value passed in the request header.boolean
hasTotalWeight()
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
static WeightedCluster.Builder
newBuilder()
static WeightedCluster.Builder
newBuilder(WeightedCluster prototype)
WeightedCluster.Builder
newBuilderForType()
protected WeightedCluster.Builder
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
static WeightedCluster
parseDelimitedFrom(java.io.InputStream input)
static WeightedCluster
parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static WeightedCluster
parseFrom(byte[] data)
static WeightedCluster
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static WeightedCluster
parseFrom(com.google.protobuf.ByteString data)
static WeightedCluster
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static WeightedCluster
parseFrom(com.google.protobuf.CodedInputStream input)
static WeightedCluster
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static WeightedCluster
parseFrom(java.io.InputStream input)
static WeightedCluster
parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static WeightedCluster
parseFrom(java.nio.ByteBuffer data)
static WeightedCluster
parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<WeightedCluster>
parser()
WeightedCluster.Builder
toBuilder()
void
writeTo(com.google.protobuf.CodedOutputStream output)
-
Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
-
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
bitField0_
private int bitField0_
-
randomValueSpecifierCase_
private int randomValueSpecifierCase_
-
randomValueSpecifier_
private java.lang.Object randomValueSpecifier_
-
CLUSTERS_FIELD_NUMBER
public static final int CLUSTERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
clusters_
private java.util.List<WeightedCluster.ClusterWeight> clusters_
-
TOTAL_WEIGHT_FIELD_NUMBER
public static final int TOTAL_WEIGHT_FIELD_NUMBER
- See Also:
- Constant Field Values
-
totalWeight_
private com.google.protobuf.UInt32Value totalWeight_
-
RUNTIME_KEY_PREFIX_FIELD_NUMBER
public static final int RUNTIME_KEY_PREFIX_FIELD_NUMBER
- See Also:
- Constant Field Values
-
runtimeKeyPrefix_
private volatile java.lang.Object runtimeKeyPrefix_
-
HEADER_NAME_FIELD_NUMBER
public static final int HEADER_NAME_FIELD_NUMBER
- See Also:
- Constant Field Values
-
memoizedIsInitialized
private byte memoizedIsInitialized
-
DEFAULT_INSTANCE
private static final WeightedCluster DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<WeightedCluster> PARSER
-
-
Method Detail
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage
-
getRandomValueSpecifierCase
public WeightedCluster.RandomValueSpecifierCase getRandomValueSpecifierCase()
- Specified by:
getRandomValueSpecifierCase
in interfaceWeightedClusterOrBuilder
-
getClustersList
public java.util.List<WeightedCluster.ClusterWeight> getClustersList()
Specifies one or more upstream clusters associated with the route.
repeated .envoy.config.route.v3.WeightedCluster.ClusterWeight clusters = 1 [(.validate.rules) = { ... }
- Specified by:
getClustersList
in interfaceWeightedClusterOrBuilder
-
getClustersOrBuilderList
public java.util.List<? extends WeightedCluster.ClusterWeightOrBuilder> getClustersOrBuilderList()
Specifies one or more upstream clusters associated with the route.
repeated .envoy.config.route.v3.WeightedCluster.ClusterWeight clusters = 1 [(.validate.rules) = { ... }
- Specified by:
getClustersOrBuilderList
in interfaceWeightedClusterOrBuilder
-
getClustersCount
public int getClustersCount()
Specifies one or more upstream clusters associated with the route.
repeated .envoy.config.route.v3.WeightedCluster.ClusterWeight clusters = 1 [(.validate.rules) = { ... }
- Specified by:
getClustersCount
in interfaceWeightedClusterOrBuilder
-
getClusters
public WeightedCluster.ClusterWeight getClusters(int index)
Specifies one or more upstream clusters associated with the route.
repeated .envoy.config.route.v3.WeightedCluster.ClusterWeight clusters = 1 [(.validate.rules) = { ... }
- Specified by:
getClusters
in interfaceWeightedClusterOrBuilder
-
getClustersOrBuilder
public WeightedCluster.ClusterWeightOrBuilder getClustersOrBuilder(int index)
Specifies one or more upstream clusters associated with the route.
repeated .envoy.config.route.v3.WeightedCluster.ClusterWeight clusters = 1 [(.validate.rules) = { ... }
- Specified by:
getClustersOrBuilder
in interfaceWeightedClusterOrBuilder
-
hasTotalWeight
@Deprecated public boolean hasTotalWeight()
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated. See envoy/config/route/v3/route_components.proto;l=477Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, if this is greater than 0. This field is now deprecated, and the client will use the sum of all cluster weights. It is up to the management server to supply the correct weights.
.google.protobuf.UInt32Value total_weight = 3 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
- Specified by:
hasTotalWeight
in interfaceWeightedClusterOrBuilder
- Returns:
- Whether the totalWeight field is set.
-
getTotalWeight
@Deprecated public com.google.protobuf.UInt32Value getTotalWeight()
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated. See envoy/config/route/v3/route_components.proto;l=477Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, if this is greater than 0. This field is now deprecated, and the client will use the sum of all cluster weights. It is up to the management server to supply the correct weights.
.google.protobuf.UInt32Value total_weight = 3 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
- Specified by:
getTotalWeight
in interfaceWeightedClusterOrBuilder
- Returns:
- The totalWeight.
-
getTotalWeightOrBuilder
@Deprecated public com.google.protobuf.UInt32ValueOrBuilder getTotalWeightOrBuilder()
Deprecated.Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, if this is greater than 0. This field is now deprecated, and the client will use the sum of all cluster weights. It is up to the management server to supply the correct weights.
.google.protobuf.UInt32Value total_weight = 3 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
- Specified by:
getTotalWeightOrBuilder
in interfaceWeightedClusterOrBuilder
-
getRuntimeKeyPrefix
public java.lang.String getRuntimeKeyPrefix()
Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster. When the ``runtime_key_prefix`` is specified, the router will look for weights associated with each upstream cluster under the key ``runtime_key_prefix`` + ``.`` + ``cluster[i].name`` where ``cluster[i]`` denotes an entry in the clusters array field. If the runtime key for the cluster does not exist, the value specified in the configuration file will be used as the default weight. See the :ref:`runtime documentation <operations_runtime>` for how key names map to the underlying implementation.
string runtime_key_prefix = 2;
- Specified by:
getRuntimeKeyPrefix
in interfaceWeightedClusterOrBuilder
- Returns:
- The runtimeKeyPrefix.
-
getRuntimeKeyPrefixBytes
public com.google.protobuf.ByteString getRuntimeKeyPrefixBytes()
Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster. When the ``runtime_key_prefix`` is specified, the router will look for weights associated with each upstream cluster under the key ``runtime_key_prefix`` + ``.`` + ``cluster[i].name`` where ``cluster[i]`` denotes an entry in the clusters array field. If the runtime key for the cluster does not exist, the value specified in the configuration file will be used as the default weight. See the :ref:`runtime documentation <operations_runtime>` for how key names map to the underlying implementation.
string runtime_key_prefix = 2;
- Specified by:
getRuntimeKeyPrefixBytes
in interfaceWeightedClusterOrBuilder
- Returns:
- The bytes for runtimeKeyPrefix.
-
hasHeaderName
public boolean hasHeaderName()
Specifies the header name that is used to look up the random value passed in the request header. This is used to ensure consistent cluster picking across multiple proxy levels for weighted traffic. If header is not present or invalid, Envoy will fall back to use the internally generated random value. This header is expected to be single-valued header as we only want to have one selected value throughout the process for the consistency. And the value is a unsigned number between 0 and UINT64_MAX.
string header_name = 4 [(.validate.rules) = { ... }
- Specified by:
hasHeaderName
in interfaceWeightedClusterOrBuilder
- Returns:
- Whether the headerName field is set.
-
getHeaderName
public java.lang.String getHeaderName()
Specifies the header name that is used to look up the random value passed in the request header. This is used to ensure consistent cluster picking across multiple proxy levels for weighted traffic. If header is not present or invalid, Envoy will fall back to use the internally generated random value. This header is expected to be single-valued header as we only want to have one selected value throughout the process for the consistency. And the value is a unsigned number between 0 and UINT64_MAX.
string header_name = 4 [(.validate.rules) = { ... }
- Specified by:
getHeaderName
in interfaceWeightedClusterOrBuilder
- Returns:
- The headerName.
-
getHeaderNameBytes
public com.google.protobuf.ByteString getHeaderNameBytes()
Specifies the header name that is used to look up the random value passed in the request header. This is used to ensure consistent cluster picking across multiple proxy levels for weighted traffic. If header is not present or invalid, Envoy will fall back to use the internally generated random value. This header is expected to be single-valued header as we only want to have one selected value throughout the process for the consistency. And the value is a unsigned number between 0 and UINT64_MAX.
string header_name = 4 [(.validate.rules) = { ... }
- Specified by:
getHeaderNameBytes
in interfaceWeightedClusterOrBuilder
- Returns:
- The bytes for headerName.
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.google.protobuf.AbstractMessage
-
parseFrom
public static WeightedCluster parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static WeightedCluster parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static WeightedCluster parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static WeightedCluster parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public WeightedCluster.Builder newBuilderForType()
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static WeightedCluster.Builder newBuilder()
-
newBuilder
public static WeightedCluster.Builder newBuilder(WeightedCluster prototype)
-
toBuilder
public WeightedCluster.Builder toBuilder()
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected WeightedCluster.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
- Overrides:
newBuilderForType
in classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
public static WeightedCluster getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<WeightedCluster> parser()
-
getParserForType
public com.google.protobuf.Parser<WeightedCluster> getParserForType()
- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
public WeightedCluster getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-