docs: docs update (#911)

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index c46051a..cdf7c8b 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -100,18 +100,18 @@
 
 Args:
   serviceName: string, Name of the service as specified in the service configuration. For example,
-`"pubsub.googleapis.com"`.
+`&quot;pubsub.googleapis.com&quot;`.
 
 See google.api.Service for the definition of a service name. (required)
   body: object, The request body.
     The object takes the form of:
 
 { # Request message for the AllocateQuota method.
-    "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # Specifies which version of service configuration should be used to process
         # the request. If unspecified or no matching version can be found, the latest
         # one will be used.
-    "allocateOperation": { # Represents information regarding a quota operation. # Operation that describes the quota allocation.
-      "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
+    &quot;allocateOperation&quot;: { # Represents information regarding a quota operation. # Operation that describes the quota allocation.
+      &quot;quotaMetrics&quot;: [ # 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.
@@ -126,32 +126,35 @@
         { # 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.
+          &quot;metricValues&quot;: [ # 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.
+              &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                  # applies.
+              &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+              &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;nanos&quot;: 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.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+              &quot;labels&quot;: { # The labels describing the metric value.
                   # See comments on google.api.servicecontrol.v1.Operation.labels for
                   # the overriding relationship.
                   # Note that this map must not contain monitored resource labels.
-                "a_key": "A String",
+                &quot;a_key&quot;: &quot;A String&quot;,
               },
-              "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.
+              &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+              &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+              &quot;distributionValue&quot;: { # 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:
                   #
@@ -159,46 +162,40 @@
                   #   - 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 &gt;= 0.
-                "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+                &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                  &quot;bounds&quot;: [ # &#x27;bound&#x27; 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&#x27;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 &#x27;bound&#x27; 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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
+                      #  i == bound_size() (overflow)    bound[i-1]     +inf
+                    3.14,
+                  ],
+                },
+                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                &quot;sumOfSquaredDeviation&quot;: 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 &gt; 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.
-                "exemplars": [ # Example points. Must be in increasing order of `value` field.
+                &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
                   { # Exemplars are example points that may be used to annotate aggregated
                       # distribution values. They are metadata that gives information about a
                       # particular value added to a Distribution bucket, such as a trace ID that
                       # was active when a value was added. They may contain further information,
                       # such as a example values and timestamps, origin, etc.
-                    "timestamp": "A String", # The observation (sampling) time of the above value.
-                    "attachments": [ # Contextual information about the example value. Examples are:
+                    &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                        # exemplar belongs.
+                    &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                    &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
                         #
                         #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
                         #
@@ -210,58 +207,79 @@
                         # There may be only a single attachment of any given message type in a
                         # single exemplar, and this is enforced by the system.
                       {
-                        "a_key": "", # Properties of the object. Contains field @type with type URL.
+                        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                       },
                     ],
-                    "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                        # exemplar belongs.
                   },
                 ],
-                "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
+                &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                  &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                  &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                  &quot;numFiniteBuckets&quot;: 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.
+                },
+                &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+                &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                  &quot;width&quot;: 3.14, # The i&#x27;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
+                  &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                       #   [offset + (i-1) * width, offset + i * width)
                       # where i ranges from 1 to num_finite_buckets, inclusive.
+                  &quot;numFiniteBuckets&quot;: 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.
                 },
-                "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 &lt; i &lt; 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
+                &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
+                &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                &quot;bucketCounts&quot;: [ # 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.
+                  &quot;A String&quot;,
+                ],
               },
-              "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.
+              &quot;boolValue&quot;: True or False, # A boolean value.
             },
           ],
-          "metricName": "A String", # The metric name defined in the service configuration.
+          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
         },
       ],
-      "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+      &quot;labels&quot;: { # Labels describing the operation.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;consumerId&quot;: &quot;A String&quot;, # Identity of the consumer for whom this quota operation is being performed.
+          #
+          # This can be in one of the following formats:
+          #   project:&lt;project_id&gt;,
+          #   project_number:&lt;project_number&gt;,
+          #   api_key:&lt;api_key&gt;.
+      &quot;operationId&quot;: &quot;A String&quot;, # 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.
+          #
+          # In order to ensure best performance and latency in the Quota backends,
+          # operation_ids are optimally associated with time, so that related
+          # operations can be accessed fast in storage. For this reason, the
+          # recommended token for services that intend to operate at a high QPS is
+          # Unix time in nanos + UUID
+      &quot;methodName&quot;: &quot;A String&quot;, # 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.
           #
@@ -271,25 +289,7 @@
           #
           # 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:&lt;project_id&gt;,
-          #   project_number:&lt;project_number&gt;,
-          #   api_key:&lt;api_key&gt;.
-      "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.
-          #
-          # In order to ensure best performance and latency in the Quota backends,
-          # operation_ids are optimally associated with time, so that related
-          # operations can be accessed fast in storage. For this reason, the
-          # recommended token for services that intend to operate at a high QPS is
-          # Unix time in nanos + UUID
+      &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
     },
   }
 
@@ -302,55 +302,67 @@
   An object of the form:
 
     { # Response message for the AllocateQuota method.
-    "allocateErrors": [ # Indicates the decision of the allocate.
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # ID of the actual config used to process the request.
+    &quot;allocateInfo&quot;: { # WARNING: DO NOT use this field until this warning message is removed.
+      &quot;unusedArguments&quot;: [ # 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 for rate
+          # quota. This field is not populated for allocation quota checks.
+        &quot;A String&quot;,
+      ],
+    },
+    &quot;allocateErrors&quot;: [ # 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:&lt;ip address of client&gt;" or
-            # "project:&lt;Google developer project id&gt;".
+        &quot;subject&quot;: &quot;A String&quot;, # Subject to whom this error applies. See the specific enum for more details
+            # on this field. For example, &quot;clientip:&lt;ip address of client&gt;&quot; or
+            # &quot;project:&lt;Google developer project id&gt;&quot;.
+        &quot;description&quot;: &quot;A String&quot;, # Free-form text that provides details on the cause of the error.
+        &quot;code&quot;: &quot;A String&quot;, # Error code.
       },
     ],
-    "serviceConfigId": "A String", # ID of the actual config used to process the request.
-    "quotaMetrics": [ # Quota metrics to indicate the result of allocation. Depending on the
+    &quot;quotaMetrics&quot;: [ # Quota metrics to indicate the result of allocation. Depending on the
         # request, one or more of the following metrics will be included:
         #
         # 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"
+        #   &quot;serviceruntime.googleapis.com/api/consumer/quota_used_count&quot;
         #
         # 2. The quota limit reached condition will be specified using the following
         # boolean metric :
-        #   "serviceruntime.googleapis.com/quota/exceeded"
+        #   &quot;serviceruntime.googleapis.com/quota/exceeded&quot;
       { # 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.
+        &quot;metricValues&quot;: [ # 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.
+            &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                # applies.
+            &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+            &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+              &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                  # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+              &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+              &quot;nanos&quot;: 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.
+            &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+            &quot;labels&quot;: { # The labels describing the metric value.
                 # See comments on google.api.servicecontrol.v1.Operation.labels for
                 # the overriding relationship.
                 # Note that this map must not contain monitored resource labels.
-              "a_key": "A String",
+              &quot;a_key&quot;: &quot;A String&quot;,
             },
-            "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.
+            &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+            &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+            &quot;distributionValue&quot;: { # 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:
                 #
@@ -358,46 +370,40 @@
                 #   - 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 &gt;= 0.
-              "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+              &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                &quot;bounds&quot;: [ # &#x27;bound&#x27; 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&#x27;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 &#x27;bound&#x27; 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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
+                    #  i == bound_size() (overflow)    bound[i-1]     +inf
+                  3.14,
+                ],
+              },
+              &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+              &quot;sumOfSquaredDeviation&quot;: 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 &gt; 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.
-              "exemplars": [ # Example points. Must be in increasing order of `value` field.
+              &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
                 { # Exemplars are example points that may be used to annotate aggregated
                     # distribution values. They are metadata that gives information about a
                     # particular value added to a Distribution bucket, such as a trace ID that
                     # was active when a value was added. They may contain further information,
                     # such as a example values and timestamps, origin, etc.
-                  "timestamp": "A String", # The observation (sampling) time of the above value.
-                  "attachments": [ # Contextual information about the example value. Examples are:
+                  &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                      # exemplar belongs.
+                  &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                  &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
                       #
                       #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
                       #
@@ -409,67 +415,61 @@
                       # There may be only a single attachment of any given message type in a
                       # single exemplar, and this is enforced by the system.
                     {
-                      "a_key": "", # Properties of the object. Contains field @type with type URL.
+                      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                     },
                   ],
-                  "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                      # exemplar belongs.
                 },
               ],
-              "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
+              &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                &quot;numFiniteBuckets&quot;: 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.
+              },
+              &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+              &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                &quot;width&quot;: 3.14, # The i&#x27;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
+                &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                     #   [offset + (i-1) * width, offset + i * width)
                     # where i ranges from 1 to num_finite_buckets, inclusive.
+                &quot;numFiniteBuckets&quot;: 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.
               },
-              "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 &lt; i &lt; 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
+              &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                   # zero then this field must be zero.
+              &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+              &quot;bucketCounts&quot;: [ # 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.
+                &quot;A String&quot;,
+              ],
             },
-            "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.
+            &quot;boolValue&quot;: True or False, # A boolean value.
           },
         ],
