docs: update generated docs (#981)

diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index ca06b23..3356454 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -107,19 +107,14 @@
     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
-        # 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.
-      "labels": { # Labels describing the operation.
-        "a_key": "A String",
-      },
       "consumerId": "A String", # Identity of the consumer for whom this quota operation is being performed.
           #
           # This can be in one of the following formats:
           #   project:<project_id>,
           #   project_number:<project_number>,
           #   api_key:<api_key>.
+      "quotaMode": "A String", # Quota mode for this operation.
       "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.
@@ -139,7 +134,9 @@
           #
           # Example of an RPC method name:
           #     google.example.library.v1.LibraryService.CreateShelf
-      "quotaMode": "A String", # Quota mode for this operation.
+      "labels": { # Labels describing the operation.
+        "a_key": "A String",
+      },
       "quotaMetrics": [ # Represents information about this operation. Each MetricValueSet
           # corresponds to a metric defined in the service configuration.
           # The data type used in the MetricValueSet must agree with
@@ -155,33 +152,12 @@
         { # 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.
-          "metricName": "A String", # The metric name defined in the service configuration.
           "metricValues": [ # The values in this metric.
             { # Represents a single metric 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.
-              "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",
-              },
-              "stringValue": "A String", # A text string value.
-              "doubleValue": 3.14, # A double precision floating point value.
-              "int64Value": "A String", # A signed 64-bit integer value.
               "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:
@@ -190,10 +166,51 @@
                   #   - 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
+                "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",
+                ],
+                "count": "A String", # The total number of samples in the distribution. Must be >= 0.
                 "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
                     #   Sum[i=1..count]((x_i - mean)^2)
                     # where each x_i is a sample values. If `count` is zero then this field
                     # must be zero, otherwise validation of the request fails.
+                "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+                  "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.
+                  "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.
+                },
+                "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                  "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.
+                  "scale": 3.14, # The i'th exponential bucket covers the interval
+                      #   [scale * growth_factor^(i-1), scale * growth_factor^i)
+                      # where i ranges from 1 to num_finite_buckets inclusive.
+                      # Must be > 0.
+                  "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.
+                },
+                "minimum": 3.14, # The minimum 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
@@ -202,7 +219,6 @@
                       # such as a example values and timestamps, origin, etc.
                     "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
                         # exemplar belongs.
-                    "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
@@ -218,50 +234,11 @@
                         "a_key": "", # Properties of the object. Contains field @type with type URL.
                       },
                     ],
+                    "timestamp": "A String", # The observation (sampling) time of the above value.
                   },
                 ],
-                "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
-                  "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.
-                  "scale": 3.14, # The i'th exponential bucket covers the interval
-                      #   [scale * growth_factor^(i-1), scale * growth_factor^i)
-                      # where i ranges from 1 to num_finite_buckets inclusive.
-                      # Must be > 0.
-                  "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.
-                },
-                "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.
-                  "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.
-                  "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.
-                  "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.
-                },
                 "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
-                "count": "A String", # The total number of samples in the distribution. Must be >= 0.
-                "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",
-                ],
                 "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
@@ -281,16 +258,39 @@
                     3.14,
                   ],
                 },
-                "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
               },
-              "boolValue": True or False, # A boolean value.
+              "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.
               "endTime": "A String", # The end of the time period over which this metric value's measurement
                   # applies.
+              "boolValue": True or False, # A boolean value.
+              "int64Value": "A String", # A signed 64-bit integer 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.
+                "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+                "units": "A String", # The whole units of the amount.
+                    # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+              },
+              "stringValue": "A String", # A text string value.
             },
           ],
+          "metricName": "A String", # The metric name defined in the service configuration.
         },
       ],
     },
+    "serviceConfigId": "A String", # Specifies which version of service configuration should be used to process
+        # the request. If unspecified or no matching version can be found, the latest
+        # one will be used.
   }
 
   x__xgafv: string, V1 error format.
@@ -302,9 +302,6 @@
   An object of the form:
 
     { # Response message for the AllocateQuota method.
-    "operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
-        # logging and diagnostics purposes.
-    "serviceConfigId": "A String", # ID of the actual config used to process the request.
     "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
@@ -314,13 +311,15 @@
         "A String",
       ],
     },
