public final class Quota extends 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 type google.api.Quota
Inheritance
Object > AbstractMessageLite<MessageType,BuilderType> > AbstractMessage > GeneratedMessageV3 > QuotaImplements
QuotaOrBuilderStatic Fields
LIMITS_FIELD_NUMBER
public static final int LIMITS_FIELD_NUMBER
Type | Description |
int |
METRIC_RULES_FIELD_NUMBER
public static final int METRIC_RULES_FIELD_NUMBER
Type | Description |
int |
Static Methods
getDefaultInstance()
public static Quota getDefaultInstance()
Type | Description |
Quota |
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Type | Description |
Descriptor |
newBuilder()
public static Quota.Builder newBuilder()
Type | Description |
Quota.Builder |
newBuilder(Quota prototype)
public static Quota.Builder newBuilder(Quota prototype)
Name | Description |
prototype | Quota |
Type | Description |
Quota.Builder |
parseDelimitedFrom(InputStream input)
public static Quota parseDelimitedFrom(InputStream input)
Name | Description |
input | InputStream |
Type | Description |
Quota |
Type | Description |
IOException |
parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static Quota parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | InputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
IOException |
parseFrom(byte[] data)
public static Quota parseFrom(byte[] data)
Name | Description |
data | byte[] |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static Quota parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | byte[] |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteString data)
public static Quota parseFrom(ByteString data)
Name | Description |
data | ByteString |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static Quota parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | ByteString |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parseFrom(CodedInputStream input)
public static Quota parseFrom(CodedInputStream input)
Name | Description |
input | CodedInputStream |
Type | Description |
Quota |
Type | Description |
IOException |
parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static Quota parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | CodedInputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
IOException |
parseFrom(InputStream input)
public static Quota parseFrom(InputStream input)
Name | Description |
input | InputStream |
Type | Description |
Quota |
Type | Description |
IOException |
parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
public static Quota parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Name | Description |
input | InputStream |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
IOException |
parseFrom(ByteBuffer data)
public static Quota parseFrom(ByteBuffer data)
Name | Description |
data | ByteBuffer |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static Quota parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Name | Description |
data | ByteBuffer |
extensionRegistry | ExtensionRegistryLite |
Type | Description |
Quota |
Type | Description |
InvalidProtocolBufferException |
parser()
public static Parser<Quota> parser()
Type | Description |
Parser<Quota> |
Methods
equals(Object obj)
public boolean equals(Object obj)
Name | Description |
obj | Object |
Type | Description |
boolean |
getDefaultInstanceForType()
public Quota getDefaultInstanceForType()
Type | Description |
Quota |
getLimits(int index)
public QuotaLimit getLimits(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
Name | Description |
index | int |
Type | Description |
QuotaLimit |
getLimitsCount()
public int getLimitsCount()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
Type | Description |
int |
getLimitsList()
public List<QuotaLimit> getLimitsList()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
Type | Description |
List<QuotaLimit> |
getLimitsOrBuilder(int index)
public QuotaLimitOrBuilder getLimitsOrBuilder(int index)
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
Name | Description |
index | int |
Type | Description |
QuotaLimitOrBuilder |
getLimitsOrBuilderList()
public List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
List of QuotaLimit definitions for the service.
repeated .google.api.QuotaLimit limits = 3;
Type | Description |
List<? extends com.google.api.QuotaLimitOrBuilder> |
getMetricRules(int index)
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;
Name | Description |
index | int |
Type | Description |
MetricRule |
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;
Type | Description |
int |
getMetricRulesList()
public 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;
Type | Description |
List<MetricRule> |
getMetricRulesOrBuilder(int index)
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;
Name | Description |
index | int |
Type | Description |
MetricRuleOrBuilder |
getMetricRulesOrBuilderList()
public 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;
Type | Description |
List<? extends com.google.api.MetricRuleOrBuilder> |
getParserForType()
public Parser<Quota> getParserForType()
Type | Description |
Parser<Quota> |
getSerializedSize()
public int getSerializedSize()
Type | Description |
int |
getUnknownFields()
public final UnknownFieldSet getUnknownFields()
Type | Description |
UnknownFieldSet |
hashCode()
public int hashCode()
Type | Description |
int |
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Type | Description |
FieldAccessorTable |
isInitialized()
public final boolean isInitialized()
Type | Description |
boolean |
newBuilderForType()
public Quota.Builder newBuilderForType()
Type | Description |
Quota.Builder |
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected Quota.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Name | Description |
parent | BuilderParent |
Type | Description |
Quota.Builder |
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Name | Description |
unused | UnusedPrivateParameter |
Type | Description |
Object |
toBuilder()
public Quota.Builder toBuilder()
Type | Description |
Quota.Builder |
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Name | Description |
output | CodedOutputStream |
Type | Description |
IOException |