-        "metricName": "A String", # The metric name defined in the service configuration.
+        &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
       },
     ],
-    "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 for rate
-          # quota. This field is not populated for allocation quota checks.
-        "A String",
-      ],
-    },
-    "operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
+    &quot;operationId&quot;: &quot;A String&quot;, # The same operation_id value used in the AllocateQuotaRequest. Used for
         # logging and diagnostics purposes.
   }</pre>
 </div>
@@ -495,7 +495,7 @@
 
 Args:
   serviceName: string, The service name as specified in its service configuration. For example,
-`"pubsub.googleapis.com"`.
+`&quot;pubsub.googleapis.com&quot;`.
 
 See
 [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
@@ -504,12 +504,11 @@
     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.
+    &quot;skipActivationCheck&quot;: 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.
-    "operation": { # Represents information regarding an operation. # The operation to be checked.
-      "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
-      "traceSpans": [ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
+        # WARNING: Setting this flag to &quot;true&quot; will disable quota enforcement.
+    &quot;operation&quot;: { # Represents information regarding an operation. # The operation to be checked.
+      &quot;traceSpans&quot;: [ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
           # the id of the destination project which can be either the produce or the
           # consumer project.
         { # A span represents a single operation within a trace. Spans can be
@@ -518,248 +517,131 @@
             # its sub-operations. A trace can also contain multiple root spans,
             # or none at all. Spans do not need to be contiguous&amp;mdash;there may be
             # gaps or overlaps between spans in a trace.
-          "status": { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
-              # 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.
-              },
-            ],
-          },
-          "childSpanCount": 42, # An optional number of child spans that were generated while this span
-              # was active. If set, allows implementation to detect missing child spans.
-          "displayName": { # Represents a string that might be shortened to a specified length. # A description of the span's operation (up to 128 bytes).
-              # Stackdriver Trace displays the description in the
-              # Google Cloud Platform Console.
-              # For example, the display name can be a qualified method name or a file name
-              # and a line number where the operation is called. A best practice is to use
-              # the same display name within an application and at the same call point.
-              # This makes it easier to correlate spans in different traces.
-            "value": "A String", # The shortened string. For example, if the original string is 500
-                # bytes long and the limit of the string is 128 bytes, then
-                # `value` contains the first 128 bytes of the 500-byte string.
-                #
-                # Truncation always happens on a UTF8 character boundary. If there
-                # are multi-byte characters in the string, then the length of the
-                # shortened string might be less than the size limit.
-            "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
-                # value is 0, then the string was not shortened.
-          },
-          "name": "A String", # The resource name of the span in the following format:
-              #
-              #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
-              # it is a 32-character hexadecimal encoding of a 16-byte array.
-              #
-              # [SPAN_ID] is a unique identifier for a span within a trace; it
-              # is a 16-character hexadecimal encoding of an 8-byte array.
-          "spanKind": "A String", # Distinguishes between spans generated in a particular context. For example,
-              # two spans with the same name may be distinguished using `CLIENT` (caller)
-              # and `SERVER` (callee) to identify an RPC call.
-          "parentSpanId": "A String", # The [SPAN_ID] of this span's parent span. If this is a root span,
-              # then this field must be empty.
-          "startTime": "A String", # The start time of the span. On the client side, this is the time kept by
-              # the local machine where the span execution starts. On the server side, this
-              # is the time when the server's application handler starts running.
-          "spanId": "A String", # The [SPAN_ID] portion of the span's resource name.
-          "attributes": { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the span. You can have up to 32 attributes per
+          &quot;attributes&quot;: { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the span. You can have up to 32 attributes per
               # span.
-            "droppedAttributesCount": 42, # The number of attributes that were discarded. Attributes can be discarded
+            &quot;droppedAttributesCount&quot;: 42, # The number of attributes that were discarded. Attributes can be discarded
                 # because their keys are too long or because there are too many attributes.
                 # If this value is 0 then all attributes are valid.
-            "attributeMap": { # The set of attributes. Each attribute's key can be up to 128 bytes
+            &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;s key can be up to 128 bytes
                 # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
                 # or the Boolean values `true` and `false`. For example:
                 #
-                #     "/instance_id": "my-instance"
-                #     "/http/user_agent": ""
-                #     "/http/request_bytes": 300
-                #     "abc.com/myattribute": true
-              "a_key": { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
-                "stringValue": { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
-                  "value": "A String", # The shortened string. For example, if the original string is 500
+                #     &quot;/instance_id&quot;: &quot;my-instance&quot;
+                #     &quot;/http/user_agent&quot;: &quot;&quot;
+                #     &quot;/http/request_bytes&quot;: 300
+                #     &quot;abc.com/myattribute&quot;: true
+              &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+                &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                  &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                      # value is 0, then the string was not shortened.
+                  &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
                       # bytes long and the limit of the string is 128 bytes, then
                       # `value` contains the first 128 bytes of the 500-byte string.
                       #
                       # Truncation always happens on a UTF8 character boundary. If there
                       # are multi-byte characters in the string, then the length of the
                       # shortened string might be less than the size limit.
-                  "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
-                      # value is 0, then the string was not shortened.
                 },
-                "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-                "intValue": "A String", # A 64-bit signed integer.
+                &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
               },
             },
           },
-          "endTime": "A String", # The end time of the span. On the client side, this is the time kept by
+          &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] portion of the span&#x27;s resource name.
+          &quot;parentSpanId&quot;: &quot;A String&quot;, # The [SPAN_ID] of this span&#x27;s parent span. If this is a root span,
+              # then this field must be empty.
+          &quot;endTime&quot;: &quot;A String&quot;, # The end time of the span. On the client side, this is the time kept by
               # the local machine where the span execution ends. On the server side, this
               # is the time when the server application handler stops running.
-          "sameProcessAsParentSpan": True or False, # (Optional) Set this parameter to indicate whether this span is in
+          &quot;startTime&quot;: &quot;A String&quot;, # The start time of the span. On the client side, this is the time kept by
+              # the local machine where the span execution starts. On the server side, this
+              # is the time when the server&#x27;s application handler starts running.
+          &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
+              # two spans with the same name may be distinguished using `CLIENT` (caller)
+              # and `SERVER` (callee) to identify an RPC call.
+          &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # A description of the span&#x27;s operation (up to 128 bytes).
+              # Stackdriver Trace displays the description in the
+              # Google Cloud Platform Console.
+              # For example, the display name can be a qualified method name or a file name
+              # and a line number where the operation is called. A best practice is to use
+              # the same display name within an application and at the same call point.
+              # This makes it easier to correlate spans in different traces.
+            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+            &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
+                # bytes long and the limit of the string is 128 bytes, then
+                # `value` contains the first 128 bytes of the 500-byte string.
+                #
+                # Truncation always happens on a UTF8 character boundary. If there
+                # are multi-byte characters in the string, then the length of the
+                # shortened string might be less than the size limit.
+          },
+          &quot;childSpanCount&quot;: 42, # An optional number of child spans that were generated while this span
+              # was active. If set, allows implementation to detect missing child spans.
+          &quot;sameProcessAsParentSpan&quot;: True or False, # (Optional) Set this parameter to indicate whether this span is in
               # the same process as its parent. If you do not set this parameter,
               # Stackdriver Trace is unable to take advantage of this helpful
               # information.
+          &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
+              # 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).
+            &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+                # message types for APIs to use.
+              {
+                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+              },
+            ],
+            &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+            &quot;message&quot;: &quot;A String&quot;, # 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.
+          },
+          &quot;name&quot;: &quot;A String&quot;, # The resource name of the span in the following format:
+              #
+              #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
+              # it is a 32-character hexadecimal encoding of a 16-byte array.
+              #
+              # [SPAN_ID] is a unique identifier for a span within a trace; it
+              # is a 16-character hexadecimal encoding of an 8-byte array.
         },
       ],