+    "operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
+        # logging and diagnostics purposes.
     "allocateErrors": [ # Indicates the decision of the allocate.
       { # Represents error information for QuotaOperation.
         "subject": "A String", # Subject to whom this error applies. See the specific enum for more details
             # on this field. For example, "clientip:<ip address of client>" or
             # "project:<Google developer project id>".
-        "description": "A String", # Free-form text that provides details on the cause of the error.
         "code": "A String", # Error code.
+        "description": "A String", # Free-form text that provides details on the cause of the error.
       },
     ],
     "quotaMetrics": [ # Quota metrics to indicate the result of allocation. Depending on the
@@ -336,33 +335,12 @@
       { # 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.
-        "metricName": "A String", # The metric name defined in the service configuration.
         "metricValues": [ # The values in this metric.
           { # Represents a single metric 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.
-            "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",
-            },
-            "stringValue": "A String", # A text string value.
-            "doubleValue": 3.14, # A double precision floating point value.
-            "int64Value": "A String", # A signed 64-bit integer value.
             "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:
@@ -371,10 +349,51 @@
                 #   - 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
+              "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",
+              ],
+              "count": "A String", # The total number of samples in the distribution. Must be >= 0.
               "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
                   #   Sum[i=1..count]((x_i - mean)^2)
                   # where each x_i is a sample values. If `count` is zero then this field
                   # must be zero, otherwise validation of the request fails.
+              "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
+                "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.
+                "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.
+              },
+              "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+              "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
+                "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.
+                "scale": 3.14, # The i'th exponential bucket covers the interval
+                    #   [scale * growth_factor^(i-1), scale * growth_factor^i)
+                    # where i ranges from 1 to num_finite_buckets inclusive.
+                    # Must be > 0.
+                "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.
+              },
+              "minimum": 3.14, # The minimum 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
@@ -383,7 +402,6 @@
                     # such as a example values and timestamps, origin, etc.
                   "value": 3.14, # Value of the exemplar point. This value determines to which bucket the
                       # exemplar belongs.
-                  "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
@@ -399,50 +417,11 @@
                       "a_key": "", # Properties of the object. Contains field @type with type URL.
                     },
                   ],
+                  "timestamp": "A String", # The observation (sampling) time of the above value.
                 },
               ],
-              "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
-                "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.
-                "scale": 3.14, # The i'th exponential bucket covers the interval
-                    #   [scale * growth_factor^(i-1), scale * growth_factor^i)
-                    # where i ranges from 1 to num_finite_buckets inclusive.
-                    # Must be > 0.
-                "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.
-              },
-              "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.
-                "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.
-                "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.
-                "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.
-              },
               "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                   # zero then this field must be zero.
-              "count": "A String", # The total number of samples in the distribution. Must be >= 0.
-              "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",
-              ],
               "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
@@ -462,15 +441,36 @@
                   3.14,
                 ],
               },
-              "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
             },
-            "boolValue": True or False, # A boolean value.
+            "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.
             "endTime": "A String", # The end of the time period over which this metric value's measurement
                 # applies.
+            "boolValue": True or False, # A boolean value.
+            "int64Value": "A String", # A signed 64-bit integer 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.
+              "currencyCode": "A String", # The 3-letter currency code defined in ISO 4217.
+              "units": "A String", # The whole units of the amount.
+                  # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
+            },
+            "stringValue": "A String", # A text string value.
           },
         ],
+        "metricName": "A String", # The metric name defined in the service configuration.
       },
     ],
+    "serviceConfigId": "A String", # ID of the actual config used to process the request.
   }</pre>
 </div>
 
