View Source GoogleApi.ServiceConsumerManagement.V1.Model.Quota (google_api_service_consumer_management v0.32.0)

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 of QuotaLimit definitions for the service.
  • metricRules (type: list(GoogleApi.ServiceConsumerManagement.V1.Model.MetricRule.t), default: nil) - List of MetricRule definitions, each one mapping a selected method to one or more metrics.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ServiceConsumerManagement.V1.Model.Quota{
  limits: [GoogleApi.ServiceConsumerManagement.V1.Model.QuotaLimit.t()] | nil,
  metricRules:
    [GoogleApi.ServiceConsumerManagement.V1.Model.MetricRule.t()] | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.