-      "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
-          # corresponds to a metric defined in the service configuration.
-          # The data type used in the MetricValueSet must agree with
-          # the data type specified in the metric definition.
+      &quot;quotaProperties&quot;: { # 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.
+        &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
+      },
+      &quot;consumerId&quot;: &quot;A String&quot;, # 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.
           #
-          # 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.
-                  # Note that this map must not contain monitored resource labels.
-                "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 &gt;= 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 &gt; 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.
-                "exemplars": [ # Example points. Must be in increasing order of `value` field.
-                  { # Exemplars are example points that may be used to annotate aggregated
-                      # distribution values. They are metadata that gives information about a
-                      # particular value added to a Distribution bucket, such as a trace ID that
-                      # was active when a value was added. They may contain further information,
-                      # such as a example values and timestamps, origin, etc.
-                    "timestamp": "A String", # The observation (sampling) time of the above value.
-                    "attachments": [ # Contextual information about the example value. Examples are:
-                        #
-                        #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
-                        #
-                        #   Literal string: type.googleapis.com/google.protobuf.StringValue
-                        #
-                        #   Labels dropped during aggregation:
-                        #     type.googleapis.com/google.monitoring.v3.DroppedLabels
-                        #
-                        # There may be only a single attachment of any given message type in a
-                        # single exemplar, and this is enforced by the system.
-                      {
-                        "a_key": "", # Properties of the object. Contains field @type with type URL.
-                      },
-                    ],
-                    "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                        # exemplar belongs.
-                  },
-                ],
-                "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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                      #  i == bound_size() (overflow)    bound[i-1]     +inf
-                    3.14,
-                  ],
-                },
-                "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
-                    # zero then this field must be zero.
-              },
-              "stringValue": "A String", # A text string value.
-              "int64Value": "A String", # A signed 64-bit integer value.
-              "endTime": "A String", # The end of the time period over which this metric value's measurement
-                  # applies.
-            },
-          ],
-          "metricName": "A String", # The metric name defined in the service configuration.
-        },
-      ],
-      "importance": "A String", # DO NOT USE. This is an experimental field.
-      "labels": { # Labels describing the operation. Only the following labels are allowed:
+          # - 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.
+      &quot;operationId&quot;: &quot;A String&quot;, # Identity of the operation. This must be unique within the scope of the
+          # service that generated the operation. If the service calls
+          # Check() and Report() on the same operation, the two calls should carry
+          # the same id.
+          #
+          # UUID version 4 is recommended, though not required.
+          # In scenarios where an operation is computed from existing information
+          # and an idempotent id is desirable for deduplication purpose, UUID version 5
+          # is recommended. See RFC 4122 for details.
+      &quot;operationName&quot;: &quot;A String&quot;, # Fully qualified name of the operation. Reserved for future use.
+      &quot;endTime&quot;: &quot;A String&quot;, # End time of the operation.
+          # Required when the operation is used in ServiceController.Report,
+          # but optional when the operation is used in ServiceController.Check.
+      &quot;startTime&quot;: &quot;A String&quot;, # Required. Start time of the operation.
+      &quot;importance&quot;: &quot;A String&quot;, # DO NOT USE. This is an experimental field.
+      &quot;labels&quot;: { # Labels describing the operation. Only the following labels are allowed:
           #
           # - Labels describing monitored resources as defined in
           #   the service configuration.
@@ -775,277 +657,160 @@
           #     - `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",
+        &quot;a_key&quot;: &quot;A String&quot;,
       },
-      "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.
-      },
-      "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.
-      "userLabels": { # User defined labels for the resource that this operation is associated
-          # with. Only a combination of 1000 user labels per consumer project are
-          # allowed.
-        "a_key": "A String",
-      },
-      "logEntries": [ # Represents information to be logged.
+      &quot;resources&quot;: [ # 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.
+          &quot;resourceContainer&quot;: &quot;A String&quot;, # The identifier of the parent of this resource instance.
+              # Must be in one of the following formats:
+              #     - “projects/&lt;project-id or project-number&gt;”
+              #     - “folders/&lt;folder-id&gt;”
+              #     - “organizations/&lt;organization-id&gt;”
+          &quot;resourceName&quot;: &quot;A String&quot;, # Name of the resource. This is used for auditing purposes.
+          &quot;resourceLocation&quot;: &quot;A String&quot;, # 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: &quot;europe-west4&quot; or &quot;northamerica-northeast1-a&quot;
+        },
+      ],
+      &quot;logEntries&quot;: [ # 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
+          &quot;timestamp&quot;: &quot;A String&quot;, # The time the event described by the log entry occurred. If
+              # omitted, defaults to operation start time.
+          &quot;httpRequest&quot;: { # 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
+            &quot;latency&quot;: &quot;A String&quot;, # The request processing latency on the server, from the time the request was
+                # received until the response was sent.
+            &quot;userAgent&quot;: &quot;A String&quot;, # The user agent sent by the client. Example:
+                # `&quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+                # CLR 1.0.3705)&quot;`.
+            &quot;cacheFillBytes&quot;: &quot;A String&quot;, # The number of HTTP response bytes inserted into cache. Set only when a
+                # cache fill was attempted.
+            &quot;requestMethod&quot;: &quot;A String&quot;, # The request method. Examples: `&quot;GET&quot;`, `&quot;HEAD&quot;`, `&quot;PUT&quot;`, `&quot;POST&quot;`.
+            &quot;requestSize&quot;: &quot;A String&quot;, # The size of the HTTP request message in bytes, including the request
+                # headers and the request body.
+            &quot;responseSize&quot;: &quot;A String&quot;, # The size of the HTTP response message sent back to the client, in bytes,
+                # including the response headers and the response body.
+            &quot;protocol&quot;: &quot;A String&quot;, # Protocol used for the request. Examples: &quot;HTTP/1.1&quot;, &quot;HTTP/2&quot;, &quot;websocket&quot;
+            &quot;requestUrl&quot;: &quot;A String&quot;, # The scheme (http, https), the host name, the path, and the query
+                # portion of the URL that was requested.
+                # Example: `&quot;http://example.com/some/info?color=red&quot;`.
+            &quot;remoteIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the client that issued the HTTP
+                # request. Examples: `&quot;192.168.1.1&quot;`, `&quot;FE80::0202:B3FF:FE1E:8329&quot;`.
+            &quot;serverIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the origin server that the request was
+                # sent to.
+            &quot;cacheLookup&quot;: True or False, # Whether or not a cache lookup was attempted.
+            &quot;cacheHit&quot;: True or False, # Whether or not an entity was served from cache
+                # (with or without validation).
+            &quot;cacheValidatedWithOriginServer&quot;: 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"
-            "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
-            "latency": "A String", # The request processing latency on the server, from the time the request was
-                # received until the response was sent.
-            "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.
-            "cacheHit": True or False, # Whether or not an entity was served from cache
-                # (with or without validation).
-            "referer": "A String", # The referer URL of the request, as defined in
+            &quot;status&quot;: 42, # The response code indicating the status of the response.
+                # Examples: 200, 404.
+            &quot;referer&quot;: &quot;A String&quot;, # 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.
           },
-          "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
-          "trace": "A String", # Optional. Resource name of the trace associated with the log entry, if any.
+          &quot;name&quot;: &quot;A String&quot;, # Required. The log to which this log entry belongs. Examples: `&quot;syslog&quot;`,
+              # `&quot;book_log&quot;`.
+          &quot;insertId&quot;: &quot;A String&quot;, # A unique ID for the log entry used for deduplication. If omitted,
+              # the implementation will generate one based on operation_id.
+          &quot;operation&quot;: { # 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.
+            &quot;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
+            &quot;id&quot;: &quot;A String&quot;, # Optional. An arbitrary operation identifier. Log entries with the
+                # same identifier are assumed to be part of the same operation.
+            &quot;producer&quot;: &quot;A String&quot;, # Optional. An arbitrary producer identifier. The combination of
+                # `id` and `producer` must be globally unique.  Examples for `producer`:
+                # `&quot;MyDivision.MyBigCompany.com&quot;`, `&quot;github.com/MyProject/MyApplication&quot;`.
+            &quot;first&quot;: True or False, # Optional. Set this to True if this is the first log entry in the operation.
+          },
+          &quot;textPayload&quot;: &quot;A String&quot;, # The log entry payload, represented as a Unicode string (UTF-8).
+          &quot;protoPayload&quot;: { # The log entry payload, represented as a protocol buffer that is
+              # expressed as a JSON object. The only accepted type currently is
+              # AuditLog.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+          &quot;trace&quot;: &quot;A String&quot;, # 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`
-          "timestamp": "A String", # The time the event described by the log entry occurred. If
-              # omitted, defaults to operation start time.
-          "labels": { # A set of user-defined (key, value) data that provides additional
+          &quot;labels&quot;: { # A set of user-defined (key, value) data that provides additional
               # information about the log entry.
-            "a_key": "A String",
+            &quot;a_key&quot;: &quot;A String&quot;,
           },
-          "structPayload": { # The log entry payload, represented as a structure that
-              # is expressed as a JSON object.
-            "a_key": "", # Properties of the object.
-          },
-          "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
-              # `"book_log"`.
-          "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. The only accepted type currently is
-              # AuditLog.
-            "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.
-          },
-          "sourceLocation": { # Additional information about the source code location that produced the log # Optional. Source code location information associated with the log entry,
+          &quot;severity&quot;: &quot;A String&quot;, # The severity of the log entry. The default value is
+              # `LogSeverity.DEFAULT`.
+          &quot;sourceLocation&quot;: { # Additional information about the source code location that produced the log # Optional. Source code location information associated with the log entry,
               # if any.
               # entry.
-            "function": "A String", # Optional. Human-readable name of the function or method being invoked, with
+            &quot;file&quot;: &quot;A String&quot;, # Optional. Source file name. Depending on the runtime environment, this
+                # might be a simple name or a fully-qualified name.
+            &quot;function&quot;: &quot;A String&quot;, # Optional. Human-readable name of the function or method being invoked, with
                 # optional context such as the class or package name. This information may be
                 # used in contexts such as the logs viewer, where a file and line number are
                 # less meaningful. The format can vary by language. For example:
                 # `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
                 # (Python).
-            "line": "A String", # Optional. Line within the source file. 1-based; 0 indicates no line number
+            &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
                 # available.
-            "file": "A String", # Optional. Source file name. Depending on the runtime environment, this
-                # might be a simple name or a fully-qualified name.
           },
-          "severity": "A String", # The severity of the log entry. The default value is
-              # `LogSeverity.DEFAULT`.
+          &quot;structPayload&quot;: { # The log entry payload, represented as a structure that
+              # is expressed as a JSON object.
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+          },
         },
       ],
-      "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/&lt;project-id or project-number&gt;”
-              #     - “folders/&lt;folder-id&gt;”
-              #     - “organizations/&lt;organization-id&gt;”
-          "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
-          # 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.
-    "requestProjectSettings": True or False, # Requests the project settings to be returned as part of the check response.
-  }
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for the Check method.
-    "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.
+      &quot;userLabels&quot;: { # User defined labels for the resource that this operation is associated
+          # with. Only a combination of 1000 user labels per consumer project are
+          # allowed.
+        &quot;a_key&quot;: &quot;A String&quot;,
       },
