google_api_service_consumer_management v0.18.0 GoogleApi.ServiceConsumerManagement.V1.Model.Quota View Source
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
Attributes
limits
(type:list(GoogleApi.ServiceConsumerManagement.V1.Model.QuotaLimit.t)
, default:nil
) - List ofQuotaLimit
definitions for the service.metricRules
(type:list(GoogleApi.ServiceConsumerManagement.V1.Model.MetricRule.t)
, default:nil
) - List ofMetricRule
definitions, each one mapping a selected method to one or more metrics.
Link to this section Summary
Functions
Unwrap a decoded JSON object into its complex fields.
Link to this section Types
Link to this type
t()
View Sourcet() :: %GoogleApi.ServiceConsumerManagement.V1.Model.Quota{ limits: [GoogleApi.ServiceConsumerManagement.V1.Model.QuotaLimit.t()], metricRules: [GoogleApi.ServiceConsumerManagement.V1.Model.MetricRule.t()] }
Link to this section Functions
Unwrap a decoded JSON object into its complex fields.