@@ -504,25 +504,114 @@
     The object takes the form of:
 
 { # Request message for the Check method.
-    &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 &quot;true&quot; will disable quota enforcement.
+    &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.
     &quot;operation&quot;: { # Represents information regarding an operation. # The operation to be checked.
-      &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;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
+            # nested to form a trace tree. Often, a trace contains a root span
+            # that describes the end-to-end latency, and one or more subspans for
+            # 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.
+          &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;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;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;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;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;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;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                # value is 0, then the string was not shortened.
+          },
+          &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.
+          &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.
+            &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:
+                #
+                #     &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;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                  &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;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                      # value is 0, then the string was not shortened.
+                },
+                &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+              },
+            },
+            &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.
+          },
+          &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;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.
+          &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] portion of the span&#x27;s resource name.
+          &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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+            &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;labels&quot;: { # Labels describing the operation. Only the following labels are allowed:
           #
           # - Labels describing monitored resources as defined in
@@ -541,116 +630,15 @@
           #        Kubernetes Engine.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
-      &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;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;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;logEntries&quot;: [ # Represents information to be logged.
-        { # An individual log entry.
-          &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.
-            &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).
-            &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.
-            &quot;status&quot;: 42, # The response code indicating the status of the response.
-                # Examples: 200, 404.
-          },
-          &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;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;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
-          },
-          &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;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;labels&quot;: { # A set of user-defined (key, value) data that provides additional
-              # information about the log entry.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &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`
-          &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.
-            &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
-                # available.
-            &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).
-          },
-          &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.
-          },
-          &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;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;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;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
@@ -664,33 +652,12 @@
         { # 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;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
           &quot;metricValues&quot;: [ # The values in this metric.
             { # Represents a single metric value.
               &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;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;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;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;stringValue&quot;: &quot;A String&quot;, # A text string 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:
@@ -699,10 +666,51 @@
                   #   - 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;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;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
                 &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;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                  &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;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;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;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                &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;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
@@ -711,7 +719,6 @@
                       # 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
@@ -727,50 +734,11 @@
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                       },
                     ],
+                    &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
                   },
                 ],
-                &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;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;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;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;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
@@ -790,121 +758,160 @@
                     3.14,
                   ],
                 },
-                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
               },
-              &quot;boolValue&quot;: True or False, # A boolean 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
                   # applies.
+              &quot;boolValue&quot;: True or False, # A boolean value.
+              &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+              &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                &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;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &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;stringValue&quot;: &quot;A String&quot;, # A text string value.
             },
           ],
+          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
         },
       ],
-      &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
-            # nested to form a trace tree. Often, a trace contains a root span
-            # that describes the end-to-end latency, and one or more subspans for
-            # 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.
-          &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;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;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;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;logEntries&quot;: [ # Represents information to be logged.
+        { # An individual log entry.
+          &quot;textPayload&quot;: &quot;A String&quot;, # The log entry payload, represented as a Unicode string (UTF-8).
+          &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.
+            &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).
+            &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
+                # available.
+            &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;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.
-          &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.
-            &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.
-            &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:
-                #
-                #     &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.
-                },
-                &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
-              },
-            },
+          &quot;severity&quot;: &quot;A String&quot;, # 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.
           },
-          &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.
-          &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;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;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;labels&quot;: { # A set of user-defined (key, value) data that provides additional
+              # information about the log entry.
+            &quot;a_key&quot;: &quot;A String&quot;,
           },