-    },
-    "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:&lt;project-id or project-number&gt;”
-            #     - “folder:&lt;folder-id&gt;”
-            #     - “organization:&lt;organization-id&gt;”
-      },
-    ],
-    "serviceRolloutId": "A String", # 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.
-      "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.
+      &quot;metricValueSets&quot;: [ # 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.
           #
-          # 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,
-      },
-      "quotaMetrics": [ # Quota metrics to indicate the usage. Depending on the check request, one or
-          # more of the following metrics will be included:
-          #
-          # 1. For rate quota, per quota group or per quota metric incremental usage
-          # will be specified using the following delta metric:
-          #   "serviceruntime.googleapis.com/api/consumer/quota_used_count"
-          #
-          # 2. For allocation quota, per quota metric total usage will be specified
-          # using the following gauge metric:
-          #   "serviceruntime.googleapis.com/allocation/consumer/quota_used_count"
-          #
-          # 3. For both rate quota and allocation quota, the quota limit reached
-          # condition will be specified using the following boolean metric:
-          #   "serviceruntime.googleapis.com/quota/exceeded"
+          # 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.
+          &quot;metricValues&quot;: [ # 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.
+              &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                  # applies.
+              &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+              &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;nanos&quot;: 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.
+              &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+              &quot;labels&quot;: { # The labels describing the metric value.
                   # See comments on google.api.servicecontrol.v1.Operation.labels for
                   # the overriding relationship.
                   # Note that this map must not contain monitored resource labels.
-                "a_key": "A String",
+                &quot;a_key&quot;: &quot;A String&quot;,
               },
-              "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.
+              &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+              &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+              &quot;distributionValue&quot;: { # 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:
                   #
@@ -1053,46 +818,40 @@
                   #   - 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 &gt;= 0.
-                "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+                &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                  &quot;bounds&quot;: [ # &#x27;bound&#x27; 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&#x27;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 &#x27;bound&#x27; 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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
+                      #  i == bound_size() (overflow)    bound[i-1]     +inf
+                    3.14,
+                  ],
+                },
+                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                &quot;sumOfSquaredDeviation&quot;: 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 &gt; 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.
-                "exemplars": [ # Example points. Must be in increasing order of `value` field.
+                &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
                   { # Exemplars are example points that may be used to annotate aggregated
                       # distribution values. They are metadata that gives information about a
                       # particular value added to a Distribution bucket, such as a trace ID that
                       # was active when a value was added. They may contain further information,
                       # such as a example values and timestamps, origin, etc.
-                    "timestamp": "A String", # The observation (sampling) time of the above value.
-                    "attachments": [ # Contextual information about the example value. Examples are:
+                    &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                        # exemplar belongs.
+                    &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                    &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
                         #
                         #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
                         #
@@ -1104,35 +863,177 @@
                         # There may be only a single attachment of any given message type in a
                         # single exemplar, and this is enforced by the system.
                       {
-                        "a_key": "", # Properties of the object. Contains field @type with type URL.
+                        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                       },
                     ],
-                    "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                        # exemplar belongs.
                   },
                 ],
-                "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
+                &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                  &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                  &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                  &quot;numFiniteBuckets&quot;: 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.
+                },
+                &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+                &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                  &quot;width&quot;: 3.14, # The i&#x27;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
+                  &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                       #   [offset + (i-1) * width, offset + i * width)
                       # where i ranges from 1 to num_finite_buckets, inclusive.
+                  &quot;numFiniteBuckets&quot;: 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.
                 },
