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 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| Modifier and Type | Method and Description |
|---|---|
Quota.Builder |
addAllLimits(java.lang.Iterable<? extends QuotaLimit> values)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
addAllMetricRules(java.lang.Iterable<? extends MetricRule> values)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
addLimits(int index,
QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
addLimits(int index,
QuotaLimit value)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
addLimits(QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
addLimits(QuotaLimit value)
List of `QuotaLimit` definitions for the service.
|
QuotaLimit.Builder |
addLimitsBuilder()
List of `QuotaLimit` definitions for the service.
|
QuotaLimit.Builder |
addLimitsBuilder(int index)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
addMetricRules(int index,
MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
addMetricRules(int index,
MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
addMetricRules(MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
addMetricRules(MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
MetricRule.Builder |
addMetricRulesBuilder()
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
MetricRule.Builder |
addMetricRulesBuilder(int index)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Quota |
build() |
Quota |
buildPartial() |
Quota.Builder |
clear() |
Quota.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Quota.Builder |
clearLimits()
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
clearMetricRules()
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Quota.Builder |
clone() |
Quota |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
QuotaLimit |
getLimits(int index)
List of `QuotaLimit` definitions for the service.
|
QuotaLimit.Builder |
getLimitsBuilder(int index)
List of `QuotaLimit` definitions for the service.
|
java.util.List<QuotaLimit.Builder> |
getLimitsBuilderList()
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.
|
MetricRule.Builder |
getMetricRulesBuilder(int index)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
java.util.List<MetricRule.Builder> |
getMetricRulesBuilderList()
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.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
Quota.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
Quota.Builder |
mergeFrom(com.google.protobuf.Message other) |
Quota.Builder |
mergeFrom(Quota other) |
Quota.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Quota.Builder |
removeLimits(int index)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
removeMetricRules(int index)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Quota.Builder |
setLimits(int index,
QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
setLimits(int index,
QuotaLimit value)
List of `QuotaLimit` definitions for the service.
|
Quota.Builder |
setMetricRules(int index,
MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
setMetricRules(int index,
MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one
or more metrics.
|
Quota.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
java.lang.Object value) |
Quota.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic Quota build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic Quota buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic Quota.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
setField in interface com.google.protobuf.Message.BuildersetField in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
setRepeatedField in interface com.google.protobuf.Message.BuildersetRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
addRepeatedField in interface com.google.protobuf.Message.BuilderaddRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Quota.Builder>public Quota.Builder mergeFrom(Quota other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public Quota.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Quota.Builder>java.io.IOExceptionpublic java.util.List<QuotaLimit> getLimitsList()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;getLimitsList in interface QuotaOrBuilderpublic int getLimitsCount()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;getLimitsCount in interface QuotaOrBuilderpublic QuotaLimit getLimits(int index)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;getLimits in interface QuotaOrBuilderpublic Quota.Builder setLimits(int index, QuotaLimit value)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder setLimits(int index, QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder addLimits(QuotaLimit value)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder addLimits(int index, QuotaLimit value)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder addLimits(QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder addLimits(int index, QuotaLimit.Builder builderForValue)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder addAllLimits(java.lang.Iterable<? extends QuotaLimit> values)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder clearLimits()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public Quota.Builder removeLimits(int index)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public QuotaLimit.Builder getLimitsBuilder(int index)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public QuotaLimitOrBuilder getLimitsOrBuilder(int index)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;getLimitsOrBuilder in interface QuotaOrBuilderpublic java.util.List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;getLimitsOrBuilderList in interface QuotaOrBuilderpublic QuotaLimit.Builder addLimitsBuilder()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public QuotaLimit.Builder addLimitsBuilder(int index)
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;public java.util.List<QuotaLimit.Builder> getLimitsBuilderList()
List of `QuotaLimit` definitions for the service.
repeated .google.api.QuotaLimit limits = 3;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;getMetricRulesList in interface QuotaOrBuilderpublic int getMetricRulesCount()
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;getMetricRulesCount in interface QuotaOrBuilderpublic 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;getMetricRules in interface QuotaOrBuilderpublic Quota.Builder setMetricRules(int index, MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder setMetricRules(int index, MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder addMetricRules(MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder addMetricRules(int index, MetricRule value)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder addMetricRules(MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder addMetricRules(int index, MetricRule.Builder builderForValue)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder addAllMetricRules(java.lang.Iterable<? extends MetricRule> values)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder clearMetricRules()
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public Quota.Builder removeMetricRules(int index)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public MetricRule.Builder getMetricRulesBuilder(int index)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;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;getMetricRulesOrBuilder in interface QuotaOrBuilderpublic 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;getMetricRulesOrBuilderList in interface QuotaOrBuilderpublic MetricRule.Builder addMetricRulesBuilder()
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public MetricRule.Builder addMetricRulesBuilder(int index)
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public java.util.List<MetricRule.Builder> getMetricRulesBuilderList()
List of `MetricRule` definitions, each one mapping a selected method to one or more metrics.
repeated .google.api.MetricRule metric_rules = 4;public final Quota.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>public final Quota.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Quota.Builder>