+          &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;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.
+            &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;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.
+            &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;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;serverIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the origin server that the request was
+                # sent to.
+            &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).
+            &quot;cacheHit&quot;: True or False, # Whether or not an entity was served from cache
+                # (with or without validation).
+            &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;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;cacheLookup&quot;: True or False, # Whether or not a cache lookup 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;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;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;status&quot;: 42, # The response code indicating the status of the response.
+                # Examples: 200, 404.
+          },
+          &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;first&quot;: True or False, # Optional. Set this to True if this is the first 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;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
+          },
+          &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;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`
+          &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;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;importance&quot;: &quot;A String&quot;, # DO NOT USE. This is an experimental field.
       &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;operationName&quot;: &quot;A String&quot;, # Fully qualified name of the operation. Reserved for future use.
+      &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;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;extensions&quot;: [ # Unimplemented.
+        {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+        },
+      ],
       &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
@@ -919,11 +926,9 @@
           #     - api`_`key:API_KEY.
     },
     &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.
+    &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 &quot;true&quot; will disable quota enforcement.
   }
 
   x__xgafv: string, V1 error format.
@@ -935,6 +940,197 @@
   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;consumerInfo&quot;: { # `ConsumerInfo` provides information about the consumer. # Consumer info of this check.
+        &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;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;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;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;quotaInfo&quot;: { # Contains the quota information for a quota check response. # Quota information for the check request associated with this response.
+      &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;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;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;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;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
+                &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;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                  &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;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;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;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                &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;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;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;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
+                  },
+                ],
+                &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;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;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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
+                  # applies.
+              &quot;boolValue&quot;: True or False, # A boolean value.
+              &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+              &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                &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;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                &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;stringValue&quot;: &quot;A String&quot;, # A text string value.
+            },
+          ],
+          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
+        },
+      ],
+      &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;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;operationId&quot;: &quot;A String&quot;, # The same operation_id value used in the CheckRequest.
         # Used for logging and diagnostics purposes.
@@ -955,10 +1151,10 @@
             #
             # 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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
           &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
               # message types for APIs to use.
             {
@@ -975,197 +1171,6 @@
         &quot;code&quot;: &quot;A String&quot;, # The error code.
       },
     ],
-    &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;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;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;serviceConfigId&quot;: &quot;A String&quot;, # The actual config id used to process the request.
-    &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;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
-          &quot;metricValues&quot;: [ # The values in this metric.
-            { # Represents a single metric value.
-              &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;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;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;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;stringValue&quot;: &quot;A String&quot;, # A text string 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:
-                  #
-                  #   - 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;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;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;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;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;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;boolValue&quot;: True or False, # A boolean value.
-              &quot;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
-                  # applies.
-            },
-          ],
-        },
-      ],
-    },
   }</pre>
 </div>
 
@@ -1209,21 +1214,108 @@
         # however the ReportRequest size should be no larger than 1MB. See
         # ReportResponse.report_errors for partial failure behavior.
       { # Represents information regarding an operation.
-        &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;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
+              # nested to form a trace tree. Often, a trace contains a root span
+              # that describes the end-to-end latency, and one or more subspans for
+              # 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.
+            &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;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;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;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;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;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;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                  # value is 0, then the string was not shortened.
+            },
+            &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.
+            &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.
+              &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:
+                  #
+                  #     &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;stringValue&quot;: { # Represents a string that might be shortened to a specified length. # A string up to 256 bytes long.
+                    &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;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
+                        # value is 0, then the string was not shortened.
+                  },
+                  &quot;intValue&quot;: &quot;A String&quot;, # A 64-bit signed integer.
+                  &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
+                },
+              },
+              &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.
+            },
+            &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;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.
+            &quot;spanId&quot;: &quot;A String&quot;, # The [SPAN_ID] portion of the span&#x27;s resource name.
+            &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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+              &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;labels&quot;: { # Labels describing the operation. Only the following labels are allowed:
             #
             # - Labels describing monitored resources as defined in
@@ -1242,116 +1334,15 @@
             #        Kubernetes Engine.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
-        &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;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;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;logEntries&quot;: [ # Represents information to be logged.
-          { # An individual log entry.
-            &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.
-              &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).
-              &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.
-              &quot;status&quot;: 42, # The response code indicating the status of the response.
-                  # Examples: 200, 404.
-            },
-            &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;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;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
-            },
-            &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;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;labels&quot;: { # A set of user-defined (key, value) data that provides additional
-                # information about the log entry.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &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`
-            &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.
-              &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
-                  # available.
-              &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).
-            },
-            &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.
-            },
-            &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;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;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;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
@@ -1365,33 +1356,12 @@
           { # 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;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
             &quot;metricValues&quot;: [ # The values in this metric.
               { # Represents a single metric value.
                 &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;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;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;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;stringValue&quot;: &quot;A String&quot;, # A text string 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:
@@ -1400,10 +1370,51 @@
                     #   - 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;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;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
                   &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;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                    &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;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;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;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                  &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;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
@@ -1412,7 +1423,6 @@
                         # 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
@@ -1428,50 +1438,11 @@
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                         },
                       ],
+                      &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
                     },
                   ],
-                  &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;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;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;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;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
@@ -1491,121 +1462,160 @@
                       3.14,
                     ],
                   },
-                  &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                 },
-                &quot;boolValue&quot;: True or False, # A boolean 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
                     # applies.
+                &quot;boolValue&quot;: True or False, # A boolean value.
+                &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+                &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                  &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;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                  &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;stringValue&quot;: &quot;A String&quot;, # A text string value.
               },
             ],
+            &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
           },
         ],
