Package com.google.api
Class Quota
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessage
-
- com.google.protobuf.GeneratedMessage.ExtendableMessage<com.google.protobuf.GeneratedMessageV3>
-
- com.google.protobuf.GeneratedMessageV3
-
- com.google.api.Quota
-
- All Implemented Interfaces:
QuotaOrBuilder
,com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>
,com.google.protobuf.Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,java.io.Serializable
public final class Quota extends com.google.protobuf.GeneratedMessageV3 implements QuotaOrBuilder
Quota configuration helps to achieve fairness and budgeting in service usage. The metric based quota configuration works this way: - The service configuration defines a set of metrics. - For API calls, the quota.metric_rules maps methods to metrics with corresponding costs. - The quota.limits defines limits on the metrics, which will be used for quota checks at runtime. An example quota configuration in yaml format: quota: limits: - name: apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/{project}" # rate limit for consumer projects values: STANDARD: 10000 (The metric rules bind all methods to the read_calls metric, except for the UpdateBook and DeleteBook methods. These two methods are mapped to the write_calls metric, with the UpdateBook method consuming at twice rate as the DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.googleapis.com/read_calls: 1 - selector: google.example.library.v1.LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 - selector: google.example.library.v1.LibraryService.DeleteBook metric_costs: library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics: - name: library.googleapis.com/read_calls display_name: Read requests metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/write_calls display_name: Write requests metric_kind: DELTA value_type: INT64
Protobuf typegoogle.api.Quota
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Quota.Builder
Quota configuration helps to achieve fairness and budgeting in service usage.-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage
com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionSerializer, com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionWriter
-
-
Field Summary
Fields Modifier and Type Field Description static int
LIMITS_FIELD_NUMBER
static int
METRIC_RULES_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
static Quota
getDefaultInstance()
Quota
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
QuotaLimit
getLimits(int index)
List of QuotaLimit definitions for the service.int
getLimitsCount()
List of QuotaLimit definitions for the service.java.util.List<QuotaLimit>
getLimitsList()
List of QuotaLimit definitions for the service.QuotaLimitOrBuilder
getLimitsOrBuilder(int index)
List of QuotaLimit definitions for the service.java.util.List<? extends QuotaLimitOrBuilder>
getLimitsOrBuilderList()
List of QuotaLimit definitions for the service.MetricRule
getMetricRules(int index)
List of MetricRule definitions, each one mapping a selected method to one or more metrics.int
getMetricRulesCount()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.java.util.List<MetricRule>
getMetricRulesList()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.MetricRuleOrBuilder
getMetricRulesOrBuilder(int index)
List of MetricRule definitions, each one mapping a selected method to one or more metrics.java.util.List<? extends MetricRuleOrBuilder>
getMetricRulesOrBuilderList()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.com.google.protobuf.Parser<Quota>
getParserForType()
int
getSerializedSize()
int
hashCode()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
static Quota.Builder
newBuilder()
static Quota.Builder
newBuilder(Quota prototype)
Quota.Builder
newBuilderForType()
protected Quota.Builder
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
protected java.lang.Object
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
static Quota
parseDelimitedFrom(java.io.InputStream input)
static Quota
parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Quota
parseFrom(byte[] data)
static Quota
parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Quota
parseFrom(com.google.protobuf.ByteString data)
static Quota
parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Quota
parseFrom(com.google.protobuf.CodedInputStream input)
static Quota
parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Quota
parseFrom(java.io.InputStream input)
static Quota
parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static Quota
parseFrom(java.nio.ByteBuffer data)
static Quota
parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<Quota>
parser()
Quota.Builder
toBuilder()
void
writeTo(com.google.protobuf.CodedOutputStream output)
-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType
-
Methods inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage
extensionsAreInitialized, extensionsSerializedSize, extensionsSerializedSizeAsMessageSet, getAllFields, getAllFieldsRaw, getExtension, getExtension, getExtensionCount, getExtensionFields, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasField, newExtensionSerializer, newExtensionWriter, newMessageSetExtensionSerializer, newMessageSetExtensionWriter
-
Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getDescriptorForType, getOneofFieldDescriptor, getUnknownFields, 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
-
LIMITS_FIELD_NUMBER
public static final int LIMITS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
METRIC_RULES_FIELD_NUMBER
public static final int METRIC_RULES_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected java.lang.Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstance
in classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Overrides:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessageV3
-
getLimitsList
public java.util.List<QuotaLimit> getLimitsList()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
- Specified by:
getLimitsList
in interfaceQuotaOrBuilder
-
getLimitsOrBuilderList
public java.util.List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
- Specified by:
getLimitsOrBuilderList
in interfaceQuotaOrBuilder
-
getLimitsCount
public int getLimitsCount()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
- Specified by:
getLimitsCount
in interfaceQuotaOrBuilder
-
getLimits
public QuotaLimit getLimits(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
- Specified by:
getLimits
in interfaceQuotaOrBuilder
-
getLimitsOrBuilder
public QuotaLimitOrBuilder getLimitsOrBuilder(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
- Specified by:
getLimitsOrBuilder
in interfaceQuotaOrBuilder
-
getMetricRulesList
public java.util.List<MetricRule> getMetricRulesList()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;
- Specified by:
getMetricRulesList
in interfaceQuotaOrBuilder
-
getMetricRulesOrBuilderList
public java.util.List<? extends MetricRuleOrBuilder> getMetricRulesOrBuilderList()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;
- Specified by:
getMetricRulesOrBuilderList
in interfaceQuotaOrBuilder
-
getMetricRulesCount
public int getMetricRulesCount()
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;
- Specified by:
getMetricRulesCount
in interfaceQuotaOrBuilder
-
getMetricRules
public MetricRule getMetricRules(int index)
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;
- Specified by:
getMetricRules
in interfaceQuotaOrBuilder
-
getMetricRulesOrBuilder
public MetricRuleOrBuilder getMetricRulesOrBuilder(int index)
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;
- Specified by:
getMetricRulesOrBuilder
in interfaceQuotaOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage.ExtendableMessage<com.google.protobuf.GeneratedMessageV3>
-
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 Quota parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static Quota parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Quota parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static Quota parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static Quota parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Quota parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static Quota parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public Quota.Builder newBuilderForType()
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static Quota.Builder newBuilder()
-
newBuilder
public static Quota.Builder newBuilder(Quota prototype)
-
toBuilder
public Quota.Builder toBuilder()
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected Quota.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForType
in classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
public static Quota getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<Quota> parser()
-
getParserForType
public com.google.protobuf.Parser<Quota> 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 Quota getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-