Quota

com.google.api.quota.Quota
See theQuota companion object
final case class Quota(limits: Seq[QuotaLimit], metricRules: Seq[MetricRule], unknownFields: UnknownFieldSet) extends GeneratedMessage, Updatable[Quota]

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

Value parameters

limits

List of QuotaLimit definitions for the service.

metricRules

List of MetricRule definitions, each one mapping a selected method to one or more metrics.

Attributes

Companion
object
Source
Quota.scala
Graph
Supertypes
trait Updatable[Quota]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def addAllLimits(`__vs`: Iterable[QuotaLimit]): Quota

Attributes

Source
Quota.scala
def addAllMetricRules(`__vs`: Iterable[MetricRule]): Quota

Attributes

Source
Quota.scala
def addLimits(`__vs`: QuotaLimit*): Quota

Attributes

Source
Quota.scala

Attributes

Source
Quota.scala

Attributes

Source
Quota.scala

Attributes

Source
Quota.scala
def companion: Quota.type

Attributes

Source
Quota.scala

Attributes

Source
Quota.scala
def getField(`__field`: FieldDescriptor): PValue

Attributes

Source
Quota.scala
def getFieldByNumber(`__fieldNumber`: Int): Any

Attributes

Source
Quota.scala
override def serializedSize: Int

Attributes

Definition Classes
GeneratedMessage
Source
Quota.scala
def toProtoString: String

Returns a human-readable ASCII format representation of this message.

Returns a human-readable ASCII format representation of this message.

The original message can be decoded from this format by using fromAscii on the companion object.

Attributes

Returns

human-readable representation of this message.

Source
Quota.scala
def withLimits(`__v`: Seq[QuotaLimit]): Quota

Attributes

Source
Quota.scala
def withMetricRules(`__v`: Seq[MetricRule]): Quota

Attributes

Source
Quota.scala
def withUnknownFields(`__v`: UnknownFieldSet): Quota

Attributes

Source
Quota.scala
def writeTo(`_output__`: CodedOutputStream): Unit

Serializes the message into the given coded output stream

Serializes the message into the given coded output stream

Attributes

Source
Quota.scala

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
final def toByteArray: Array[Byte]

Serializes the message and returns a byte array containing its raw bytes

Serializes the message and returns a byte array containing its raw bytes

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def toByteString: ByteString

Serializes the message and returns a ByteString containing its raw bytes

Serializes the message and returns a ByteString containing its raw bytes

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def toPMessage: PMessage

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
def update(ms: Lens[Quota, Quota] => () => Quota*): A

Attributes

Inherited from:
Updatable
Source
Lenses.scala
final def writeDelimitedTo(output: OutputStream): Unit

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala
final def writeTo(output: OutputStream): Unit

Serializes the message into the given output stream

Serializes the message into the given output stream

Attributes

Inherited from:
GeneratedMessage
Source
GeneratedMessageCompanion.scala