-        &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
-              # nested to form a trace tree. Often, a trace contains a root span
-              # that describes the end-to-end latency, and one or more subspans for
-              # 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.
-            &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;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;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;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;logEntries&quot;: [ # Represents information to be logged.
+          { # An individual log entry.
+            &quot;textPayload&quot;: &quot;A String&quot;, # The log entry payload, represented as a Unicode string (UTF-8).
+            &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.
+              &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).
+              &quot;line&quot;: &quot;A String&quot;, # Optional. Line within the source file. 1-based; 0 indicates no line number
+                  # available.
+              &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;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.
-            &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.
-              &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.
-              &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:
-                  #
-                  #     &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.
-                  },
-                  &quot;boolValue&quot;: True or False, # A Boolean value represented by `true` or `false`.
-                },
-              },
+            &quot;severity&quot;: &quot;A String&quot;, # 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.
             },
-            &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.
-            &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;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;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;labels&quot;: { # A set of user-defined (key, value) data that provides additional
+                # information about the log entry.
+              &quot;a_key&quot;: &quot;A String&quot;,
             },
+            &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;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.
+              &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;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.
+              &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;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;serverIp&quot;: &quot;A String&quot;, # The IP address (IPv4 or IPv6) of the origin server that the request was
+                  # sent to.
+              &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).
+              &quot;cacheHit&quot;: True or False, # Whether or not an entity was served from cache
+                  # (with or without validation).
+              &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;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;cacheLookup&quot;: True or False, # Whether or not a cache lookup 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;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;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;status&quot;: 42, # The response code indicating the status of the response.
+                  # Examples: 200, 404.
+            },
+            &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;first&quot;: True or False, # Optional. Set this to True if this is the first 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;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
+            },
+            &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;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`
+            &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;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;importance&quot;: &quot;A String&quot;, # DO NOT USE. This is an experimental field.
         &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;operationName&quot;: &quot;A String&quot;, # Fully qualified name of the operation. Reserved for future use.
+        &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;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;extensions&quot;: [ # Unimplemented.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
         &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
@@ -1636,7 +1646,6 @@
   An object of the form:
 
     { # Response message for the Report method.
-    &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
@@ -1646,25 +1655,7 @@
         #
         # If there is no quota release request, report_quota_info will be empty.
       { # Contains additional info about the report operation.
-        &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 &#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:
               #
@@ -1682,33 +1673,12 @@
             { # 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;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
               &quot;metricValues&quot;: [ # The values in this metric.
                 { # Represents a single metric value.
                   &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;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;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;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;stringValue&quot;: &quot;A String&quot;, # A text string 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:
@@ -1717,10 +1687,51 @@
                       #   - 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;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;count&quot;: &quot;A String&quot;, # The total number of samples in the distribution. Must be &gt;= 0.
                     &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;linearBuckets&quot;: { # Describing buckets with constant width. # Buckets with constant width.
+                      &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;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;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;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
+                    &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;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
@@ -1729,7 +1740,6 @@
                           # 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
@@ -1745,50 +1755,11 @@
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                           },
                         ],
+                        &quot;timestamp&quot;: &quot;A String&quot;, # The observation (sampling) time of the above value.
                       },
                     ],
-                    &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;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;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;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;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
@@ -1808,19 +1779,57 @@
                         3.14,
                       ],
                     },
-                    &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                   },
-                  &quot;boolValue&quot;: True or False, # A boolean 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
                       # applies.
+                  &quot;boolValue&quot;: True or False, # A boolean value.
+                  &quot;int64Value&quot;: &quot;A String&quot;, # A signed 64-bit integer value.
+                  &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
+                    &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;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
+                    &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;stringValue&quot;: &quot;A String&quot;, # A text string value.
                 },
               ],
+              &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
             },
           ],
+          &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;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
       },
     ],
-    &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;reportErrors&quot;: [ # Partial failures, one for each `Operation` in the request that failed
         # processing. There are three possible combinations of the RPC status:
         #
@@ -1836,7 +1845,6 @@
         #    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.
-        &quot;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
         &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
@@ -1844,10 +1852,10 @@
             #
             # 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;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;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
           &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
               # message types for APIs to use.
             {
@@ -1855,8 +1863,10 @@
             },
           ],
         },
+        &quot;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
       },
     ],
+    &quot;serviceConfigId&quot;: &quot;A String&quot;, # The actual config id used to process the request.
   }</pre>
 </div>