| <html><body> | |
| <style> | |
| body, h1, h2, h3, div, span, p, pre, a { | |
| margin: 0; | |
| padding: 0; | |
| border: 0; | |
| font-weight: inherit; | |
| font-style: inherit; | |
| font-size: 100%; | |
| font-family: inherit; | |
| vertical-align: baseline; | |
| } | |
| body { | |
| font-size: 13px; | |
| padding: 1em; | |
| } | |
| h1 { | |
| font-size: 26px; | |
| margin-bottom: 1em; | |
| } | |
| h2 { | |
| font-size: 24px; | |
| margin-bottom: 1em; | |
| } | |
| h3 { | |
| font-size: 20px; | |
| margin-bottom: 1em; | |
| margin-top: 1em; | |
| } | |
| pre, code { | |
| line-height: 1.5; | |
| font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; | |
| } | |
| pre { | |
| margin-top: 0.5em; | |
| } | |
| h1, h2, h3, p { | |
| font-family: Arial, sans serif; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: solid #CCC 1px; | |
| } | |
| .toc_element { | |
| margin-top: 0.5em; | |
| } | |
| .firstline { | |
| margin-left: 2 em; | |
| } | |
| .method { | |
| margin-top: 1em; | |
| border: solid 1px #CCC; | |
| padding: 1em; | |
| background: #EEE; | |
| } | |
| .details { | |
| font-weight: bold; | |
| font-size: 14px; | |
| } | |
| </style> | |
| <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, 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, 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, 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, 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, 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, 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="allocateQuota">allocateQuota(serviceName, body, x__xgafv=None)</code> | |
| <pre>Attempts to allocate quota for the specified consumer. It should be called | |
| before the operation is executed. | |
| This method requires the `servicemanagement.services.quota` | |
| permission on the specified service. For more information, see | |
| [Google Cloud IAM](https://cloud.google.com/iam). | |
| **NOTE:** the client code **must** fail-open if the server returns one | |
| of the following quota errors: | |
| - `PROJECT_STATUS_UNAVAILABLE` | |
| - `SERVICE_STATUS_UNAVAILABLE` | |
| - `BILLING_STATUS_UNAVAILABLE` | |
| - `QUOTA_SYSTEM_UNAVAILABLE` | |
| The server may inject above errors to prohibit any hard dependency | |
| on the quota system. | |
| 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 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. | |
| # | |
| # 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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: | |
| { # Response message for the AllocateQuota method. | |
| "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" | |
| # | |
| # 4. For allocation quota, value for each quota limit associated with | |
| # the metrics will be specified using the following gauge metric: | |
| # "serviceruntime.googleapis.com/quota/limit" | |
| { # 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| }, | |
| ], | |
| "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>". | |
| }, | |
| ], | |
| "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, 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. | |
| "labels": { # Labels describing the operation. Only the following labels are allowed: | |
| # | |
| # - Labels describing monitored resources as defined in | |
| # the service configuration. | |
| # - Default labels of metric values. When specified, labels defined in the | |
| # metric value override these default. | |
| # - The following labels defined by Google Cloud Platform: | |
| # - `cloud.googleapis.com/location` describing the location where the | |
| # operation happened, | |
| # - `servicecontrol.googleapis.com/user_agent` describing the user agent | |
| # of the API request, | |
| # - `servicecontrol.googleapis.com/service_agent` describing the service | |
| # used to handle the API request (e.g. ESP), | |
| # - `servicecontrol.googleapis.com/platform` describing the platform | |
| # where the API is served (e.g. GAE, GCE, GKE). | |
| "a_key": "A String", | |
| }, | |
| "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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| }, | |
| ], | |
| "importance": "A String", # DO NOT USE. This is an experimental field. | |
| "operationName": "A String", # Fully qualified name of the operation. Reserved for future use. | |
| "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: | |
| # - “projects/<project-id or project-number>” | |
| # - “folders/<folder-id>” | |
| # - “organizations/<organization-id>” | |
| "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. | |
| "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", | |
| }, | |
| }, | |
| "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>. | |
| "userLabels": { # User defined labels for the resource that this operation is associated | |
| # with. | |
| "a_key": "A String", | |
| }, | |
| "logEntries": [ # Represents information to be logged. | |
| { # An individual log entry. | |
| "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. | |
| "labels": { # A set of user-defined (key, value) data that provides additional | |
| # information about the log entry. | |
| "a_key": "A String", | |
| }, | |
| "structPayload": { # The log entry payload, represented as a structure that | |
| # 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. | |
| }, | |
| "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. | |
| "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 | |
| # 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. | |
| }, | |
| "requestProjectSettings": True or False, # Requests the project settings to be returned as part of the check response. | |
| } | |
| 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 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| # Otherwise the service should use the list of errors to determine the | |
| # appropriate action. | |
| { # Defines the errors to be returned in | |
| # google.api.servicecontrol.v1.CheckResponse.check_errors. | |
| "code": "A String", # The error code. | |
| "detail": "A String", # Free-form text providing details on the error cause of the error. | |
| }, | |
| ], | |
| "operationId": "A String", # The same operation_id value used in the CheckRequest. | |
| # Used for logging and diagnostics purposes. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="endReconciliation">endReconciliation(serviceName, 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| # The following metrics will be included: | |
| # | |
| # 1. Per quota metric total usage will be specified using the following gauge | |
| # metric: | |
| # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" | |
| # | |
| # 2. Value for each quota limit associated with the metrics will be specified | |
| # using the following gauge metric: | |
| # "serviceruntime.googleapis.com/quota/limit" | |
| # | |
| # 3. Delta value of the usage after the reconciliation for limits associated | |
| # with the metrics will be specified using the following metric: | |
| # "serviceruntime.googleapis.com/allocation/reconciliation_delta" | |
| # The delta value is defined as: | |
| # new_usage_from_client - existing_value_in_spanner. | |
| # This metric is not defined in serviceruntime.yaml or in Cloud Monarch. | |
| # This metric is meant for callers' use only. Since this metric is not | |
| # defined in the monitoring backend, reporting on this metric will result in | |
| # an 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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, 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). | |
| **NOTE:** the client code **must** fail-open if the server returns one | |
| of the following quota errors: | |
| - `PROJECT_STATUS_UNAVAILABLE` | |
| - `SERVICE_STATUS_UNAVAILABLE` | |
| - `BILLING_STATUS_UNAVAILABLE` | |
| - `QUOTA_SYSTEM_UNAVAILABLE` | |
| The server may inject above errors to prohibit any hard dependency | |
| on the quota system. | |
| 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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" | |
| # | |
| # 3. For allocation quota, value for each quota limit associated with | |
| # the metrics will be specified using the following gauge metric: | |
| # "serviceruntime.googleapis.com/quota/limit" | |
| { # 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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, 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. | |
| If feasible, the client should aggregate reporting data for up to 5 | |
| seconds to reduce API traffic. Limiting aggregation to 5 seconds is to | |
| reduce data loss during client crashes. Clients should carefully choose | |
| the aggregation time window to avoid data loss risk more than 0.01% | |
| for business and compliance reasons. | |
| NOTE: the `ReportRequest` has the size limit of 1MB. | |
| This method requires the `servicemanagement.services.report` 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 Report method. | |
| "operations": [ # Operations to be reported. | |
| # | |
| # Typically the service should report one operation per request. | |
| # Putting multiple operations into a single request is allowed, but should | |
| # be used only when multiple operations are natually available at the time | |
| # of the report. | |
| # | |
| # If multiple operations are in a single request, the total request size | |
| # should be no larger than 1MB. See ReportResponse.report_errors for | |
| # partial failure behavior. | |
| { # Represents information regarding an operation. | |
| "labels": { # Labels describing the operation. Only the following labels are allowed: | |
| # | |
| # - Labels describing monitored resources as defined in | |
| # the service configuration. | |
| # - Default labels of metric values. When specified, labels defined in the | |
| # metric value override these default. | |
| # - The following labels defined by Google Cloud Platform: | |
| # - `cloud.googleapis.com/location` describing the location where the | |
| # operation happened, | |
| # - `servicecontrol.googleapis.com/user_agent` describing the user agent | |
| # of the API request, | |
| # - `servicecontrol.googleapis.com/service_agent` describing the service | |
| # used to handle the API request (e.g. ESP), | |
| # - `servicecontrol.googleapis.com/platform` describing the platform | |
| # where the API is served (e.g. GAE, GCE, GKE). | |
| "a_key": "A String", | |
| }, | |
| "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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| }, | |
| ], | |
| "importance": "A String", # DO NOT USE. This is an experimental field. | |
| "operationName": "A String", # Fully qualified name of the operation. Reserved for future use. | |
| "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: | |
| # - “projects/<project-id or project-number>” | |
| # - “folders/<folder-id>” | |
| # - “organizations/<organization-id>” | |
| "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. | |
| "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", | |
| }, | |
| }, | |
| "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>. | |
| "userLabels": { # User defined labels for the resource that this operation is associated | |
| # with. | |
| "a_key": "A String", | |
| }, | |
| "logEntries": [ # Represents information to be logged. | |
| { # An individual log entry. | |
| "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. | |
| "labels": { # A set of user-defined (key, value) data that provides additional | |
| # information about the log entry. | |
| "a_key": "A String", | |
| }, | |
| "structPayload": { # The log entry payload, represented as a structure that | |
| # 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. | |
| }, | |
| "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. | |
| "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 | |
| # 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 config 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 Report method. | |
| "reportErrors": [ # Partial failures, one for each `Operation` in the request that failed | |
| # processing. There are three possible combinations of the RPC status: | |
| # | |
| # 1. The combination of a successful RPC status and an empty `report_errors` | |
| # list indicates a complete success where all `Operations` in the | |
| # request are processed successfully. | |
| # 2. The combination of a successful RPC status and a non-empty | |
| # `report_errors` list indicates a partial success where some | |
| # `Operations` in the request succeeded. Each | |
| # `Operation` that failed processing has a corresponding item | |
| # in this list. | |
| # 3. A failed RPC status indicates a general non-deterministic failure. | |
| # When this happens, it's impossible to know which of the | |
| # 'Operations' in the request succeeded or failed. | |
| { # Represents the processing error of one `Operation` in the request. | |
| "status": { # The `Status` type defines a logical error model that is suitable for different # Details of the error when processing the `Operation`. | |
| # programming environments, including REST APIs and RPC APIs. It is used by | |
| # [gRPC](https://github.com/grpc). The error model is designed to be: | |
| # | |
| # - Simple to use and understand for most users | |
| # - Flexible enough to meet unexpected needs | |
| # | |
| # # Overview | |
| # | |
| # The `Status` message contains three pieces of data: error code, error message, | |
| # and error details. The error code should be an enum value of | |
| # google.rpc.Code, but it may accept additional error codes if needed. The | |
| # error message should be a developer-facing English message that helps | |
| # developers *understand* and *resolve* the error. If a localized user-facing | |
| # error message is needed, put the localized message in the error details or | |
| # localize it in the client. The optional error details may contain arbitrary | |
| # information about the error. There is a predefined set of error detail types | |
| # in the package `google.rpc` that can be used for common error conditions. | |
| # | |
| # # Language mapping | |
| # | |
| # The `Status` message is the logical representation of the error model, but it | |
| # is not necessarily the actual wire format. When the `Status` message is | |
| # exposed in different client libraries and different wire protocols, it can be | |
| # mapped differently. For example, it will likely be mapped to some exceptions | |
| # in Java, but more likely mapped to some error codes in C. | |
| # | |
| # # Other uses | |
| # | |
| # The error model and the `Status` message can be used in a variety of | |
| # environments, either with or without APIs, to provide a | |
| # consistent developer experience across different environments. | |
| # | |
| # Example uses of this error model include: | |
| # | |
| # - Partial errors. If a service needs to return partial errors to the client, | |
| # it may embed the `Status` in the normal response to indicate the partial | |
| # errors. | |
| # | |
| # - Workflow errors. A typical workflow has multiple steps. Each step may | |
| # have a `Status` message for error reporting. | |
| # | |
| # - Batch operations. If a client uses batch request and batch response, the | |
| # `Status` message should be used directly inside batch response, one for | |
| # each error sub-response. | |
| # | |
| # - Asynchronous operations. If an API call embeds asynchronous operation | |
| # results in its response, the status of those operations should be | |
| # represented directly using the `Status` message. | |
| # | |
| # - Logging. If some API errors are stored in logs, the message `Status` could | |
| # be used directly after any stripping needed for security/privacy reasons. | |
| "message": "A String", # A developer-facing error message, which should be in English. Any | |
| # user-facing error message should be localized and sent in the | |
| # google.rpc.Status.details field, or localized by the client. | |
| "code": 42, # The status code, which should be an enum value of google.rpc.Code. | |
| "details": [ # A list of messages that carry the error details. There will be a | |
| # common set of message types for APIs to use. | |
| { | |
| "a_key": "", # Properties of the object. Contains field @type with type URL. | |
| }, | |
| ], | |
| }, | |
| "operationId": "A String", # The Operation.operation_id value from 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. | |
| }, | |
| ], | |
| "serviceConfigId": "A String", # The actual config id used to process the request. | |
| }</pre> | |
| </div> | |
| <div class="method"> | |
| <code class="details" id="startReconciliation">startReconciliation(serviceName, 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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. The following metrics will be included: | |
| # | |
| # 1. Per quota metric total usage will be specified using the following gauge | |
| # metric: | |
| # "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" | |
| # | |
| # 2. Value for each quota limit associated with the metrics will be specified | |
| # using the following gauge metric: | |
| # "serviceruntime.googleapis.com/quota/limit" | |
| { # 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. | |
| "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. | |
| "units": "A String", # The whole units of the amount. | |
| # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. | |
| "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> |