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>