Package com.google.api
Class Quota.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
com.google.api.Quota.Builder
- All Implemented Interfaces:
QuotaOrBuilder,com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,Cloneable
- Enclosing class:
- Quota
public static final class Quota.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
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 type google.api.Quota-
Method Summary
Modifier and TypeMethodDescriptionaddAllLimits(Iterable<? extends QuotaLimit> values) List of QuotaLimit definitions for the service.addAllMetricRules(Iterable<? extends MetricRule> values) List of MetricRule definitions, each one mapping a selected method to one or more metrics.addLimits(int index, QuotaLimit value) List of QuotaLimit definitions for the service.addLimits(int index, QuotaLimit.Builder builderForValue) List of QuotaLimit definitions for the service.addLimits(QuotaLimit value) List of QuotaLimit definitions for the service.addLimits(QuotaLimit.Builder builderForValue) List of QuotaLimit definitions for the service.List of QuotaLimit definitions for the service.addLimitsBuilder(int index) List of QuotaLimit definitions for the service.addMetricRules(int index, MetricRule value) List of MetricRule definitions, each one mapping a selected method to one or more metrics.addMetricRules(int index, MetricRule.Builder builderForValue) List of MetricRule definitions, each one mapping a selected method to one or more metrics.addMetricRules(MetricRule value) List of MetricRule definitions, each one mapping a selected method to one or more metrics.addMetricRules(MetricRule.Builder builderForValue) List of MetricRule definitions, each one mapping a selected method to one or more metrics.List of MetricRule definitions, each one mapping a selected method to one or more metrics.addMetricRulesBuilder(int index) List of MetricRule definitions, each one mapping a selected method to one or more metrics.addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()clearField(com.google.protobuf.Descriptors.FieldDescriptor field) List of QuotaLimit definitions for the service.List of MetricRule definitions, each one mapping a selected method to one or more metrics.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorgetLimits(int index) List of QuotaLimit definitions for the service.getLimitsBuilder(int index) List of QuotaLimit definitions for the service.List of QuotaLimit definitions for the service.intList of QuotaLimit definitions for the service.List of QuotaLimit definitions for the service.getLimitsOrBuilder(int index) List of QuotaLimit definitions for the service.List<? extends QuotaLimitOrBuilder>List of QuotaLimit definitions for the service.getMetricRules(int index) List of MetricRule definitions, each one mapping a selected method to one or more metrics.getMetricRulesBuilder(int index) List of MetricRule definitions, each one mapping a selected method to one or more metrics.List of MetricRule definitions, each one mapping a selected method to one or more metrics.intList of MetricRule definitions, each one mapping a selected method to one or more metrics.List of MetricRule definitions, each one mapping a selected method to one or more metrics.getMetricRulesOrBuilder(int index) List of MetricRule definitions, each one mapping a selected method to one or more metrics.List<? extends MetricRuleOrBuilder>List of MetricRule definitions, each one mapping a selected method to one or more metrics.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) final Quota.BuildermergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) removeLimits(int index) List of QuotaLimit definitions for the service.removeMetricRules(int index) List of MetricRule definitions, each one mapping a selected method to one or more metrics.setLimits(int index, QuotaLimit value) List of QuotaLimit definitions for the service.setLimits(int index, QuotaLimit.Builder builderForValue) List of QuotaLimit definitions for the service.setMetricRules(int index, MetricRule value) List of MetricRule definitions, each one mapping a selected method to one or more metrics.setMetricRules(int index, MetricRule.Builder builderForValue) List of MetricRule definitions, each one mapping a selected method to one or more metrics.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) final Quota.BuildersetUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
setField
- Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
clearField
- Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
clearOneof
- Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
setRepeatedField
public Quota.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
addRepeatedField
public Quota.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Quota.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
mergeFrom
public Quota.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<Quota.Builder>- Throws:
IOException
-
getLimitsList
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsListin interfaceQuotaOrBuilder
-
getLimitsCount
public int getLimitsCount()List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsCountin interfaceQuotaOrBuilder
-
getLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsin interfaceQuotaOrBuilder
-
setLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
setLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addAllLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
clearLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
removeLimits
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
getLimitsBuilder
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
getLimitsOrBuilder
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsOrBuilderin interfaceQuotaOrBuilder
-
getLimitsOrBuilderList
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;- Specified by:
getLimitsOrBuilderListin interfaceQuotaOrBuilder
-
addLimitsBuilder
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
addLimitsBuilder
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
getLimitsBuilderList
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3; -
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
-
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
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
-
setMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
setMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addAllMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
clearMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
removeMetricRules
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
getMetricRulesBuilder
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
getMetricRulesOrBuilder
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
-
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
-
addMetricRulesBuilder
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
addMetricRulesBuilder
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
getMetricRulesBuilderList
List of MetricRule definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4; -
setUnknownFields
- Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-
mergeUnknownFields
- Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>
-