Regen docs (#364)
diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index c367090..5a42bf5 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -75,40 +75,49 @@
<h1><a href="servicecontrol_v1.html">Google Service Control API</a> . <a href="servicecontrol_v1.services.html">services</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
+ <code><a href="#allocateQuota">allocateQuota(serviceName=None, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Attempts to allocate quota for the specified consumer. It should be called</p>
+<p class="toc_element">
<code><a href="#check">check(serviceName=None, body, x__xgafv=None)</a></code></p>
<p class="firstline">Checks an operation with Google Service Control to decide whether</p>
<p class="toc_element">
+ <code><a href="#endReconciliation">endReconciliation(serviceName=None, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Signals the quota controller that service ends the ongoing usage</p>
+<p class="toc_element">
+ <code><a href="#releaseQuota">releaseQuota(serviceName=None, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Releases previously allocated quota done through AllocateQuota method.</p>
+<p class="toc_element">
<code><a href="#report">report(serviceName=None, body, x__xgafv=None)</a></code></p>
<p class="firstline">Reports operation results to Google Service Control, such as logs and</p>
+<p class="toc_element">
+ <code><a href="#startReconciliation">startReconciliation(serviceName=None, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Unlike rate quota, allocation quota does not get refilled periodically.</p>
<h3>Method Details</h3>
<div class="method">
- <code class="details" id="check">check(serviceName=None, body, x__xgafv=None)</code>
- <pre>Checks an operation with Google Service Control to decide whether
-the given operation should proceed. It should be called before the
-operation is executed.
+ <code class="details" id="allocateQuota">allocateQuota(serviceName=None, body, x__xgafv=None)</code>
+ <pre>Attempts to allocate quota for the specified consumer. It should be called
+before the operation is executed.
-If feasible, the client should cache the check results and reuse them for
-60 seconds. In case of server errors, the client can rely on the cached
-results for longer time.
-
-NOTE: the `CheckRequest` has the size limit of 1MB.
-
-This method requires the `servicemanagement.services.check` permission
-on the specified service. For more information, see
+This method requires the `servicemanagement.services.quota`
+permission on the specified service. For more information, see
[Google Cloud IAM](https://cloud.google.com/iam).
Args:
- serviceName: string, The service name as specified in its service configuration. For example,
+ serviceName: string, Name of the service as specified in the service configuration. For example,
`"pubsub.googleapis.com"`.
See google.api.Service for the definition of a service name. (required)
body: object, The request body. (required)
The object takes the form of:
-{ # Request message for the Check method.
- "operation": { # Represents information regarding an operation. # The operation to be checked.
- "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
- "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
+{ # Request message for the AllocateQuota method.
+ "allocationMode": "A String", # Allocation mode for this operation.
+ # Deprecated: use QuotaMode inside the QuotaOperation.
+ "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+ # the request. If unspecified or no matching version can be found, the latest
+ # one will be used.
+ "allocateOperation": { # Represents information regarding a quota operation. # Operation that describes the quota allocation.
+ "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
# corresponds to a metric defined in the service configuration.
# The data type used in the MetricValueSet must agree with
# the data type specified in the metric definition.
@@ -123,6 +132,17 @@
# end time, and label values.
"metricValues": [ # The values in this metric.
{ # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
"labels": { # The labels describing the metric value.
# See comments on google.api.servicecontrol.v1.Operation.labels for
# the overriding relationship.
@@ -143,6 +163,10 @@
# - the sum-squared-deviation of the samples, used to compute variance
# - a histogram of the values of the sample points
"count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
# optional. If present, they must sum to the `count` value.
#
@@ -169,12 +193,341 @@
# the total number of buckets is `num_finite_buckets` + 2.
# See comments on `bucket_options` for details.
},
- "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
"maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+ # requested. This name is used for matching quota rules or metric rules and
+ # billing status rules defined in service configuration. This field is not
+ # required if the quota operation is performed on non-API resources.
+ #
+ # Example of an RPC method name:
+ # google.example.library.v1.LibraryService.CreateShelf
+ "labels": { # Labels describing the operation.
+ "a_key": "A String",
+ },
+ "quotaMode": "A String", # Quota mode for this operation.
+ "consumerId": "A String", # Identity of the consumer for whom this quota operation is being performed.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
+ "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
+ # service that generated the operation. If the service calls AllocateQuota
+ # and ReleaseQuota on the same operation, the two calls should carry the
+ # same ID.
+ #
+ # UUID version 4 is recommended, though not required. In scenarios where an
+ # operation is computed from existing information and an idempotent id is
+ # desirable for deduplication purpose, UUID version 5 is recommended. See
+ # RFC 4122 for details.
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response message for the AllocateQuota method.
+ "allocateErrors": [ # Indicates the decision of the allocate.
+ {
+ "code": "A String", # Error code.
+ "description": "A String", # Free-form text that provides details on the cause of the error.
+ "subject": "A String", # Subject to whom this error applies. See the specific enum for more details
+ # on this field. For example, "clientip:<ip address of client>" or
+ # "project:<Google developer project id>".
+ },
+ ],
+ "serviceConfigId": "A String", # ID of the actual config used to process the request.
+ "quotaMetrics": [ # Quota metrics to indicate the result of allocation. Depending on the
+ # request, one or more of the following metrics will be included:
+ #
+ # 1. For rate quota, per quota group or per quota metric incremental usage
+ # will be specified using the following delta metric:
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
+ #
+ # 2. For allocation quota, per quota metric total usage will be specified
+ # using the following gauge metric:
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
+ #
+ # 3. For both rate quota and allocation quota, the quota limit reached
+ # condition will be specified using the following boolean metric:
+ # "serviceruntime.googleapis.com/quota/exceeded"
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
+ # logging and diagnostics purposes.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="check">check(serviceName=None, body, x__xgafv=None)</code>
+ <pre>Checks an operation with Google Service Control to decide whether
+the given operation should proceed. It should be called before the
+operation is executed.
+
+If feasible, the client should cache the check results and reuse them for
+60 seconds. In case of server errors, the client can rely on the cached
+results for longer time.
+
+NOTE: the `CheckRequest` has the size limit of 64KB.
+
+This method requires the `servicemanagement.services.check` permission
+on the specified service. For more information, see
+[Google Cloud IAM](https://cloud.google.com/iam).
+
+Args:
+ serviceName: string, The service name as specified in its service configuration. For example,
+`"pubsub.googleapis.com"`.
+
+See google.api.Service for the definition of a service name. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{ # Request message for the Check method.
+ "skipActivationCheck": True or False, # Indicates if service activation check should be skipped for this request.
+ # Default behavior is to perform the check and apply relevant quota.
+ "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+ # the request.
+ #
+ # If unspecified or no matching version can be found, the
+ # latest one will be used.
+ "operation": { # Represents information regarding an operation. # The operation to be checked.
+ "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
+ "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
+ # corresponds to a metric defined in the service configuration.
+ # The data type used in the MetricValueSet must agree with
+ # the data type specified in the metric definition.
+ #
+ # Within a single operation, it is not allowed to have more than one
+ # MetricValue instances that have the same metric names and identical
+ # label value combinations. If a request has such duplicated MetricValue
+ # instances, the entire request is rejected with
+ # an invalid argument error.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
"sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
# Sum[i=1..count]((x_i - mean)^2)
# where each x_i is a sample values. If `count` is zero then this field
# must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
"linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
"width": 3.14, # The i'th linear bucket covers the interval
# [offset + (i-1) * width, offset + i * width)
@@ -236,19 +589,46 @@
# where the API is served (e.g. GAE, GCE, GKE).
"a_key": "A String",
},
- "consumerId": "A String", # Identity of the consumer who is using the service.
- # This field should be filled in for the operations initiated by a
- # consumer, but not for service-initiated operations that are
- # not related to a specific consumer.
+ "quotaProperties": { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
+ # operation is for a quota check request.
+ #
+ # Use the metric_value_sets field in Operation message to provide cost
+ # override with metric_name in <service_name>/quota/<quota_group_name>/cost
+ # format. Overrides for unmatched quota groups will be ignored.
+ # Costs are expected to be >= 0. Cost 0 will cause no quota check,
+ # but still traffic restrictions will be enforced.
+ "quotaMode": "A String", # Quota mode for this operation.
+ "limitByIds": { # LimitType IDs that should be used for checking quota. Key in this map
+ # should be a valid LimitType string, and the value is the ID to be used. For
+ # example, an entry <USER, 123> will cause all user quota limits to use 123
+ # as the user ID. See google/api/quota.proto for the definition of LimitType.
+ # CLIENT_PROJECT: Not supported.
+ # USER: Value of this entry will be used for enforcing user-level quota
+ # limits. If none specified, caller IP passed in the
+ # servicecontrol.googleapis.com/caller_ip label will be used instead.
+ # If the server cannot resolve a value for this LimitType, an error
+ # will be thrown. No validation will be performed on this ID.
+ # Deprecated: use servicecontrol.googleapis.com/user label to send user ID.
+ "a_key": "A String",
+ },
+ },
+ "resourceContainer": "A String", # The resource name of the parent of a resource in the resource hierarchy.
#
# This can be in one of the following formats:
- # project:<project_id>,
- # project_number:<project_number>,
- # api_key:<api_key>.
+ # - “projects/<project-id or project-number>”
+ # - “folders/<folder-id>”
+ # - “organizations/<organization-id>”
+ "userLabels": { # User defined labels for the resource that this operation is associated
+ # with.
+ "a_key": "A String",
+ },
+ "endTime": "A String", # End time of the operation.
+ # Required when the operation is used in ServiceController.Report,
+ # but optional when the operation is used in ServiceController.Check.
"logEntries": [ # Represents information to be logged.
{ # An individual log entry.
- "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
- # `"book_log"`.
+ "severity": "A String", # The severity of the log entry. The default value is
+ # `LogSeverity.DEFAULT`.
"textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
"timestamp": "A String", # The time the event described by the log entry occurred. If
# omitted, defaults to operation start time.
@@ -260,21 +640,27 @@
# is expressed as a JSON object.
"a_key": "", # Properties of the object.
},
- "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
- # the implementation will generate one based on operation_id.
"protoPayload": { # The log entry payload, represented as a protocol buffer that is
# expressed as a JSON object. You can only pass `protoPayload`
# values that belong to a set of approved types.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
- "severity": "A String", # The severity of the log entry. The default value is
- # `LogSeverity.DEFAULT`.
+ "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
+ # the implementation will generate one based on operation_id.
+ "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
+ # `"book_log"`.
},
],
"startTime": "A String", # Required. Start time of the operation.
- "endTime": "A String", # End time of the operation.
- # Required when the operation is used in ServiceController.Report,
- # but optional when the operation is used in ServiceController.Check.
+ "consumerId": "A String", # Identity of the consumer who is using the service.
+ # This field should be filled in for the operations initiated by a
+ # consumer, but not for service-initiated operations that are
+ # not related to a specific consumer.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
"operationId": "A String", # Identity of the operation. This must be unique within the scope of the
# service that generated the operation. If the service calls
# Check() and Report() on the same operation, the two calls should carry
@@ -285,11 +671,7 @@
# and an idempotent id is desirable for deduplication purpose, UUID version 5
# is recommended. See RFC 4122 for details.
},
- "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
- # the request.
- #
- # If unspecified or no matching version can be found, the
- # latest one will be used.
+ "requestProjectSettings": True or False, # Requests the project settings to be returned as part of the check response.
}
x__xgafv: string, V1 error format.
@@ -302,6 +684,153 @@
{ # Response message for the Check method.
"serviceConfigId": "A String", # The actual config id used to process the request.
+ "quotaInfo": { # Contains the quota information for a quota check response. # Quota information for the check request associated with this response.
+ "quotaMetrics": [ # Quota metrics to indicate the usage. Depending on the check request, one or
+ # more of the following metrics will be included:
+ #
+ # 1. For rate quota, per quota group or per quota metric incremental usage
+ # will be specified using the following delta metric:
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
+ #
+ # 2. For allocation quota, per quota metric total usage will be specified
+ # using the following gauge metric:
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
+ #
+ # 3. For both rate quota and allocation quota, the quota limit reached
+ # condition will be specified using the following boolean metric:
+ # "serviceruntime.googleapis.com/quota/exceeded"
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "limitExceeded": [ # Quota Metrics that have exceeded quota limits.
+ # For QuotaGroup-based quota, this is QuotaGroup.name
+ # For QuotaLimit-based quota, this is QuotaLimit.name
+ # See: google.api.Quota
+ # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
+ "A String",
+ ],
+ "quotaConsumed": { # Map of quota group name to the actual number of tokens consumed. If the
+ # quota check was not successful, then this will not be populated due to no
+ # quota consumption.
+ # Deprecated: Use quota_metrics to get per quota group usage.
+ "a_key": 42,
+ },
+ },
+ "checkInfo": { # Feedback data returned from the server during processing a Check request.
+ "unusedArguments": [ # A list of fields and label keys that are ignored by the server.
+ # The client doesn't need to send them for following requests to improve
+ # performance and allow better aggregation.
+ "A String",
+ ],
+ },
"checkErrors": [ # Indicate the decision of the check.
#
# If no check errors are present, the service should process the operation.
@@ -319,6 +848,630 @@
</div>
<div class="method">
+ <code class="details" id="endReconciliation">endReconciliation(serviceName=None, body, x__xgafv=None)</code>
+ <pre>Signals the quota controller that service ends the ongoing usage
+reconciliation.
+
+This method requires the `servicemanagement.services.quota`
+permission on the specified service. For more information, see
+[Google Cloud IAM](https://cloud.google.com/iam).
+
+Args:
+ serviceName: string, Name of the service as specified in the service configuration. For example,
+`"pubsub.googleapis.com"`.
+
+See google.api.Service for the definition of a service name. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{
+ "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+ # the request. If unspecified or no matching version can be found, the latest
+ # one will be used.
+ "reconciliationOperation": { # Represents information regarding a quota operation. # Operation that describes the quota reconciliation.
+ "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
+ # corresponds to a metric defined in the service configuration.
+ # The data type used in the MetricValueSet must agree with
+ # the data type specified in the metric definition.
+ #
+ # Within a single operation, it is not allowed to have more than one
+ # MetricValue instances that have the same metric names and identical
+ # label value combinations. If a request has such duplicated MetricValue
+ # instances, the entire request is rejected with
+ # an invalid argument error.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+ # requested. This name is used for matching quota rules or metric rules and
+ # billing status rules defined in service configuration. This field is not
+ # required if the quota operation is performed on non-API resources.
+ #
+ # Example of an RPC method name:
+ # google.example.library.v1.LibraryService.CreateShelf
+ "labels": { # Labels describing the operation.
+ "a_key": "A String",
+ },
+ "quotaMode": "A String", # Quota mode for this operation.
+ "consumerId": "A String", # Identity of the consumer for whom this quota operation is being performed.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
+ "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
+ # service that generated the operation. If the service calls AllocateQuota
+ # and ReleaseQuota on the same operation, the two calls should carry the
+ # same ID.
+ #
+ # UUID version 4 is recommended, though not required. In scenarios where an
+ # operation is computed from existing information and an idempotent id is
+ # desirable for deduplication purpose, UUID version 5 is recommended. See
+ # RFC 4122 for details.
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ {
+ "serviceConfigId": "A String", # ID of the actual config used to process the request.
+ "quotaMetrics": [ # Metric values as tracked by One Platform before the adjustment was made.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "reconciliationErrors": [ # Indicates the decision of the reconciliation end.
+ {
+ "code": "A String", # Error code.
+ "description": "A String", # Free-form text that provides details on the cause of the error.
+ "subject": "A String", # Subject to whom this error applies. See the specific enum for more details
+ # on this field. For example, "clientip:<ip address of client>" or
+ # "project:<Google developer project id>".
+ },
+ ],
+ "operationId": "A String", # The same operation_id value used in the EndReconciliationRequest. Used for
+ # logging and diagnostics purposes.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="releaseQuota">releaseQuota(serviceName=None, body, x__xgafv=None)</code>
+ <pre>Releases previously allocated quota done through AllocateQuota method.
+
+This method requires the `servicemanagement.services.quota`
+permission on the specified service. For more information, see
+[Google Cloud IAM](https://cloud.google.com/iam).
+
+Args:
+ serviceName: string, Name of the service as specified in the service configuration. For example,
+`"pubsub.googleapis.com"`.
+
+See google.api.Service for the definition of a service name. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{ # Request message for the ReleaseQuota method.
+ "releaseOperation": { # Represents information regarding a quota operation. # Operation that describes the quota release.
+ "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
+ # corresponds to a metric defined in the service configuration.
+ # The data type used in the MetricValueSet must agree with
+ # the data type specified in the metric definition.
+ #
+ # Within a single operation, it is not allowed to have more than one
+ # MetricValue instances that have the same metric names and identical
+ # label value combinations. If a request has such duplicated MetricValue
+ # instances, the entire request is rejected with
+ # an invalid argument error.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+ # requested. This name is used for matching quota rules or metric rules and
+ # billing status rules defined in service configuration. This field is not
+ # required if the quota operation is performed on non-API resources.
+ #
+ # Example of an RPC method name:
+ # google.example.library.v1.LibraryService.CreateShelf
+ "labels": { # Labels describing the operation.
+ "a_key": "A String",
+ },
+ "quotaMode": "A String", # Quota mode for this operation.
+ "consumerId": "A String", # Identity of the consumer for whom this quota operation is being performed.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
+ "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
+ # service that generated the operation. If the service calls AllocateQuota
+ # and ReleaseQuota on the same operation, the two calls should carry the
+ # same ID.
+ #
+ # UUID version 4 is recommended, though not required. In scenarios where an
+ # operation is computed from existing information and an idempotent id is
+ # desirable for deduplication purpose, UUID version 5 is recommended. See
+ # RFC 4122 for details.
+ },
+ "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+ # the request. If unspecified or no matching version can be found, the latest
+ # one will be used.
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response message for the ReleaseQuota method.
+ "serviceConfigId": "A String", # ID of the actual config used to process the request.
+ "quotaMetrics": [ # Quota metrics to indicate the result of release. Depending on the
+ # request, one or more of the following metrics will be included:
+ #
+ # 1. For rate quota, per quota group or per quota metric released amount
+ # will be specified using the following delta metric:
+ # "serviceruntime.googleapis.com/api/consumer/quota_refund_count"
+ #
+ # 2. For allocation quota, per quota metric total usage will be specified
+ # using the following gauge metric:
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "releaseErrors": [ # Indicates the decision of the release.
+ {
+ "code": "A String", # Error code.
+ "description": "A String", # Free-form text that provides details on the cause of the error.
+ "subject": "A String", # Subject to whom this error applies. See the specific enum for more details
+ # on this field. For example, "clientip:<ip address of client>" or
+ # "project:<Google developer project id>".
+ },
+ ],
+ "operationId": "A String", # The same operation_id value used in the ReleaseQuotaRequest. Used for
+ # logging and diagnostics purposes.
+ }</pre>
+</div>
+
+<div class="method">
<code class="details" id="report">report(serviceName=None, body, x__xgafv=None)</code>
<pre>Reports operation results to Google Service Control, such as logs and
metrics. It should be called after an operation is completed.
@@ -371,6 +1524,17 @@
# end time, and label values.
"metricValues": [ # The values in this metric.
{ # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
"labels": { # The labels describing the metric value.
# See comments on google.api.servicecontrol.v1.Operation.labels for
# the overriding relationship.
@@ -391,6 +1555,10 @@
# - the sum-squared-deviation of the samples, used to compute variance
# - a histogram of the values of the sample points
"count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
# optional. If present, they must sum to the `count` value.
#
@@ -417,12 +1585,8 @@
# the total number of buckets is `num_finite_buckets` + 2.
# See comments on `bucket_options` for details.
},
- "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
"maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
- "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
- # Sum[i=1..count]((x_i - mean)^2)
- # where each x_i is a sample values. If `count` is zero then this field
- # must be zero, otherwise validation of the request fails.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
"linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
"width": 3.14, # The i'th linear bucket covers the interval
# [offset + (i-1) * width, offset + i * width)
@@ -484,19 +1648,46 @@
# where the API is served (e.g. GAE, GCE, GKE).
"a_key": "A String",
},
- "consumerId": "A String", # Identity of the consumer who is using the service.
- # This field should be filled in for the operations initiated by a
- # consumer, but not for service-initiated operations that are
- # not related to a specific consumer.
+ "quotaProperties": { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
+ # operation is for a quota check request.
+ #
+ # Use the metric_value_sets field in Operation message to provide cost
+ # override with metric_name in <service_name>/quota/<quota_group_name>/cost
+ # format. Overrides for unmatched quota groups will be ignored.
+ # Costs are expected to be >= 0. Cost 0 will cause no quota check,
+ # but still traffic restrictions will be enforced.
+ "quotaMode": "A String", # Quota mode for this operation.
+ "limitByIds": { # LimitType IDs that should be used for checking quota. Key in this map
+ # should be a valid LimitType string, and the value is the ID to be used. For
+ # example, an entry <USER, 123> will cause all user quota limits to use 123
+ # as the user ID. See google/api/quota.proto for the definition of LimitType.
+ # CLIENT_PROJECT: Not supported.
+ # USER: Value of this entry will be used for enforcing user-level quota
+ # limits. If none specified, caller IP passed in the
+ # servicecontrol.googleapis.com/caller_ip label will be used instead.
+ # If the server cannot resolve a value for this LimitType, an error
+ # will be thrown. No validation will be performed on this ID.
+ # Deprecated: use servicecontrol.googleapis.com/user label to send user ID.
+ "a_key": "A String",
+ },
+ },
+ "resourceContainer": "A String", # The resource name of the parent of a resource in the resource hierarchy.
#
# This can be in one of the following formats:
- # project:<project_id>,
- # project_number:<project_number>,
- # api_key:<api_key>.
+ # - “projects/<project-id or project-number>”
+ # - “folders/<folder-id>”
+ # - “organizations/<organization-id>”
+ "userLabels": { # User defined labels for the resource that this operation is associated
+ # with.
+ "a_key": "A String",
+ },
+ "endTime": "A String", # End time of the operation.
+ # Required when the operation is used in ServiceController.Report,
+ # but optional when the operation is used in ServiceController.Check.
"logEntries": [ # Represents information to be logged.
{ # An individual log entry.
- "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
- # `"book_log"`.
+ "severity": "A String", # The severity of the log entry. The default value is
+ # `LogSeverity.DEFAULT`.
"textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
"timestamp": "A String", # The time the event described by the log entry occurred. If
# omitted, defaults to operation start time.
@@ -508,21 +1699,27 @@
# is expressed as a JSON object.
"a_key": "", # Properties of the object.
},
- "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
- # the implementation will generate one based on operation_id.
"protoPayload": { # The log entry payload, represented as a protocol buffer that is
# expressed as a JSON object. You can only pass `protoPayload`
# values that belong to a set of approved types.
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
- "severity": "A String", # The severity of the log entry. The default value is
- # `LogSeverity.DEFAULT`.
+ "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
+ # the implementation will generate one based on operation_id.
+ "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
+ # `"book_log"`.
},
],
"startTime": "A String", # Required. Start time of the operation.
- "endTime": "A String", # End time of the operation.
- # Required when the operation is used in ServiceController.Report,
- # but optional when the operation is used in ServiceController.Check.
+ "consumerId": "A String", # Identity of the consumer who is using the service.
+ # This field should be filled in for the operations initiated by a
+ # consumer, but not for service-initiated operations that are
+ # not related to a specific consumer.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
"operationId": "A String", # Identity of the operation. This must be unique within the scope of the
# service that generated the operation. If the service calls
# Check() and Report() on the same operation, the two calls should carry
@@ -551,6 +1748,158 @@
{ # Response message for the Report method.
"serviceConfigId": "A String", # The actual config id used to process the request.
+ "reportInfos": [ # Quota usage for each quota release `Operation` request.
+ #
+ # Fully or partially failed quota release request may or may not be present
+ # in `report_quota_info`. For example, a failed quota release request will
+ # have the current quota usage info when precise quota library returns the
+ # info. A deadline exceeded quota request will not have quota usage info.
+ #
+ # If there is no quota release request, report_quota_info will be empty.
+ {
+ "quotaInfo": { # Contains the quota information for a quota check response. # Quota usage info when processing the `Operation`.
+ "quotaMetrics": [ # Quota metrics to indicate the usage. Depending on the check request, one or
+ # more of the following metrics will be included:
+ #
+ # 1. For rate quota, per quota group or per quota metric incremental usage
+ # will be specified using the following delta metric:
+ # "serviceruntime.googleapis.com/api/consumer/quota_used_count"
+ #
+ # 2. For allocation quota, per quota metric total usage will be specified
+ # using the following gauge metric:
+ # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
+ #
+ # 3. For both rate quota and allocation quota, the quota limit reached
+ # condition will be specified using the following boolean metric:
+ # "serviceruntime.googleapis.com/quota/exceeded"
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "limitExceeded": [ # Quota Metrics that have exceeded quota limits.
+ # For QuotaGroup-based quota, this is QuotaGroup.name
+ # For QuotaLimit-based quota, this is QuotaLimit.name
+ # See: google.api.Quota
+ # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
+ "A String",
+ ],
+ "quotaConsumed": { # Map of quota group name to the actual number of tokens consumed. If the
+ # quota check was not successful, then this will not be populated due to no
+ # quota consumption.
+ # Deprecated: Use quota_metrics to get per quota group usage.
+ "a_key": 42,
+ },
+ },
+ "operationId": "A String", # The Operation.operation_id value from the request.
+ },
+ ],
"reportErrors": [ # Partial failures, one for each `Operation` in the request that failed
# processing. There are three possible combinations of the RPC status:
#
@@ -635,4 +1984,332 @@
}</pre>
</div>
+<div class="method">
+ <code class="details" id="startReconciliation">startReconciliation(serviceName=None, body, x__xgafv=None)</code>
+ <pre>Unlike rate quota, allocation quota does not get refilled periodically.
+So, it is possible that the quota usage as seen by the service differs from
+what the One Platform considers the usage is. This is expected to happen
+only rarely, but over time this can accumulate. Services can invoke
+StartReconciliation and EndReconciliation to correct this usage drift, as
+described below:
+1. Service sends StartReconciliation with a timestamp in future for each
+ metric that needs to be reconciled. The timestamp being in future allows
+ to account for in-flight AllocateQuota and ReleaseQuota requests for the
+ same metric.
+2. One Platform records this timestamp and starts tracking subsequent
+ AllocateQuota and ReleaseQuota requests until EndReconciliation is
+ called.
+3. At or after the time specified in the StartReconciliation, service
+ sends EndReconciliation with the usage that needs to be reconciled to.
+4. One Platform adjusts its own record of usage for that metric to the
+ value specified in EndReconciliation by taking in to account any
+ allocation or release between StartReconciliation and EndReconciliation.
+
+Signals the quota controller that the service wants to perform a usage
+reconciliation as specified in the request.
+
+This method requires the `servicemanagement.services.quota`
+permission on the specified service. For more information, see
+[Google Cloud IAM](https://cloud.google.com/iam).
+
+Args:
+ serviceName: string, Name of the service as specified in the service configuration. For example,
+`"pubsub.googleapis.com"`.
+
+See google.api.Service for the definition of a service name. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{
+ "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+ # the request. If unspecified or no matching version can be found, the latest
+ # one will be used.
+ "reconciliationOperation": { # Represents information regarding a quota operation. # Operation that describes the quota reconciliation.
+ "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
+ # corresponds to a metric defined in the service configuration.
+ # The data type used in the MetricValueSet must agree with
+ # the data type specified in the metric definition.
+ #
+ # Within a single operation, it is not allowed to have more than one
+ # MetricValue instances that have the same metric names and identical
+ # label value combinations. If a request has such duplicated MetricValue
+ # instances, the entire request is rejected with
+ # an invalid argument error.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+ # requested. This name is used for matching quota rules or metric rules and
+ # billing status rules defined in service configuration. This field is not
+ # required if the quota operation is performed on non-API resources.
+ #
+ # Example of an RPC method name:
+ # google.example.library.v1.LibraryService.CreateShelf
+ "labels": { # Labels describing the operation.
+ "a_key": "A String",
+ },
+ "quotaMode": "A String", # Quota mode for this operation.
+ "consumerId": "A String", # Identity of the consumer for whom this quota operation is being performed.
+ #
+ # This can be in one of the following formats:
+ # project:<project_id>,
+ # project_number:<project_number>,
+ # api_key:<api_key>.
+ "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
+ # service that generated the operation. If the service calls AllocateQuota
+ # and ReleaseQuota on the same operation, the two calls should carry the
+ # same ID.
+ #
+ # UUID version 4 is recommended, though not required. In scenarios where an
+ # operation is computed from existing information and an idempotent id is
+ # desirable for deduplication purpose, UUID version 5 is recommended. See
+ # RFC 4122 for details.
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ {
+ "serviceConfigId": "A String", # ID of the actual config used to process the request.
+ "quotaMetrics": [ # Metric values as tracked by One Platform before the start of
+ # reconciliation.
+ { # Represents a set of metric values in the same metric.
+ # Each metric value in the set should have a unique combination of start time,
+ # end time, and label values.
+ "metricValues": [ # The values in this metric.
+ { # Represents a single metric value.
+ "moneyValue": { # Represents an amount of money with its currency type. # A money value.
+ "units": "A String", # The whole units of the amount.
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+ "nanos": 42, # Number of nano (10^-9) units of the amount.
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
+ # If `units` is positive, `nanos` must be positive or zero.
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
+ # If `units` is negative, `nanos` must be negative or zero.
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+ "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+ },
+ "labels": { # The labels describing the metric value.
+ # See comments on google.api.servicecontrol.v1.Operation.labels for
+ # the overriding relationship.
+ "a_key": "A String",
+ },
+ "doubleValue": 3.14, # A double precision floating point value.
+ "boolValue": True or False, # A boolean value.
+ "startTime": "A String", # The start of the time period over which this metric value's measurement
+ # applies. The time period has different semantics for different metric
+ # types (cumulative, delta, and gauge). See the metric definition
+ # documentation in the service configuration for details.
+ "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
+ # points. It contains the size of the population of sample points plus
+ # additional optional information:
+ #
+ # - the arithmetic mean of the samples
+ # - the minimum and maximum of the samples
+ # - the sum-squared-deviation of the samples, used to compute variance
+ # - a histogram of the values of the sample points
+ "count": "A String", # The total number of samples in the distribution. Must be >= 0.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
+ "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
+ # optional. If present, they must sum to the `count` value.
+ #
+ # The buckets are defined below in `bucket_option`. There are N buckets.
+ # `bucket_counts[0]` is the number of samples in the underflow bucket.
+ # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+ # in each of the finite buckets. And `bucket_counts[N] is the number
+ # of samples in the overflow bucket. See the comments of `bucket_option`
+ # below for more details.
+ #
+ # Any suffix of trailing zeros may be omitted.
+ "A String",
+ ],
+ "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+ "scale": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be > 0.
+ "growthFactor": 3.14, # The i'th exponential bucket covers the interval
+ # [scale * growth_factor^(i-1), scale * growth_factor^i)
+ # where i ranges from 1 to num_finite_buckets inclusive.
+ # Must be larger than 1.0.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ },
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+ "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+ "width": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ # Must be strictly positive.
+ "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
+ # the total number of buckets is `num_finite_buckets` + 2.
+ # See comments on `bucket_options` for details.
+ "offset": 3.14, # The i'th linear bucket covers the interval
+ # [offset + (i-1) * width, offset + i * width)
+ # where i ranges from 1 to num_finite_buckets, inclusive.
+ },
+ "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+ "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+ # buckets. Note that a list of length N-1 defines N buckets because
+ # of fenceposting. See comments on `bucket_options` for details.
+ #
+ # The i'th finite bucket covers the interval
+ # [bound[i-1], bound[i])
+ # where i ranges from 1 to bound_size() - 1. Note that there are no
+ # finite buckets at all if 'bound' only contains a single element; in
+ # that special case the single bound defines the boundary between the
+ # underflow and overflow buckets.
+ #
+ # bucket number lower bound upper bound
+ # i == 0 (underflow) -inf bound[i]
+ # 0 < i < bound_size() bound[i-1] bound[i]
+ # i == bound_size() (overflow) bound[i-1] +inf
+ 3.14,
+ ],
+ },
+ "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+ # zero then this field must be zero.
+ },
+ "stringValue": "A String", # A text string value.
+ "int64Value": "A String", # A signed 64-bit integer value.
+ "endTime": "A String", # The end of the time period over which this metric value's measurement
+ # applies.
+ },
+ ],
+ "metricName": "A String", # The metric name defined in the service configuration.
+ },
+ ],
+ "reconciliationErrors": [ # Indicates the decision of the reconciliation start.
+ {
+ "code": "A String", # Error code.
+ "description": "A String", # Free-form text that provides details on the cause of the error.
+ "subject": "A String", # Subject to whom this error applies. See the specific enum for more details
+ # on this field. For example, "clientip:<ip address of client>" or
+ # "project:<Google developer project id>".
+ },
+ ],
+ "operationId": "A String", # The same operation_id value used in the StartReconciliationRequest. Used
+ # for logging and diagnostics purposes.
+ }</pre>
+</div>
+
</body></html>
\ No newline at end of file