-                "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                  "bounds": [ # 'bound' is a list of strictly increasing boundaries between
+                &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+                    # zero then this field must be zero.
+                &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                &quot;bucketCounts&quot;: [ # 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.
+                  &quot;A String&quot;,
+                ],
+              },
+              &quot;boolValue&quot;: True or False, # A boolean value.
+            },
+          ],
+          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
+        },
+      ],
+    },
+    &quot;requestProjectSettings&quot;: True or False, # Requests the project settings to be returned as part of the check response.
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # 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 Check method.
+    &quot;checkInfo&quot;: { # Contains additional information about the check operation. # Feedback data returned from the server during processing a Check request.
+      &quot;unusedArguments&quot;: [ # A list of fields and label keys that are ignored by the server.
+          # The client doesn&#x27;t need to send them for following requests to improve
+          # performance and allow better aggregation.
+        &quot;A String&quot;,
+      ],
+      &quot;consumerInfo&quot;: { # `ConsumerInfo` provides information about the consumer. # Consumer info of this check.
+        &quot;consumerNumber&quot;: &quot;A String&quot;, # 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.
+        &quot;type&quot;: &quot;A String&quot;, # The type of the consumer which should have been defined in
+            # [Google Resource Manager](https://cloud.google.com/resource-manager/).
+        &quot;projectNumber&quot;: &quot;A String&quot;, # 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.
+      },
+    },
+    &quot;quotaInfo&quot;: { # Contains the quota information for a quota check response. # Quota information for the check request associated with this response.
+      &quot;limitExceeded&quot;: [ # Quota Metrics that have exceeded quota limits.
+          # For QuotaGroup-based quota, this is QuotaGroup.name
+          # For QuotaLimit-based quota, this is QuotaLimit.name
+          # See: google.api.Quota
+          # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
+        &quot;A String&quot;,
+      ],
+      &quot;quotaConsumed&quot;: { # 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.
+          #
+          # We are not merging this field with &#x27;quota_metrics&#x27; 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 &#x27;quota_metrics&#x27;
+          # for SuperQuota (that doesn&#x27;t scale quota usage).
+        &quot;a_key&quot;: 42,
+      },
+      &quot;quotaMetrics&quot;: [ # Quota metrics to indicate the usage. Depending on the check request, one or
+          # more of the following metrics will be included:
+          #
+          # 1. For rate quota, per quota group or per quota metric incremental usage
+          # will be specified using the following delta metric:
+          #   &quot;serviceruntime.googleapis.com/api/consumer/quota_used_count&quot;
+          #
+          # 2. For allocation quota, per quota metric total usage will be specified
+          # using the following gauge metric:
+          #   &quot;serviceruntime.googleapis.com/allocation/consumer/quota_used_count&quot;
+          #
+          # 3. For both rate quota and allocation quota, the quota limit reached
+          # condition will be specified using the following boolean metric:
+          #   &quot;serviceruntime.googleapis.com/quota/exceeded&quot;
+        { # 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.
+          &quot;metricValues&quot;: [ # The values in this metric.
+            { # Represents a single metric value.
+              &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                  # applies.
+              &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+              &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &quot;nanos&quot;: 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.
+              },
+              &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+              &quot;labels&quot;: { # The labels describing the metric value.
+                  # See comments on google.api.servicecontrol.v1.Operation.labels for
+                  # the overriding relationship.
+                  # Note that this map must not contain monitored resource labels.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+              &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+              &quot;distributionValue&quot;: { # 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
+                &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                  &quot;bounds&quot;: [ # &#x27;bound&#x27; 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
+                      # The i&#x27;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
+                      # finite buckets at all if &#x27;bound&#x27; only contains a single element; in
                       # that special case the single bound defines the boundary between the
                       # underflow and overflow buckets.
                       #
@@ -1143,27 +1044,127 @@
                     3.14,
                   ],
                 },
-                "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                &quot;sumOfSquaredDeviation&quot;: 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.
+                &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
+                  { # Exemplars are example points that may be used to annotate aggregated
+                      # distribution values. They are metadata that gives information about a
+                      # particular value added to a Distribution bucket, such as a trace ID that
+                      # was active when a value was added. They may contain further information,
+                      # such as a example values and timestamps, origin, etc.
+                    &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                        # exemplar belongs.
+                    &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                    &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
+                        #
+                        #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
+                        #
+                        #   Literal string: type.googleapis.com/google.protobuf.StringValue
+                        #
+                        #   Labels dropped during aggregation:
+                        #     type.googleapis.com/google.monitoring.v3.DroppedLabels
+                        #
+                        # There may be only a single attachment of any given message type in a
+                        # single exemplar, and this is enforced by the system.
+                      {
+                        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                      },
+                    ],
+                  },
+                ],
+                &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                  &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                  &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                  &quot;numFiniteBuckets&quot;: 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.
+                },
+                &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+                &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                  &quot;width&quot;: 3.14, # The i&#x27;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.
+                  &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
+                      #   [offset + (i-1) * width, offset + i * width)
+                      # where i ranges from 1 to num_finite_buckets, inclusive.
+                  &quot;numFiniteBuckets&quot;: 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.
+                },
+                &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
+                &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                &quot;bucketCounts&quot;: [ # 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.
+                  &quot;A String&quot;,
+                ],
               },
-              "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.
+              &quot;boolValue&quot;: True or False, # A boolean value.
             },
           ],
-          "metricName": "A String", # The metric name defined in the service configuration.
+          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
         },
       ],
-      "limitExceeded": [ # Quota Metrics that have exceeded quota limits.
-          # For QuotaGroup-based quota, this is QuotaGroup.name
-          # For QuotaLimit-based quota, this is QuotaLimit.name
-          # See: google.api.Quota
-          # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
-        "A String",
-      ],
     },
-    "operationId": "A String", # The same operation_id value used in the CheckRequest.
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # The actual config id used to process the request.
+    &quot;serviceRolloutId&quot;: &quot;A String&quot;, # The current service rollout id used to process the request.
+    &quot;checkErrors&quot;: [ # 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.
+        &quot;detail&quot;: &quot;A String&quot;, # Free-form text providing details on the error cause of the error.
+        &quot;status&quot;: { # 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).
+          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+              # message types for APIs to use.
+            {
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+          ],
+          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+          &quot;message&quot;: &quot;A String&quot;, # 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.
+        },
+        &quot;subject&quot;: &quot;A String&quot;, # Subject to whom this error applies. See the specific code enum for more
+            # details on this field. For example:
+            #
+            # - &quot;project:&lt;project-id or project-number&gt;&quot;
+            # - &quot;folder:&lt;folder-id&gt;&quot;
+            # - &quot;organization:&lt;organization-id&gt;&quot;
+        &quot;code&quot;: &quot;A String&quot;, # The error code.
+      },
+    ],
+    &quot;operationId&quot;: &quot;A String&quot;, # The same operation_id value used in the CheckRequest.
         # Used for logging and diagnostics purposes.
   }</pre>
 </div>
@@ -1188,7 +1189,7 @@
 
 Args:
   serviceName: string, The service name as specified in its service configuration. For example,
