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: INT64Protobuf typegoogle.api.Quota- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classQuota.BuilderQuota 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 intLIMITS_FIELD_NUMBERstatic intMETRIC_RULES_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)static QuotagetDefaultInstance()QuotagetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()QuotaLimitgetLimits(int index)List of QuotaLimit definitions for the service.intgetLimitsCount()List of QuotaLimit definitions for the service.java.util.List<QuotaLimit>getLimitsList()List of QuotaLimit definitions for the service.QuotaLimitOrBuildergetLimitsOrBuilder(int index)List of QuotaLimit definitions for the service.java.util.List<? extends QuotaLimitOrBuilder>getLimitsOrBuilderList()List of QuotaLimit definitions for the service.MetricRulegetMetricRules(int index)List of MetricRule definitions, each one mapping a selected method to one or more metrics.intgetMetricRulesCount()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.MetricRuleOrBuildergetMetricRulesOrBuilder(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()intgetSerializedSize()inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static Quota.BuildernewBuilder()static Quota.BuildernewBuilder(Quota prototype)Quota.BuildernewBuilderForType()protected Quota.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected java.lang.ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static QuotaparseDelimitedFrom(java.io.InputStream input)static QuotaparseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static QuotaparseFrom(byte[] data)static QuotaparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static QuotaparseFrom(com.google.protobuf.ByteString data)static QuotaparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static QuotaparseFrom(com.google.protobuf.CodedInputStream input)static QuotaparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static QuotaparseFrom(java.io.InputStream input)static QuotaparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static QuotaparseFrom(java.nio.ByteBuffer data)static QuotaparseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<Quota>parser()Quota.BuildertoBuilder()voidwriteTo(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:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Overrides:
internalGetFieldAccessorTablein 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:
getLimitsListin interfaceQuotaOrBuilder
-
getLimitsOrBuilderList
public java.util.List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsOrBuilderListin interfaceQuotaOrBuilder
-
getLimitsCount
public int getLimitsCount()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsCountin interfaceQuotaOrBuilder
-
getLimits
public QuotaLimit getLimits(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsin interfaceQuotaOrBuilder
-
getLimitsOrBuilder
public QuotaLimitOrBuilder getLimitsOrBuilder(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsOrBuilderin 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:
getMetricRulesListin 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:
getMetricRulesOrBuilderListin 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:
getMetricRulesCountin 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:
getMetricRulesin 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:
getMetricRulesOrBuilderin interfaceQuotaOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage.ExtendableMessage<com.google.protobuf.GeneratedMessageV3>
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessage- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein 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:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein 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:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected Quota.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForTypein 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:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
public Quota getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-