Regen all docs. (#700)
* Stop recursing if discovery == {}
* Generate docs with 'make docs'.
diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index 9644f2b..ac91f67 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -72,26 +72,17 @@
</style>
-<h1><a href="servicecontrol_v1.html">Google Service Control API</a> . <a href="servicecontrol_v1.services.html">services</a></h1>
+<h1><a href="servicecontrol_v1.html">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="firstline">Checks whether an operation on a service should be allowed to proceed</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>
@@ -100,17 +91,12 @@
This method requires the `servicemanagement.services.quota`
permission on the specified service. For more information, see
-[Google Cloud IAM](https://cloud.google.com/iam).
+[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.
+**NOTE:** The client **must** fail-open on server errors `INTERNAL`,
+`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system
+reliability, the server may inject these errors to prohibit any hard
+dependency on the quota functionality.
Args:
serviceName: string, Name of the service as specified in the service configuration. For example,
@@ -121,8 +107,6 @@
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.
@@ -137,6 +121,8 @@
# label value combinations. If a request has such duplicated MetricValue
# instances, the entire request is rejected with
# an invalid argument error.
+ #
+ # This field is mutually exclusive with method_name.
{ # 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.
@@ -173,10 +159,6 @@
# - 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.
#
@@ -203,8 +185,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -250,8 +236,11 @@
],
"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.
+ # billing status rules defined in service configuration.
+ #
+ # This field should not be set if any of the following is true:
+ # (1) the quota operation is performed on non-API resources.
+ # (2) quota_metrics is set because the caller is doing quota override.
#
# Example of an RPC method name:
# google.example.library.v1.LibraryService.CreateShelf
@@ -265,10 +254,9 @@
# 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.
+ "operationId": "A String", # Identity of the operation. This is expected to be unique within the scope
+ # of the service that generated the operation, and guarantees idempotency in
+ # case of retries.
#
# UUID version 4 is recommended, though not required. In scenarios where an
# operation is computed from existing information and an idempotent id is
@@ -287,24 +275,25 @@
{ # Response message for the AllocateQuota method.
"serviceConfigId": "A String", # ID of the actual config used to process the request.
+ "allocateErrors": [ # Indicates the decision of the allocate.
+ { # Represents error information for QuotaOperation.
+ "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>".
+ },
+ ],
"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:
+ # 1. 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:
+ # 2. 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.
@@ -341,10 +330,6 @@
# - 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.
#
@@ -371,8 +356,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -416,15 +405,14 @@
"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>".
- },
- ],
+ "allocateInfo": { # WARNING: DO NOT use this field until this warning message is removed.
+ "unusedArguments": [ # A list of label keys that were unused by the server in processing the
+ # request. Thus, for similar requests repeated in a certain future time
+ # window, the caller can choose to ignore these labels in the requests
+ # to achieve better client-side cache hits and quota aggregation.
+ "A String",
+ ],
+ },
"operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
# logging and diagnostics purposes.
}</pre>
@@ -432,54 +420,44 @@
<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.
+ <pre>Checks whether an operation on a service should be allowed to proceed
+based on the configuration of the service and related policies. It must 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.
+60 seconds. In case of any server errors, the client should rely on the
+cached results for much longer time to avoid outage.
+WARNING: There is general 60s delay for the configuration and policy
+propagation, therefore callers MUST NOT depend on the `Check` method having
+the latest policy information.
-NOTE: the `CheckRequest` has the size limit of 64KB.
+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).
+[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)
+See
+[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#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.
+ # WARNING: Setting this flag to "true" will disable quota enforcement.
"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",
- },
+ "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
"metricValueSets": [ # Represents information about this operation. Each MetricValueSet
# corresponds to a metric defined in the service configuration.
# The data type used in the MetricValueSet must agree with
@@ -526,10 +504,6 @@
# - 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.
#
@@ -556,8 +530,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -602,47 +580,85 @@
},
],
"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.
+ "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, such as App Engine, Compute Engine, or
+ # Kubernetes Engine.
+ "a_key": "A String",
+ },
+ "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. If this is not specified, no quota
+ # check will be performed.
+ "quotaMode": "A String", # Quota mode for this operation.
+ },
+ "resourceContainer": "A String", # DO NOT USE. This field is deprecated, use "resources" field instead.
+ # 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.
+ # with. Only a combination of 1000 user labels per consumer project are
+ # allowed.
"a_key": "A String",
},
"logEntries": [ # Represents information to be logged.
{ # An individual log entry.
+ "httpRequest": { # A common proto for logging HTTP requests. Only contains semantics # Optional. Information about the HTTP request associated with this
+ # log entry, if applicable.
+ # defined by the HTTP specification. Product-specific logging
+ # information MUST be defined in a separate message.
+ "status": 42, # The response code indicating the status of the response.
+ # Examples: 200, 404.
+ "cacheValidatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before
+ # being served from cache. This field is only meaningful if `cache_hit` is
+ # True.
+ "protocol": "A String", # Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
+ "cacheHit": True or False, # Whether or not an entity was served from cache
+ # (with or without validation).
+ "cacheFillBytes": "A String", # The number of HTTP response bytes inserted into cache. Set only when a
+ # cache fill was attempted.
+ "requestUrl": "A String", # The scheme (http, https), the host name, the path, and the query
+ # portion of the URL that was requested.
+ # Example: `"http://example.com/some/info?color=red"`.
+ "serverIp": "A String", # The IP address (IPv4 or IPv6) of the origin server that the request was
+ # sent to.
+ "cacheLookup": True or False, # Whether or not a cache lookup was attempted.
+ "latency": "A String", # The request processing latency on the server, from the time the request was
+ # received until the response was sent.
+ "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
+ "referer": "A String", # The referer URL of the request, as defined in
+ # [HTTP/1.1 Header Field
+ # Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
+ "remoteIp": "A String", # The IP address (IPv4 or IPv6) of the client that issued the HTTP
+ # request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
+ "userAgent": "A String", # The user agent sent by the client. Example:
+ # `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+ # CLR 1.0.3705)"`.
+ "requestSize": "A String", # The size of the HTTP request message in bytes, including the request
+ # headers and the request body.
+ "responseSize": "A String", # The size of the HTTP response message sent back to the client, in bytes,
+ # including the response headers and the response body.
+ },
"severity": "A String", # The severity of the log entry. The default value is
# `LogSeverity.DEFAULT`.
+ "trace": "A String", # Optional. Resource name of the trace associated with the log entry, if any.
+ # If this field contains a relative resource name, you can assume the name is
+ # relative to `//tracing.googleapis.com`. Example:
+ # `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
"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.
@@ -654,21 +670,58 @@
# is expressed as a JSON object.
"a_key": "", # Properties of the object.
},
+ "protoPayload": { # The log entry payload, represented as a protocol buffer that is
+ # expressed as a JSON object. The only accepted type currently is
+ # AuditLog.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
"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.
+ "operation": { # Additional information about a potentially long-running operation with which # Optional. Information about an operation associated with the log entry, if
+ # applicable.
+ # a log entry is associated.
+ "last": True or False, # Optional. Set this to True if this is the last log entry in the operation.
+ "id": "A String", # Optional. An arbitrary operation identifier. Log entries with the
+ # same identifier are assumed to be part of the same operation.
+ "producer": "A String", # Optional. An arbitrary producer identifier. The combination of
+ # `id` and `producer` must be globally unique. Examples for `producer`:
+ # `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
+ "first": True or False, # Optional. Set this to True if this is the first log entry in the operation.
},
"name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
# `"book_log"`.
},
],
+ "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,
+ # - projects/PROJECT_ID or PROJECT_NUMBER,
+ # - folders/FOLDER_NUMBER,
+ # - organizations/ORGANIZATION_NUMBER,
+ # - api`_`key:API_KEY.
"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.
+ "resources": [ # The resources that are involved in the operation.
+ # The maximum supported number of entries in this field is 100.
+ { # Describes a resource associated with this operation.
+ "resourceContainer": "A String", # The identifier of the parent of this resource instance.
+ # Must be in one of the following formats:
+ # - “projects/<project-id or project-number>”
+ # - “folders/<folder-id>”
+ # - “organizations/<organization-id>”
+ "resourceName": "A String", # Name of the resource. This is used for auditing purposes.
+ "resourceLocation": "A String", # The location of the resource. If not empty, the resource will be checked
+ # against location policy. The value must be a valid zone, region or
+ # multiregion. For example: "europe-west4" or "northamerica-northeast1-a"
+ },
+ ],
"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
@@ -691,6 +744,62 @@
An object of the form:
{ # Response message for the Check method.
+ "checkInfo": { # Contains additional information about the check operation. # 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",
+ ],
+ "consumerInfo": { # `ConsumerInfo` provides information about the consumer. # Consumer info of this check.
+ "consumerNumber": "A String", # The consumer identity number, can be Google cloud project number, folder
+ # number or organization number e.g. 1234567890. A value of 0 indicates no
+ # consumer number is found.
+ "type": "A String", # The type of the consumer which should have been defined in
+ # [Google Resource Manager](https://cloud.google.com/resource-manager/).
+ "projectNumber": "A String", # The Google cloud project number, e.g. 1234567890. A value of 0 indicates
+ # no project number is found.
+ #
+ # NOTE: This field is deprecated after Chemist support flexible consumer
+ # id. New code should not depend on this field anymore.
+ },
+ },
+ "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.
+ "status": { # The `Status` type defines a logical error model that is suitable for # Contains public information about the check error. If available,
+ # `status.code` will be non zero and client can propagate it out as public
+ # error.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "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 is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ },
+ "code": "A String", # The error code.
+ "detail": "A String", # Free-form text providing details on the error cause of the error.
+ "subject": "A String", # Subject to whom this error applies. See the specific code enum for more
+ # details on this field. For example:
+ # - “project:<project-id or project-number>”
+ # - “folder:<folder-id>”
+ # - “organization:<organization-id>”
+ },
+ ],
+ "serviceRolloutId": "A String", # Unimplemented. The current service rollout id used to process the request.
"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
@@ -743,10 +852,6 @@
# - 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.
#
@@ -773,8 +878,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -828,691 +937,20 @@
"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.
+ #
+ # We are not merging this field with 'quota_metrics' field because of the
+ # complexity of scaling in Chemist client code base. For simplicity, we will
+ # keep this field for Castor (that scales quota usage) and 'quota_metrics'
+ # for SuperQuota (that doesn't scale quota 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.
@@ -1523,7 +961,7 @@
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.
+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
@@ -1533,7 +971,9 @@
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)
+See
+[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
+for the definition of a service name. (required)
body: object, The request body. (required)
The object takes the form of:
@@ -1549,23 +989,7 @@
# 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",
- },
+ "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
"metricValueSets": [ # Represents information about this operation. Each MetricValueSet
# corresponds to a metric defined in the service configuration.
# The data type used in the MetricValueSet must agree with
@@ -1612,10 +1036,6 @@
# - 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.
#
@@ -1642,8 +1062,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -1688,47 +1112,85 @@
},
],
"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.
+ "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, such as App Engine, Compute Engine, or
+ # Kubernetes Engine.
+ "a_key": "A String",
+ },
+ "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. If this is not specified, no quota
+ # check will be performed.
+ "quotaMode": "A String", # Quota mode for this operation.
+ },
+ "resourceContainer": "A String", # DO NOT USE. This field is deprecated, use "resources" field instead.
+ # 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.
+ # with. Only a combination of 1000 user labels per consumer project are
+ # allowed.
"a_key": "A String",
},
"logEntries": [ # Represents information to be logged.
{ # An individual log entry.
+ "httpRequest": { # A common proto for logging HTTP requests. Only contains semantics # Optional. Information about the HTTP request associated with this
+ # log entry, if applicable.
+ # defined by the HTTP specification. Product-specific logging
+ # information MUST be defined in a separate message.
+ "status": 42, # The response code indicating the status of the response.
+ # Examples: 200, 404.
+ "cacheValidatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before
+ # being served from cache. This field is only meaningful if `cache_hit` is
+ # True.
+ "protocol": "A String", # Protocol used for the request. Examples: "HTTP/1.1", "HTTP/2", "websocket"
+ "cacheHit": True or False, # Whether or not an entity was served from cache
+ # (with or without validation).
+ "cacheFillBytes": "A String", # The number of HTTP response bytes inserted into cache. Set only when a
+ # cache fill was attempted.
+ "requestUrl": "A String", # The scheme (http, https), the host name, the path, and the query
+ # portion of the URL that was requested.
+ # Example: `"http://example.com/some/info?color=red"`.
+ "serverIp": "A String", # The IP address (IPv4 or IPv6) of the origin server that the request was
+ # sent to.
+ "cacheLookup": True or False, # Whether or not a cache lookup was attempted.
+ "latency": "A String", # The request processing latency on the server, from the time the request was
+ # received until the response was sent.
+ "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
+ "referer": "A String", # The referer URL of the request, as defined in
+ # [HTTP/1.1 Header Field
+ # Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
+ "remoteIp": "A String", # The IP address (IPv4 or IPv6) of the client that issued the HTTP
+ # request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
+ "userAgent": "A String", # The user agent sent by the client. Example:
+ # `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+ # CLR 1.0.3705)"`.
+ "requestSize": "A String", # The size of the HTTP request message in bytes, including the request
+ # headers and the request body.
+ "responseSize": "A String", # The size of the HTTP response message sent back to the client, in bytes,
+ # including the response headers and the response body.
+ },
"severity": "A String", # The severity of the log entry. The default value is
# `LogSeverity.DEFAULT`.
+ "trace": "A String", # Optional. Resource name of the trace associated with the log entry, if any.
+ # If this field contains a relative resource name, you can assume the name is
+ # relative to `//tracing.googleapis.com`. Example:
+ # `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
"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.
@@ -1740,21 +1202,58 @@
# is expressed as a JSON object.
"a_key": "", # Properties of the object.
},
+ "protoPayload": { # The log entry payload, represented as a protocol buffer that is
+ # expressed as a JSON object. The only accepted type currently is
+ # AuditLog.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
"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.
+ "operation": { # Additional information about a potentially long-running operation with which # Optional. Information about an operation associated with the log entry, if
+ # applicable.
+ # a log entry is associated.
+ "last": True or False, # Optional. Set this to True if this is the last log entry in the operation.
+ "id": "A String", # Optional. An arbitrary operation identifier. Log entries with the
+ # same identifier are assumed to be part of the same operation.
+ "producer": "A String", # Optional. An arbitrary producer identifier. The combination of
+ # `id` and `producer` must be globally unique. Examples for `producer`:
+ # `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
+ "first": True or False, # Optional. Set this to True if this is the first log entry in the operation.
},
"name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
# `"book_log"`.
},
],
+ "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,
+ # - projects/PROJECT_ID or PROJECT_NUMBER,
+ # - folders/FOLDER_NUMBER,
+ # - organizations/ORGANIZATION_NUMBER,
+ # - api`_`key:API_KEY.
"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.
+ "resources": [ # The resources that are involved in the operation.
+ # The maximum supported number of entries in this field is 100.
+ { # Describes a resource associated with this operation.
+ "resourceContainer": "A String", # The identifier of the parent of this resource instance.
+ # Must be in one of the following formats:
+ # - “projects/<project-id or project-number>”
+ # - “folders/<folder-id>”
+ # - “organizations/<organization-id>”
+ "resourceName": "A String", # Name of the resource. This is used for auditing purposes.
+ "resourceLocation": "A String", # The location of the resource. If not empty, the resource will be checked
+ # against location policy. The value must be a valid zone, region or
+ # multiregion. For example: "europe-west4" or "northamerica-northeast1-a"
+ },
+ ],
"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
@@ -1796,65 +1295,20 @@
# 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:
+ { # Represents the processing error of one Operation in the request.
+ "status": { # The `Status` type defines a logical error model that is suitable for # Details of the error when processing the Operation.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
#
- # - 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.
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
"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.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
{
"a_key": "", # Properties of the object. Contains field @type with type URL.
},
@@ -1871,7 +1325,7 @@
# 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.
- {
+ { # Contains additional info about the report operation.
"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:
@@ -1923,10 +1377,6 @@
# - 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.
#
@@ -1953,8 +1403,12 @@
# 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.
+ "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+ "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+ # Sum[i=1..count]((x_i - mean)^2)
+ # where each x_i is a sample values. If `count` is zero then this field
+ # must be zero, otherwise validation of the request fails.
"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)
@@ -2008,7 +1462,11 @@
"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.
+ #
+ # We are not merging this field with 'quota_metrics' field because of the
+ # complexity of scaling in Chemist client code base. For simplicity, we will
+ # keep this field for Castor (that scales quota usage) and 'quota_metrics'
+ # for SuperQuota (that doesn't scale quota usage).
"a_key": 42,
},
},
@@ -2016,342 +1474,7 @@
},
],
"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.
+ "serviceRolloutId": "A String", # Unimplemented. The current service rollout id used to process the request.
}</pre>
</div>