-`"pubsub.googleapis.com"`.
+`&quot;pubsub.googleapis.com&quot;`.
 
 See
 [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
@@ -1197,7 +1198,7 @@
     The object takes the form of:
 
 { # Request message for the Report method.
-    "operations": [ # Operations to be reported.
+    &quot;operations&quot;: [ # Operations to be reported.
         # 
         # Typically the service should report one operation per request.
         # Putting multiple operations into a single request is allowed, but should
@@ -1208,8 +1209,7 @@
         # however the ReportRequest size should be no larger than 1MB. See
         # ReportResponse.report_errors for partial failure behavior.
       { # Represents information regarding an operation.
-        "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
-        "traceSpans": [ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
+        &quot;traceSpans&quot;: [ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
             # the id of the destination project which can be either the produce or the
             # consumer project.
           { # A span represents a single operation within a trace. Spans can be
@@ -1218,248 +1218,131 @@
               # its sub-operations. A trace can also contain multiple root spans,
               # or none at all. Spans do not need to be contiguous&amp;mdash;there may be
               # gaps or overlaps between spans in a trace.
-            "status": { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
-                # 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.
-                },
-              ],
-            },
-            "childSpanCount": 42, # An optional number of child spans that were generated while this span
-                # was active. If set, allows implementation to detect missing child spans.
-            "displayName": { # Represents a string that might be shortened to a specified length. # A description of the span's operation (up to 128 bytes).
-                # Stackdriver Trace displays the description in the
-                # Google Cloud Platform Console.
-                # For example, the display name can be a qualified method name or a file name
-                # and a line number where the operation is called. A best practice is to use
-                # the same display name within an application and at the same call point.
-                # This makes it easier to correlate spans in different traces.
-              "value": "A String", # The shortened string. For example, if the original string is 500
-                  # bytes long and the limit of the string is 128 bytes, then
-                  # `value` contains the first 128 bytes of the 500-byte string.
-                  #
-                  # Truncation always happens on a UTF8 character boundary. If there
-                  # are multi-byte characters in the string, then the length of the
-                  # shortened string might be less than the size limit.
-              "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
-                  # value is 0, then the string was not shortened.
-            },
-            "name": "A String", # The resource name of the span in the following format:
-                #
-                #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
-                # it is a 32-character hexadecimal encoding of a 16-byte array.
-                #
-                # [SPAN_ID] is a unique identifier for a span within a trace; it
-                # is a 16-character hexadecimal encoding of an 8-byte array.
-            "spanKind": "A String", # Distinguishes between spans generated in a particular context. For example,
-                # two spans with the same name may be distinguished using `CLIENT` (caller)
-                # and `SERVER` (callee) to identify an RPC call.
-            "parentSpanId": "A String", # The [SPAN_ID] of this span's parent span. If this is a root span,
-                # then this field must be empty.
-            "startTime": "A String", # The start time of the span. On the client side, this is the time kept by
-                # the local machine where the span execution starts. On the server side, this
-                # is the time when the server's application handler starts running.
-            "spanId": "A String", # The [SPAN_ID] portion of the span's resource name.
-            "attributes": { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the span. You can have up to 32 attributes per
+            &quot;attributes&quot;: { # A set of attributes, each in the format `[KEY]:[VALUE]`. # A set of attributes on the span. You can have up to 32 attributes per
                 # span.
-              "droppedAttributesCount": 42, # The number of attributes that were discarded. Attributes can be discarded
+              &quot;droppedAttributesCount&quot;: 42, # The number of attributes that were discarded. Attributes can be discarded
                   # because their keys are too long or because there are too many attributes.
                   # If this value is 0 then all attributes are valid.
-              "attributeMap": { # The set of attributes. Each attribute's key can be up to 128 bytes
+              &quot;attributeMap&quot;: { # The set of attributes. Each attribute&#x27;s key can be up to 128 bytes
                   # long. The value can be a string up to 256 bytes, a signed 64-bit integer,
                   # or the Boolean values `true` and `false`. For example:
                   #
-                  #     "/instance_id": "my-instance"
-                  #     "/http/user_agent": ""
-                  #     "/http/request_bytes": 300
-                  #     "abc.com/myattribute": true
-                "a_key": { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
-                  "stringValue": { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
-                    "value": "A String", # The shortened string. For example, if the original string is 500
+                  #     &quot;/instance_id&quot;: &quot;my-instance&quot;
+                  #     &quot;/http/user_agent&quot;: &quot;&quot;
+                  #     &quot;/http/request_bytes&quot;: 300
+                  #     &quot;abc.com/myattribute&quot;: true
+                &quot;a_key&quot;: { # The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
+                  &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                  &quot;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                    &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                        # value is 0, then the string was not shortened.
+                    &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
                         # bytes long and the limit of the string is 128 bytes, then
                         # `value` contains the first 128 bytes of the 500-byte string.
                         #
                         # Truncation always happens on a UTF8 character boundary. If there
                         # are multi-byte characters in the string, then the length of the
                         # shortened string might be less than the size limit.
-                    "truncatedByteCount": 42, # The number of bytes removed from the original string. If this
-                        # value is 0, then the string was not shortened.
                   },
-                  "boolValue": True or False, # A Boolean value represented by `true` or `false`.
-                  "intValue": "A String", # A 64-bit signed integer.
+                  &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
                 },
               },
             },
-            "endTime": "A String", # The end time of the span. On the client side, this is the time kept by
+            &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] portion of the span&#x27;s resource name.
+            &quot;parentSpanId&quot;: &quot;A String&quot;, # The [SPAN_ID] of this span&#x27;s parent span. If this is a root span,
+                # then this field must be empty.
+            &quot;endTime&quot;: &quot;A String&quot;, # The end time of the span. On the client side, this is the time kept by
                 # the local machine where the span execution ends. On the server side, this
                 # is the time when the server application handler stops running.
-            "sameProcessAsParentSpan": True or False, # (Optional) Set this parameter to indicate whether this span is in
+            &quot;startTime&quot;: &quot;A String&quot;, # The start time of the span. On the client side, this is the time kept by
+                # the local machine where the span execution starts. On the server side, this
+                # is the time when the server&#x27;s application handler starts running.
+            &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
+                # two spans with the same name may be distinguished using `CLIENT` (caller)
+                # and `SERVER` (callee) to identify an RPC call.
+            &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # A description of the span&#x27;s operation (up to 128 bytes).
+                # Stackdriver Trace displays the description in the
+                # Google Cloud Platform Console.
+                # For example, the display name can be a qualified method name or a file name
+                # and a line number where the operation is called. A best practice is to use
+                # the same display name within an application and at the same call point.
+                # This makes it easier to correlate spans in different traces.
+              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+              &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
+                  # bytes long and the limit of the string is 128 bytes, then
+                  # `value` contains the first 128 bytes of the 500-byte string.
+                  #
+                  # Truncation always happens on a UTF8 character boundary. If there
+                  # are multi-byte characters in the string, then the length of the
+                  # shortened string might be less than the size limit.
+            },
+            &quot;childSpanCount&quot;: 42, # An optional number of child spans that were generated while this span
+                # was active. If set, allows implementation to detect missing child spans.
+            &quot;sameProcessAsParentSpan&quot;: True or False, # (Optional) Set this parameter to indicate whether this span is in
                 # the same process as its parent. If you do not set this parameter,
                 # Stackdriver Trace is unable to take advantage of this helpful
                 # information.
+            &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
+                # 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).
+              &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
+                  # message types for APIs to use.
+                {
+                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                },
+              ],
+              &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+              &quot;message&quot;: &quot;A String&quot;, # 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.
+            },
+            &quot;name&quot;: &quot;A String&quot;, # The resource name of the span in the following format:
+                #
+                #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
+                # it is a 32-character hexadecimal encoding of a 16-byte array.
+                #
+                # [SPAN_ID] is a unique identifier for a span within a trace; it
+                # is a 16-character hexadecimal encoding of an 8-byte array.
           },
         ],
-        "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
-            # corresponds to a metric defined in the service configuration.
-            # The data type used in the MetricValueSet must agree with
-            # the data type specified in the metric definition.
+        &quot;quotaProperties&quot;: { # 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.
+          &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
+        },
+        &quot;consumerId&quot;: &quot;A String&quot;, # 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.
             #
-            # 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.
-                    # Note that this map must not contain monitored resource labels.
-                  "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 &gt;= 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 &gt; 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.
-                  "exemplars": [ # Example points. Must be in increasing order of `value` field.
-                    { # Exemplars are example points that may be used to annotate aggregated
-                        # distribution values. They are metadata that gives information about a
-                        # particular value added to a Distribution bucket, such as a trace ID that
-                        # was active when a value was added. They may contain further information,
-                        # such as a example values and timestamps, origin, etc.
-                      "timestamp": "A String", # The observation (sampling) time of the above value.
-                      "attachments": [ # Contextual information about the example value. Examples are:
-                          #
-                          #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
-                          #
-                          #   Literal string: type.googleapis.com/google.protobuf.StringValue
-                          #
-                          #   Labels dropped during aggregation:
-                          #     type.googleapis.com/google.monitoring.v3.DroppedLabels
-                          #
-                          # There may be only a single attachment of any given message type in a
-                          # single exemplar, and this is enforced by the system.
-                        {
-                          "a_key": "", # Properties of the object. Contains field @type with type URL.
-                        },
-                      ],
-                      "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                          # exemplar belongs.
-                    },
-                  ],
-                  "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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                        #  i == bound_size() (overflow)    bound[i-1]     +inf
-                      3.14,
-                    ],
-                  },
-                  "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
-                      # zero then this field must be zero.
-                },
-                "stringValue": "A String", # A text string value.
-                "int64Value": "A String", # A signed 64-bit integer value.
-                "endTime": "A String", # The end of the time period over which this metric value's measurement
-                    # applies.
-              },
-            ],
-            "metricName": "A String", # The metric name defined in the service configuration.
-          },
-        ],
-        "importance": "A String", # DO NOT USE. This is an experimental field.
-        "labels": { # Labels describing the operation. Only the following labels are allowed:
+            # - 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.
+        &quot;operationId&quot;: &quot;A String&quot;, # Identity of the operation. This must be unique within the scope of the
+            # service that generated the operation. If the service calls
+            # Check() and Report() on the same operation, the two calls should carry
+            # the same id.
+            #
+            # UUID version 4 is recommended, though not required.
+            # In scenarios where an operation is computed from existing information
+            # and an idempotent id is desirable for deduplication purpose, UUID version 5
+            # is recommended. See RFC 4122 for details.
+        &quot;operationName&quot;: &quot;A String&quot;, # Fully qualified name of the operation. Reserved for future use.
+        &quot;endTime&quot;: &quot;A String&quot;, # End time of the operation.
+            # Required when the operation is used in ServiceController.Report,
+            # but optional when the operation is used in ServiceController.Check.
+        &quot;startTime&quot;: &quot;A String&quot;, # Required. Start time of the operation.
+        &quot;importance&quot;: &quot;A String&quot;, # DO NOT USE. This is an experimental field.
+        &quot;labels&quot;: { # Labels describing the operation. Only the following labels are allowed:
             #
             # - Labels describing monitored resources as defined in
             #   the service configuration.
@@ -1475,151 +1358,269 @@
             #     - `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",
+          &quot;a_key&quot;: &quot;A String&quot;,
         },
-        "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.
-        },
-        "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.
-        "userLabels": { # User defined labels for the resource that this operation is associated
-            # with. Only a combination of 1000 user labels per consumer project are
-            # allowed.
-          "a_key": "A String",
-        },
-        "logEntries": [ # Represents information to be logged.
+        &quot;resources&quot;: [ # 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.
+            &quot;resourceContainer&quot;: &quot;A String&quot;, # The identifier of the parent of this resource instance.
+                # Must be in one of the following formats:
+                #     - “projects/&lt;project-id or project-number&gt;”
+                #     - “folders/&lt;folder-id&gt;”
+                #     - “organizations/&lt;organization-id&gt;”
+            &quot;resourceName&quot;: &quot;A String&quot;, # Name of the resource. This is used for auditing purposes.
+            &quot;resourceLocation&quot;: &quot;A String&quot;, # 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: &quot;europe-west4&quot; or &quot;northamerica-northeast1-a&quot;
+          },
+        ],
+        &quot;logEntries&quot;: [ # 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
+            &quot;timestamp&quot;: &quot;A String&quot;, # The time the event described by the log entry occurred. If
+                # omitted, defaults to operation start time.
+            &quot;httpRequest&quot;: { # 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
+              &quot;latency&quot;: &quot;A String&quot;, # The request processing latency on the server, from the time the request was
+                  # received until the response was sent.
+              &quot;userAgent&quot;: &quot;A String&quot;, # The user agent sent by the client. Example:
+                  # `&quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET
+                  # CLR 1.0.3705)&quot;`.
+              &quot;cacheFillBytes&quot;: &quot;A String&quot;, # The number of HTTP response bytes inserted into cache. Set only when a
+                  # cache fill was attempted.
+              &quot;requestMethod&quot;: &quot;A String&quot;, # The request method. Examples: `&quot;GET&quot;`, `&quot;HEAD&quot;`, `&quot;PUT&quot;`, `&quot;POST&quot;`.
+              &quot;requestSize&quot;: &quot;A String&quot;, # The size of the HTTP request message in bytes, including the request
+                  # headers and the request body.
+              &quot;responseSize&quot;: &quot;A String&quot;, # The size of the HTTP response message sent back to the client, in bytes,
+                  # including the response headers and the response body.
+              &quot;protocol&quot;: &quot;A String&quot;, # Protocol used for the request. Examples: &quot;HTTP/1.1&quot;, &quot;HTTP/2&quot;, &quot;websocket&quot;
+              &quot;requestUrl&quot;: &quot;A String&quot;, # The scheme (http, https), the host name, the path, and the query
+                  # portion of the URL that was requested.
+                  # Example: `&quot;http://example.com/some/info?color=red&quot;`.
+              &quot;remoteIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the client that issued the HTTP
+                  # request. Examples: `&quot;192.168.1.1&quot;`, `&quot;FE80::0202:B3FF:FE1E:8329&quot;`.
+              &quot;serverIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the origin server that the request was
+                  # sent to.
+              &quot;cacheLookup&quot;: True or False, # Whether or not a cache lookup was attempted.
+              &quot;cacheHit&quot;: True or False, # Whether or not an entity was served from cache
+                  # (with or without validation).
+              &quot;cacheValidatedWithOriginServer&quot;: 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"
-              "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
-              "latency": "A String", # The request processing latency on the server, from the time the request was
-                  # received until the response was sent.
-              "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.
-              "cacheHit": True or False, # Whether or not an entity was served from cache
-                  # (with or without validation).
-              "referer": "A String", # The referer URL of the request, as defined in
+              &quot;status&quot;: 42, # The response code indicating the status of the response.
+                  # Examples: 200, 404.
+              &quot;referer&quot;: &quot;A String&quot;, # 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.
             },
-            "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
-            "trace": "A String", # Optional. Resource name of the trace associated with the log entry, if any.
+            &quot;name&quot;: &quot;A String&quot;, # Required. The log to which this log entry belongs. Examples: `&quot;syslog&quot;`,
+                # `&quot;book_log&quot;`.
+            &quot;insertId&quot;: &quot;A String&quot;, # A unique ID for the log entry used for deduplication. If omitted,
+                # the implementation will generate one based on operation_id.
+            &quot;operation&quot;: { # 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.
+              &quot;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
+              &quot;id&quot;: &quot;A String&quot;, # Optional. An arbitrary operation identifier. Log entries with the
+                  # same identifier are assumed to be part of the same operation.
+              &quot;producer&quot;: &quot;A String&quot;, # Optional. An arbitrary producer identifier. The combination of
+                  # `id` and `producer` must be globally unique.  Examples for `producer`:
+                  # `&quot;MyDivision.MyBigCompany.com&quot;`, `&quot;github.com/MyProject/MyApplication&quot;`.
+              &quot;first&quot;: True or False, # Optional. Set this to True if this is the first log entry in the operation.
+            },
+            &quot;textPayload&quot;: &quot;A String&quot;, # The log entry payload, represented as a Unicode string (UTF-8).
+            &quot;protoPayload&quot;: { # The log entry payload, represented as a protocol buffer that is
+                # expressed as a JSON object. The only accepted type currently is
+                # AuditLog.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+            },
+            &quot;trace&quot;: &quot;A String&quot;, # 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`
-            "timestamp": "A String", # The time the event described by the log entry occurred. If
-                # omitted, defaults to operation start time.
-            "labels": { # A set of user-defined (key, value) data that provides additional
+            &quot;labels&quot;: { # A set of user-defined (key, value) data that provides additional
                 # information about the log entry.
-              "a_key": "A String",
+              &quot;a_key&quot;: &quot;A String&quot;,
             },
-            "structPayload": { # The log entry payload, represented as a structure that
-                # is expressed as a JSON object.
-              "a_key": "", # Properties of the object.
-            },
-            "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
-                # `"book_log"`.
-            "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. The only accepted type currently is
-                # AuditLog.
-              "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.
-            },
-            "sourceLocation": { # Additional information about the source code location that produced the log # Optional. Source code location information associated with the log entry,
+            &quot;severity&quot;: &quot;A String&quot;, # The severity of the log entry. The default value is
+                # `LogSeverity.DEFAULT`.
+            &quot;sourceLocation&quot;: { # Additional information about the source code location that produced the log # Optional. Source code location information associated with the log entry,
                 # if any.
                 # entry.
-              "function": "A String", # Optional. Human-readable name of the function or method being invoked, with
+              &quot;file&quot;: &quot;A String&quot;, # Optional. Source file name. Depending on the runtime environment, this
+                  # might be a simple name or a fully-qualified name.
+              &quot;function&quot;: &quot;A String&quot;, # Optional. Human-readable name of the function or method being invoked, with
                   # optional context such as the class or package name. This information may be
                   # used in contexts such as the logs viewer, where a file and line number are
                   # less meaningful. The format can vary by language. For example:
                   # `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
                   # (Python).
-              "line": "A String", # Optional. Line within the source file. 1-based; 0 indicates no line number
+              &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
                   # available.
-              "file": "A String", # Optional. Source file name. Depending on the runtime environment, this
-                  # might be a simple name or a fully-qualified name.
             },
-            "severity": "A String", # The severity of the log entry. The default value is
-                # `LogSeverity.DEFAULT`.
+            &quot;structPayload&quot;: { # The log entry payload, represented as a structure that
+                # is expressed as a JSON object.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+            },
           },
         ],
-        "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/&lt;project-id or project-number&gt;”
-                #     - “folders/&lt;folder-id&gt;”
-                #     - “organizations/&lt;organization-id&gt;”
-            "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
-            # the same id.
+        &quot;userLabels&quot;: { # User defined labels for the resource that this operation is associated
+            # with. Only a combination of 1000 user labels per consumer project are
+            # allowed.
+          &quot;a_key&quot;: &quot;A String&quot;,
+        },
+        &quot;metricValueSets&quot;: [ # 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.
             #
-            # 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.
+            # 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.
+            &quot;metricValues&quot;: [ # The values in this metric.
+              { # Represents a single metric value.
+                &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                    # applies.
+                &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+                &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &quot;nanos&quot;: 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.
+                },
+                &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+                &quot;labels&quot;: { # The labels describing the metric value.
+                    # See comments on google.api.servicecontrol.v1.Operation.labels for
+                    # the overriding relationship.
+                    # Note that this map must not contain monitored resource labels.
+                  &quot;a_key&quot;: &quot;A String&quot;,
+                },
+                &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+                &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+                &quot;distributionValue&quot;: { # 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
+                  &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                    &quot;bounds&quot;: [ # &#x27;bound&#x27; 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&#x27;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 &#x27;bound&#x27; 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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
+                        #  i == bound_size() (overflow)    bound[i-1]     +inf
+                      3.14,
+                    ],
+                  },
+                  &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                  &quot;sumOfSquaredDeviation&quot;: 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.
+                  &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
+                    { # Exemplars are example points that may be used to annotate aggregated
+                        # distribution values. They are metadata that gives information about a
+                        # particular value added to a Distribution bucket, such as a trace ID that
+                        # was active when a value was added. They may contain further information,
+                        # such as a example values and timestamps, origin, etc.
+                      &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                          # exemplar belongs.
+                      &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                      &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
+                          #
+                          #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
+                          #
+                          #   Literal string: type.googleapis.com/google.protobuf.StringValue
+                          #
+                          #   Labels dropped during aggregation:
+                          #     type.googleapis.com/google.monitoring.v3.DroppedLabels
+                          #
+                          # There may be only a single attachment of any given message type in a
+                          # single exemplar, and this is enforced by the system.
+                        {
+                          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                        },
+                      ],
+                    },
+                  ],
+                  &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                    &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                    &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                    &quot;numFiniteBuckets&quot;: 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.
+                  },
+                  &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+                  &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                    &quot;width&quot;: 3.14, # The i&#x27;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.
+                    &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
+                        #   [offset + (i-1) * width, offset + i * width)
+                        # where i ranges from 1 to num_finite_buckets, inclusive.
+                    &quot;numFiniteBuckets&quot;: 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.
+                  },
+                  &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
+                      # zero then this field must be zero.
+                  &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                  &quot;bucketCounts&quot;: [ # 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.
+                    &quot;A String&quot;,
+                  ],
+                },
+                &quot;boolValue&quot;: True or False, # A boolean value.
+              },
+            ],
+            &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
+          },
+        ],
       },
     ],
