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
,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 type
envoy.config.route.v3.WeightedCluster
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
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 final class
[#next-free-field: 13]static interface
static enum
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>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParent
Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private List
<WeightedCluster.ClusterWeight> static final int
private static final WeightedCluster
static final int
private byte
private static final com.google.protobuf.Parser
<WeightedCluster> private Object
private int
static final int
private Object
private static final long
static final int
private com.google.protobuf.UInt32Value
Fields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, unknownFields
Fields inherited from class com.google.protobuf.AbstractMessage
memoizedSize
Fields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
private
WeightedCluster
(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
Method Summary
Modifier and TypeMethodDescriptionboolean
getClusters
(int index) Specifies one or more upstream clusters associated with the route.int
Specifies one or more upstream clusters associated with the route.Specifies one or more upstream clusters associated with the route.getClustersOrBuilder
(int index) Specifies one or more upstream clusters associated with the route.List
<? extends WeightedCluster.ClusterWeightOrBuilder> Specifies one or more upstream clusters associated with the route.static WeightedCluster
static final com.google.protobuf.Descriptors.Descriptor
Specifies the header name that is used to look up the random value passed in the request header.com.google.protobuf.ByteString
Specifies the header name that is used to look up the random value passed in the request header.com.google.protobuf.Parser
<WeightedCluster> Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster.com.google.protobuf.ByteString
Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster.int
com.google.protobuf.UInt32Value
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated.com.google.protobuf.UInt32ValueOrBuilder
Deprecated.int
hashCode()
boolean
Specifies the header name that is used to look up the random value passed in the request header.boolean
Deprecated.envoy.config.route.v3.WeightedCluster.total_weight is deprecated.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
final boolean
static WeightedCluster.Builder
static WeightedCluster.Builder
newBuilder
(WeightedCluster prototype) protected WeightedCluster.Builder
newBuilderForType
(com.google.protobuf.AbstractMessage.BuilderParent parent) static WeightedCluster
parseDelimitedFrom
(InputStream input) static WeightedCluster
parseDelimitedFrom
(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
(InputStream input) static WeightedCluster
parseFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static WeightedCluster
parseFrom
(ByteBuffer data) static WeightedCluster
parseFrom
(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser
<WeightedCluster> parser()
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
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
bitField0_
private int bitField0_ -
randomValueSpecifierCase_
private int randomValueSpecifierCase_ -
randomValueSpecifier_
-
CLUSTERS_FIELD_NUMBER
public static final int CLUSTERS_FIELD_NUMBER- See Also:
-
clusters_
-
TOTAL_WEIGHT_FIELD_NUMBER
public static final int TOTAL_WEIGHT_FIELD_NUMBER- See Also:
-
totalWeight_
private com.google.protobuf.UInt32Value totalWeight_ -
RUNTIME_KEY_PREFIX_FIELD_NUMBER
public static final int RUNTIME_KEY_PREFIX_FIELD_NUMBER- See Also:
-
runtimeKeyPrefix_
-
HEADER_NAME_FIELD_NUMBER
public static final int HEADER_NAME_FIELD_NUMBER- See Also:
-
memoizedIsInitialized
private byte memoizedIsInitialized -
DEFAULT_INSTANCE
-
PARSER
-
-
Constructor Details
-
WeightedCluster
private WeightedCluster(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
WeightedCluster
private WeightedCluster()
-
-
Method Details
-
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
- Specified by:
getRandomValueSpecifierCase
in interfaceWeightedClusterOrBuilder
-
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
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
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
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.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.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.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
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
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
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
- 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(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static WeightedCluster parseFrom(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
- Throws:
IOException
-
parseFrom
public static WeightedCluster parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static WeightedCluster parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static WeightedCluster parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
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
-
parser
-
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
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-