-    "serviceConfigId": "A String", # Specifies which version of service config should be used to process the
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # Specifies which version of service config should be used to process the
         # request.
         # 
         # If unspecified or no matching version can be found, the
@@ -1635,7 +1636,7 @@
   An object of the form:
 
     { # Response message for the Report method.
-    "reportErrors": [ # Partial failures, one for each `Operation` in the request that failed
+    &quot;reportErrors&quot;: [ # Partial failures, one for each `Operation` in the request that failed
         # processing. There are three possible combinations of the RPC status:
         #
         # 1. The combination of a successful RPC status and an empty `report_errors`
@@ -1647,31 +1648,32 @@
         #    `Operation` that failed processing has a corresponding item
         #    in this list.
         # 3. A failed RPC status indicates a general non-deterministic failure.
-        #    When this happens, it's impossible to know which of the
-        #    'Operations' in the request succeeded or failed.
+        #    When this happens, it&#x27;s impossible to know which of the
+        #    &#x27;Operations&#x27; 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 # Details of the error when processing the Operation.
+        &quot;status&quot;: { # 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.
             #
             # 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
+          &quot;details&quot;: [ # 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.
+              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
             },
           ],
+          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+          &quot;message&quot;: &quot;A String&quot;, # 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.
         },
-        "operationId": "A String", # The Operation.operation_id value from the request.
+        &quot;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
       },
     ],
-    "reportInfos": [ # Quota usage for each quota release `Operation` request.
+    &quot;serviceRolloutId&quot;: &quot;A String&quot;, # The current service rollout id used to process the request.
+    &quot;reportInfos&quot;: [ # Quota usage for each quota release `Operation` request.
         #
         # Fully or partially failed quota release request may or may not be present
         # in `report_quota_info`. For example, a failed quota release request will
@@ -1680,60 +1682,71 @@
         #
         # 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`.
-          "quotaConsumed": { # Map of quota group name to the actual number of tokens consumed. If the
+        &quot;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
+        &quot;quotaInfo&quot;: { # Contains the quota information for a quota check response. # Quota usage info when processing the `Operation`.
+          &quot;limitExceeded&quot;: [ # Quota Metrics that have exceeded quota limits.
+              # For QuotaGroup-based quota, this is QuotaGroup.name
+              # For QuotaLimit-based quota, this is QuotaLimit.name
+              # See: google.api.Quota
+              # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
+            &quot;A String&quot;,
+          ],
+          &quot;quotaConsumed&quot;: { # 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.
               #
-              # We are not merging this field with 'quota_metrics' field because of the
+              # We are not merging this field with &#x27;quota_metrics&#x27; 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,
+              # keep this field for Castor (that scales quota usage) and &#x27;quota_metrics&#x27;
+              # for SuperQuota (that doesn&#x27;t scale quota usage).
+            &quot;a_key&quot;: 42,
           },
-          "quotaMetrics": [ # Quota metrics to indicate the usage. Depending on the check request, one or
+          &quot;quotaMetrics&quot;: [ # Quota metrics to indicate the usage. Depending on the check request, one or
               # more of the following metrics will be included:
               #
               # 1. For rate quota, per quota group or per quota metric incremental usage
               # will be specified using the following delta metric:
-              #   "serviceruntime.googleapis.com/api/consumer/quota_used_count"
+              #   &quot;serviceruntime.googleapis.com/api/consumer/quota_used_count&quot;
               #
               # 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"
+              #   &quot;serviceruntime.googleapis.com/allocation/consumer/quota_used_count&quot;
               #
               # 3. For both rate quota and allocation quota, the quota limit reached
               # condition will be specified using the following boolean metric:
-              #   "serviceruntime.googleapis.com/quota/exceeded"
+              #   &quot;serviceruntime.googleapis.com/quota/exceeded&quot;
             { # 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.
+              &quot;metricValues&quot;: [ # 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.
+                  &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                      # applies.
+                  &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;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.
+                  &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
+                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
+                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &quot;nanos&quot;: 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.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A text string value.
+                  &quot;labels&quot;: { # The labels describing the metric value.
                       # See comments on google.api.servicecontrol.v1.Operation.labels for
                       # the overriding relationship.
                       # Note that this map must not contain monitored resource labels.
-                    "a_key": "A String",
+                    &quot;a_key&quot;: &quot;A String&quot;,
                   },
-                  "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.
+                  &quot;doubleValue&quot;: 3.14, # A double precision floating point value.
+                  &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+                  &quot;distributionValue&quot;: { # 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:
                       #
@@ -1741,46 +1754,40 @@
                       #   - 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 &gt;= 0.
-                    "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
+                    &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
+                      &quot;bounds&quot;: [ # &#x27;bound&#x27; 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&#x27;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 &#x27;bound&#x27; 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 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
+                          #  i == bound_size() (overflow)    bound[i-1]     +inf
+                        3.14,
+                      ],
+                    },
+                    &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                    &quot;sumOfSquaredDeviation&quot;: 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 &gt; 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.
-                    "exemplars": [ # Example points. Must be in increasing order of `value` field.
+                    &quot;exemplars&quot;: [ # Example points. Must be in increasing order of `value` field.
                       { # Exemplars are example points that may be used to annotate aggregated
                           # distribution values. They are metadata that gives information about a
                           # particular value added to a Distribution bucket, such as a trace ID that
                           # was active when a value was added. They may contain further information,
                           # such as a example values and timestamps, origin, etc.
-                        "timestamp": "A String", # The observation (sampling) time of the above value.
-                        "attachments": [ # Contextual information about the example value. Examples are:
+                        &quot;value&quot;: 3.14, # Value of the exemplar point. This value determines to which bucket the
+                            # exemplar belongs.
+                        &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                        &quot;attachments&quot;: [ # Contextual information about the example value. Examples are:
                             #
                             #   Trace: type.googleapis.com/google.monitoring.v3.SpanContext
                             #
@@ -1792,70 +1799,64 @@
                             # There may be only a single attachment of any given message type in a
                             # single exemplar, and this is enforced by the system.
                           {
-                            "a_key": "", # Properties of the object. Contains field @type with type URL.
+                            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                           },
                         ],
-                        "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
-                            # exemplar belongs.
                       },
                     ],
-                    "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
+                    &quot;exponentialBuckets&quot;: { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                      &quot;growthFactor&quot;: 3.14, # The i&#x27;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.
+                      &quot;scale&quot;: 3.14, # The i&#x27;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 &gt; 0.
+                      &quot;numFiniteBuckets&quot;: 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.
+                    },
+                    &quot;minimum&quot;: 3.14, # The minimum of the population of values. Ignored if `count` is zero.
+                    &quot;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                      &quot;width&quot;: 3.14, # The i&#x27;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
+                      &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                           #   [offset + (i-1) * width, offset + i * width)
                           # where i ranges from 1 to num_finite_buckets, inclusive.
+                      &quot;numFiniteBuckets&quot;: 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.
                     },
-                    "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 &lt; i &lt; 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
+                    &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                         # zero then this field must be zero.
+                    &quot;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                    &quot;bucketCounts&quot;: [ # 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.
+                      &quot;A String&quot;,
+                    ],
                   },
-                  "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.
+                  &quot;boolValue&quot;: True or False, # A boolean value.
                 },
               ],
-              "metricName": "A String", # The metric name defined in the service configuration.
+              &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
             },
           ],
-          "limitExceeded": [ # Quota Metrics that have exceeded quota limits.
-              # For QuotaGroup-based quota, this is QuotaGroup.name
-              # For QuotaLimit-based quota, this is QuotaLimit.name
-              # See: google.api.Quota
-              # Deprecated: Use quota_metrics to get per quota group limit exceeded status.
-            "A String",
-          ],
         },
-        "operationId": "A String", # The Operation.operation_id value from the request.
       },
     ],
-    "serviceConfigId": "A String", # The actual config id used to process the request.
-    "serviceRolloutId": "A String", # The current service rollout id used to process the request.
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # The actual config id used to process the request.
   }</pre>
 </div>