docs: update docs (#916)

* fix: re-run script

* test: fix noxfile
diff --git a/docs/dyn/servicecontrol_v1.services.html b/docs/dyn/servicecontrol_v1.services.html
index cdf7c8b..ca06b23 100644
--- a/docs/dyn/servicecontrol_v1.services.html
+++ b/docs/dyn/servicecontrol_v1.services.html
@@ -111,6 +111,35 @@
         # 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>.
+      "operationId": "A String", # Identity of the operation. This is expected to be unique within the scope
+          # of the service that generated the operation, and guarantees idempotency in
+          # case of retries.
+          #
+          # In order to ensure best performance and latency in the Quota backends,
+          # operation_ids are optimally associated with time, so that related
+          # operations can be accessed fast in storage. For this reason, the
+          # recommended token for services that intend to operate at a high QPS is
+          # Unix time in nanos + UUID
+      "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
+          # requested. This name is used for matching quota rules or metric rules and
+          # billing status rules defined in service configuration.
+          #
+          # This field should not be set if any of the following is true:
+          # (1) the quota operation is performed on non-API resources.
+          # (2) quota_metrics is set because the caller is doing quota override.
+          #
+          # Example of an RPC method name:
+          #     google.example.library.v1.LibraryService.CreateShelf
+      "quotaMode": "A String", # Quota mode for this operation.
       "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
@@ -126,32 +155,31 @@
         { # 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.
-              "endTime": "A String", # The end of the time period over which this metric value's measurement
-                  # applies.
               "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.
-                "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.
                 "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.
               },
-              "stringValue": "A String", # A text string 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",
               },
+              "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.
@@ -162,26 +190,6 @@
                   #   - 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
-                "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                  "bounds": [ # 'bound' is a list of strictly increasing boundaries between
-                      # buckets. Note that a list of length N-1 defines N buckets because
-                      # of fenceposting. See comments on `bucket_options` for details.
-                      #
-                      # The i'th finite bucket covers the interval
-                      #   [bound[i-1], bound[i])
-                      # where i ranges from 1 to bound_size() - 1. Note that there are no
-                      # finite buckets at all if 'bound' only contains a single element; in
-                      # that special case the single bound defines the boundary between the
-                      # underflow and overflow buckets.
-                      #
-                      # bucket number                   lower bound    upper bound
-                      #  i == 0 (underflow)              -inf           bound[i]
-                      #  0 < i < bound_size()            bound[i-1]     bound[i]
-                      #  i == bound_size() (overflow)    bound[i-1]     +inf
-                    3.14,
-                  ],
-                },
-                "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                 "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
                     #   Sum[i=1..count]((x_i - mean)^2)
                     # where each x_i is a sample values. If `count` is zero then this field
@@ -227,6 +235,9 @@
                 },
                 "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.
@@ -234,9 +245,6 @@
                   "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.
-                  "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.
                 },
                 "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
@@ -254,42 +262,34 @@
                     # 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
+                      # of fenceposting. See comments on `bucket_options` for details.
+                      #
+                      # The i'th finite bucket covers the interval
+                      #   [bound[i-1], bound[i])
+                      # where i ranges from 1 to bound_size() - 1. Note that there are no
+                      # finite buckets at all if 'bound' only contains a single element; in
+                      # that special case the single bound defines the boundary between the
+                      # underflow and overflow buckets.
+                      #
+                      # bucket number                   lower bound    upper bound
+                      #  i == 0 (underflow)              -inf           bound[i]
+                      #  0 < i < bound_size()            bound[i-1]     bound[i]
+                      #  i == bound_size() (overflow)    bound[i-1]     +inf
+                    3.14,
+                  ],
+                },
+                "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
               },
               "boolValue": True or False, # A boolean value.
+              "endTime": "A String", # The end of the time period over which this metric value's measurement
+                  # applies.
             },
           ],
-          "metricName": "A String", # The metric name defined in the service configuration.
         },
       ],
-      "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>.
-      "operationId": "A String", # Identity of the operation. This is expected to be unique within the scope
-          # of the service that generated the operation, and guarantees idempotency in
-          # case of retries.
-          #
-          # In order to ensure best performance and latency in the Quota backends,
-          # operation_ids are optimally associated with time, so that related
-          # operations can be accessed fast in storage. For this reason, the
-          # recommended token for services that intend to operate at a high QPS is
-          # Unix time in nanos + UUID
-      "methodName": "A String", # Fully qualified name of the API method for which this quota operation is
-          # requested. This name is used for matching quota rules or metric rules and
-          # billing status rules defined in service configuration.
-          #
-          # This field should not be set if any of the following is true:
-          # (1) the quota operation is performed on non-API resources.
-          # (2) quota_metrics is set because the caller is doing quota override.
-          #
-          # Example of an RPC method name:
-          #     google.example.library.v1.LibraryService.CreateShelf
-      "quotaMode": "A String", # Quota mode for this operation.
     },
   }
 
@@ -302,6 +302,8 @@
   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
@@ -334,32 +336,31 @@
       { # 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.
-            "endTime": "A String", # The end of the time period over which this metric value's measurement
-                # applies.
             "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.
-              "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.
               "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.
             },
-            "stringValue": "A String", # A text string 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",
             },
+            "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.
@@ -370,26 +371,6 @@
                 #   - 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
-              "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                "bounds": [ # 'bound' is a list of strictly increasing boundaries between
-                    # buckets. Note that a list of length N-1 defines N buckets because
-                    # of fenceposting. See comments on `bucket_options` for details.
-                    #
-                    # The i'th finite bucket covers the interval
-                    #   [bound[i-1], bound[i])
-                    # where i ranges from 1 to bound_size() - 1. Note that there are no
-                    # finite buckets at all if 'bound' only contains a single element; in
-                    # that special case the single bound defines the boundary between the
-                    # underflow and overflow buckets.
-                    #
-                    # bucket number                   lower bound    upper bound
-                    #  i == 0 (underflow)              -inf           bound[i]
-                    #  0 < i < bound_size()            bound[i-1]     bound[i]
-                    #  i == bound_size() (overflow)    bound[i-1]     +inf
-                  3.14,
-                ],
-              },
-              "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
               "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
                   #   Sum[i=1..count]((x_i - mean)^2)
                   # where each x_i is a sample values. If `count` is zero then this field
@@ -435,6 +416,9 @@
               },
               "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.
@@ -442,9 +426,6 @@
                 "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.
-                "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.
               },
               "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                   # zero then this field must be zero.
@@ -462,15 +443,34 @@
                   # 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
+                    # of fenceposting. See comments on `bucket_options` for details.
+                    #
+                    # The i'th finite bucket covers the interval
+                    #   [bound[i-1], bound[i])
+                    # where i ranges from 1 to bound_size() - 1. Note that there are no
+                    # finite buckets at all if 'bound' only contains a single element; in
+                    # that special case the single bound defines the boundary between the
+                    # underflow and overflow buckets.
+                    #
+                    # bucket number                   lower bound    upper bound
+                    #  i == 0 (underflow)              -inf           bound[i]
+                    #  0 < i < bound_size()            bound[i-1]     bound[i]
+                    #  i == bound_size() (overflow)    bound[i-1]     +inf
+                  3.14,
+                ],
+              },
+              "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
             },
             "boolValue": True or False, # A boolean value.
+            "endTime": "A String", # The end of the time period over which this metric value's measurement
+                # applies.
           },
         ],
-        "metricName": "A String", # The metric name defined in the service configuration.
       },
     ],
-    "operationId": "A String", # The same operation_id value used in the AllocateQuotaRequest. Used for
-        # logging and diagnostics purposes.
   }</pre>
 </div>
 
@@ -508,124 +508,6 @@
         # Default behavior is to perform the check and apply relevant quota.
         # WARNING: Setting this flag to &quot;true&quot; will disable quota enforcement.
     &quot;operation&quot;: { # Represents information regarding an operation. # The operation to be checked.
-      &quot;traceSpans&quot;: [ # Unimplemented. A list of Cloud Trace spans. The span names shall contain
-          # the id of the destination project which can be either the produce or the
-          # consumer project.
-        { # A span represents a single operation within a trace. Spans can be
-            # 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;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;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;startTime&quot;: &quot;A String&quot;, # The start time of the span. On the client side, this is the time kept by
-              # the local machine where the span execution starts. On the server side, this
-              # is the time when the server&#x27;s application handler starts running.
-          &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
-              # two spans with the same name may be distinguished using `CLIENT` (caller)
-              # and `SERVER` (callee) to identify an RPC call.
-          &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # A description of the span&#x27;s operation (up to 128 bytes).
-              # Stackdriver Trace displays the description in the
-              # Google Cloud Platform Console.
-              # For example, the display name can be a qualified method name or a file name
-              # and a line number where the operation is called. A best practice is to use
-              # the same display name within an application and at the same call point.
-              # This makes it easier to correlate spans in different traces.
-            &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
-                # value is 0, then the string was not shortened.
-            &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
-                # bytes long and the limit of the string is 128 bytes, then
-                # `value` contains the first 128 bytes of the 500-byte string.
-                #
-                # Truncation always happens on a UTF8 character boundary. If there
-                # are multi-byte characters in the string, then the length of the
-                # shortened string might be less than the size limit.
-          },
-          &quot;childSpanCount&quot;: 42, # An optional number of child spans that were generated while this span
-              # was active. If set, allows implementation to detect missing child spans.
-          &quot;sameProcessAsParentSpan&quot;: True or False, # (Optional) Set this parameter to indicate whether this span is in
-              # the same process as its parent. If you do not set this parameter,
-              # Stackdriver Trace is unable to take advantage of this helpful
-              # information.
-          &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
-              # different programming environments, including REST APIs and RPC APIs. It is
-              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-              # three pieces of data: error code, error message, and error details.
-              #
-              # You can find out more about this error model and how to work with it in the
-              # [API Design Guide](https://cloud.google.com/apis/design/errors).
-            &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-                # message types for APIs to use.
-              {
-                &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-              },
-            ],
-            &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-            &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-                # user-facing error message should be localized and sent in the
-                # google.rpc.Status.details field, or localized by the client.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # The resource name of the span in the following format:
-              #
-              #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
-              # it is a 32-character hexadecimal encoding of a 16-byte array.
-              #
-              # [SPAN_ID] is a unique identifier for a span within a trace; it
-              # is a 16-character hexadecimal encoding of an 8-byte array.
-        },
-      ],
-      &quot;quotaProperties&quot;: { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
-          # operation is for a quota check request. If this is not specified, no quota
-          # check will be performed.
-        &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
-      },
-      &quot;consumerId&quot;: &quot;A String&quot;, # Identity of the consumer who is using the service.
-          # This field should be filled in for the operations initiated by a
-          # consumer, but not for service-initiated operations that are
-          # not related to a specific consumer.
-          #
-          # - This can be in one of the following formats:
-          #     - project:PROJECT_ID,
-          #     - project`_`number:PROJECT_NUMBER,
-          #     - projects/PROJECT_ID or PROJECT_NUMBER,
-          #     - folders/FOLDER_NUMBER,
-          #     - organizations/ORGANIZATION_NUMBER,
-          #     - api`_`key:API_KEY.
       &quot;operationId&quot;: &quot;A String&quot;, # Identity of the operation. This must be unique within the scope of the
           # service that generated the operation. If the service calls
           # Check() and Report() on the same operation, the two calls should carry
@@ -662,25 +544,26 @@
       &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;resourceName&quot;: &quot;A String&quot;, # Name of the resource. This is used for auditing purposes.
-          &quot;resourceLocation&quot;: &quot;A String&quot;, # The location of the resource. If not empty, the resource will be checked
-              # against location policy. The value must be a valid zone, region or
-              # multiregion. For example: &quot;europe-west4&quot; or &quot;northamerica-northeast1-a&quot;
         },
       ],
       &quot;logEntries&quot;: [ # Represents information to be logged.
         { # An individual log entry.
-          &quot;timestamp&quot;: &quot;A String&quot;, # The time the event described by the log entry occurred. If
-              # omitted, defaults to operation start time.
           &quot;httpRequest&quot;: { # A common proto for logging HTTP requests. Only contains semantics # Optional. Information about the HTTP request associated with this
               # log entry, if applicable.
               # defined by the HTTP specification. Product-specific logging
               # information MUST be defined in a separate message.
+            &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:
@@ -709,44 +592,43 @@
                 # True.
             &quot;status&quot;: 42, # The response code indicating the status of the response.
                 # Examples: 200, 404.
-            &quot;referer&quot;: &quot;A String&quot;, # The referer URL of the request, as defined in
-                # [HTTP/1.1 Header Field
-                # Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
           },
-          &quot;name&quot;: &quot;A String&quot;, # Required. The log to which this log entry belongs. Examples: `&quot;syslog&quot;`,
-              # `&quot;book_log&quot;`.
-          &quot;insertId&quot;: &quot;A String&quot;, # A unique ID for the log entry used for deduplication. If omitted,
-              # the implementation will generate one based on operation_id.
           &quot;operation&quot;: { # Additional information about a potentially long-running operation with which # Optional. Information about an operation associated with the log entry, if
               # applicable.
               # a log entry is associated.
-            &quot;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
             &quot;id&quot;: &quot;A String&quot;, # Optional. An arbitrary operation identifier. Log entries with the
                 # same identifier are assumed to be part of the same operation.
             &quot;producer&quot;: &quot;A String&quot;, # Optional. An arbitrary producer identifier. The combination of
                 # `id` and `producer` must be globally unique.  Examples for `producer`:
                 # `&quot;MyDivision.MyBigCompany.com&quot;`, `&quot;github.com/MyProject/MyApplication&quot;`.
             &quot;first&quot;: True or False, # Optional. Set this to True if this is the first log entry in the operation.
+            &quot;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;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;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
@@ -755,13 +637,13 @@
                 # 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;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
@@ -782,32 +664,31 @@
         { # 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
-                  # applies.
               &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;s measurement
                   # applies. The time period has different semantics for different metric
                   # types (cumulative, delta, and gauge). See the metric definition
                   # documentation in the service configuration for details.
               &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
                 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                     # The value must be between -999,999,999 and +999,999,999 inclusive.
                     # If `units` is positive, `nanos` must be positive or zero.
                     # If `units` is zero, `nanos` can be positive, zero, or negative.
                     # If `units` is negative, `nanos` must be negative or zero.
                     # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;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;stringValue&quot;: &quot;A String&quot;, # A text string value.
               &quot;labels&quot;: { # The labels describing the metric value.
                   # See comments on google.api.servicecontrol.v1.Operation.labels for
                   # the overriding relationship.
                   # Note that this map must not contain monitored resource labels.
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
+              &quot;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.
@@ -818,26 +699,6 @@
                   #   - the minimum and maximum of the samples
                   #   - the sum-squared-deviation of the samples, used to compute variance
                   #   - a histogram of the values of the sample points
-                &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                  &quot;bounds&quot;: [ # &#x27;bound&#x27; is a list of strictly increasing boundaries between
-                      # buckets. Note that a list of length N-1 defines N buckets because
-                      # of fenceposting. See comments on `bucket_options` for details.
-                      #
-                      # The i&#x27;th finite bucket covers the interval
-                      #   [bound[i-1], bound[i])
-                      # where i ranges from 1 to bound_size() - 1. Note that there are no
-                      # finite buckets at all if &#x27;bound&#x27; only contains a single element; in
-                      # that special case the single bound defines the boundary between the
-                      # underflow and overflow buckets.
-                      #
-                      # bucket number                   lower bound    upper bound
-                      #  i == 0 (underflow)              -inf           bound[i]
-                      #  0 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                      #  i == bound_size() (overflow)    bound[i-1]     +inf
-                    3.14,
-                  ],
-                },
-                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                 &quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean:
                     #   Sum[i=1..count]((x_i - mean)^2)
                     # where each x_i is a sample values. If `count` is zero then this field
@@ -883,6 +744,9 @@
                 },
                 &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.
@@ -890,9 +754,6 @@
                   &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                       #   [offset + (i-1) * width, offset + i * width)
                       # where i ranges from 1 to num_finite_buckets, inclusive.
-                  &quot;numFiniteBuckets&quot;: 42, # The number of finite buckets. With the underflow and overflow buckets,
-                      # the total number of buckets is `num_finite_buckets` + 2.
-                      # See comments on `bucket_options` for details.
                 },
                 &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
@@ -910,13 +771,152 @@
                     # 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.
             },
           ],
-          &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;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;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;quotaProperties&quot;: { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
+          # operation is for a quota check request. If this is not specified, no quota
+          # check will be performed.
+        &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
+      },
+      &quot;consumerId&quot;: &quot;A String&quot;, # Identity of the consumer who is using the service.
+          # This field should be filled in for the operations initiated by a
+          # consumer, but not for service-initiated operations that are
+          # not related to a specific consumer.
+          #
+          # - This can be in one of the following formats:
+          #     - project:PROJECT_ID,
+          #     - project`_`number:PROJECT_NUMBER,
+          #     - projects/PROJECT_ID or PROJECT_NUMBER,
+          #     - folders/FOLDER_NUMBER,
+          #     - organizations/ORGANIZATION_NUMBER,
+          #     - api`_`key:API_KEY.
     },
     &quot;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
@@ -935,6 +935,46 @@
   An object of the form:
 
     { # Response message for the Check method.
+    &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.
+    &quot;checkErrors&quot;: [ # Indicate the decision of the check.
+        #
+        # If no check errors are present, the service should process the operation.
+        # Otherwise the service should use the list of errors to determine the
+        # appropriate action.
+      { # Defines the errors to be returned in
+          # google.api.servicecontrol.v1.CheckResponse.check_errors.
+        &quot;detail&quot;: &quot;A String&quot;, # Free-form text providing details on the error cause of the error.
+        &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # Contains public information about the check error. If available,
+            # `status.code` will be non zero and client can propagate it out as public
+            # error.
+            # different programming environments, including REST APIs and RPC APIs. It is
+            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+            # three pieces of data: error code, error message, and error details.
+            #
+            # You can find out more about this error model and how to work with it in the
+            # [API Design Guide](https://cloud.google.com/apis/design/errors).
+          &quot;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;subject&quot;: &quot;A String&quot;, # Subject to whom this error applies. See the specific code enum for more
+            # details on this field. For example:
+            #
+            # - &quot;project:&lt;project-id or project-number&gt;&quot;
+            # - &quot;folder:&lt;folder-id&gt;&quot;
+            # - &quot;organization:&lt;organization-id&gt;&quot;
+        &quot;code&quot;: &quot;A String&quot;, # The error code.
+      },
+    ],
     &quot;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
@@ -942,9 +982,6 @@
         &quot;A String&quot;,
       ],
       &quot;consumerInfo&quot;: { # `ConsumerInfo` provides information about the consumer. # Consumer info of this check.
-        &quot;consumerNumber&quot;: &quot;A String&quot;, # The consumer identity number, can be Google cloud project number, folder
-            # number or organization number e.g. 1234567890. A value of 0 indicates no
-            # consumer number is found.
         &quot;type&quot;: &quot;A String&quot;, # The type of the consumer which should have been defined in
             # [Google Resource Manager](https://cloud.google.com/resource-manager/).
         &quot;projectNumber&quot;: &quot;A String&quot;, # The Google cloud project number, e.g. 1234567890. A value of 0 indicates
@@ -952,8 +989,12 @@
             #
             # 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
@@ -989,32 +1030,31 @@
         { # 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
-                  # applies.
               &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;s measurement
                   # applies. The time period has different semantics for different metric
                   # types (cumulative, delta, and gauge). See the metric definition
                   # documentation in the service configuration for details.
               &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
-                &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                    # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
                 &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                     # The value must be between -999,999,999 and +999,999,999 inclusive.
                     # If `units` is positive, `nanos` must be positive or zero.
                     # If `units` is zero, `nanos` can be positive, zero, or negative.
                     # If `units` is negative, `nanos` must be negative or zero.
                     # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                &quot;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;stringValue&quot;: &quot;A String&quot;, # A text string value.
               &quot;labels&quot;: { # The labels describing the metric value.
                   # See comments on google.api.servicecontrol.v1.Operation.labels for
                   # the overriding relationship.
                   # Note that this map must not contain monitored resource labels.
                 &quot;a_key&quot;: &quot;A String&quot;,
               },
+              &quot;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.
@@ -1025,26 +1065,6 @@
                   #   - the minimum and maximum of the samples
                   #   - the sum-squared-deviation of the samples, used to compute variance
                   #   - a histogram of the values of the sample points
-                &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                  &quot;bounds&quot;: [ # &#x27;bound&#x27; is a list of strictly increasing boundaries between
-                      # buckets. Note that a list of length N-1 defines N buckets because
-                      # of fenceposting. See comments on `bucket_options` for details.
-                      #
-                      # The i&#x27;th finite bucket covers the interval
-                      #   [bound[i-1], bound[i])
-                      # where i ranges from 1 to bound_size() - 1. Note that there are no
-                      # finite buckets at all if &#x27;bound&#x27; only contains a single element; in
-                      # that special case the single bound defines the boundary between the
-                      # underflow and overflow buckets.
-                      #
-                      # bucket number                   lower bound    upper bound
-                      #  i == 0 (underflow)              -inf           bound[i]
-                      #  0 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                      #  i == bound_size() (overflow)    bound[i-1]     +inf
-                    3.14,
-                  ],
-                },
-                &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                 &quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean:
                     #   Sum[i=1..count]((x_i - mean)^2)
                     # where each x_i is a sample values. If `count` is zero then this field
@@ -1090,6 +1110,9 @@
                 },
                 &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.
@@ -1097,9 +1120,6 @@
                   &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                       #   [offset + (i-1) * width, offset + i * width)
                       # where i ranges from 1 to num_finite_buckets, inclusive.
-                  &quot;numFiniteBuckets&quot;: 42, # The number of finite buckets. With the underflow and overflow buckets,
-                      # the total number of buckets is `num_finite_buckets` + 2.
-                      # See comments on `bucket_options` for details.
                 },
                 &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                     # zero then this field must be zero.
@@ -1117,55 +1137,35 @@
                     # 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.
             },
           ],
-          &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
         },
       ],
     },
-    &quot;serviceConfigId&quot;: &quot;A String&quot;, # The actual config id used to process the request.
-    &quot;serviceRolloutId&quot;: &quot;A String&quot;, # The current service rollout id used to process the request.
-    &quot;checkErrors&quot;: [ # Indicate the decision of the check.
-        #
-        # If no check errors are present, the service should process the operation.
-        # Otherwise the service should use the list of errors to determine the
-        # appropriate action.
-      { # Defines the errors to be returned in
-          # google.api.servicecontrol.v1.CheckResponse.check_errors.
-        &quot;detail&quot;: &quot;A String&quot;, # Free-form text providing details on the error cause of the error.
-        &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # Contains public information about the check error. If available,
-            # `status.code` will be non zero and client can propagate it out as public
-            # error.
-            # different programming environments, including REST APIs and RPC APIs. It is
-            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-            # three pieces of data: error code, error message, and error details.
-            #
-            # You can find out more about this error model and how to work with it in the
-            # [API Design Guide](https://cloud.google.com/apis/design/errors).
-          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-              # message types for APIs to use.
-            {
-              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-            },
-          ],
-          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-              # user-facing error message should be localized and sent in the
-              # google.rpc.Status.details field, or localized by the client.
-        },
-        &quot;subject&quot;: &quot;A String&quot;, # Subject to whom this error applies. See the specific code enum for more
-            # details on this field. For example:
-            #
-            # - &quot;project:&lt;project-id or project-number&gt;&quot;
-            # - &quot;folder:&lt;folder-id&gt;&quot;
-            # - &quot;organization:&lt;organization-id&gt;&quot;
-        &quot;code&quot;: &quot;A String&quot;, # The error code.
-      },
-    ],
-    &quot;operationId&quot;: &quot;A String&quot;, # The same operation_id value used in the CheckRequest.
-        # Used for logging and diagnostics purposes.
   }</pre>
 </div>
 
@@ -1209,124 +1209,6 @@
         # however the ReportRequest size should be no larger than 1MB. See
         # ReportResponse.report_errors for partial failure behavior.
       { # Represents information regarding an operation.
-        &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;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;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;startTime&quot;: &quot;A String&quot;, # The start time of the span. On the client side, this is the time kept by
-                # the local machine where the span execution starts. On the server side, this
-                # is the time when the server&#x27;s application handler starts running.
-            &quot;spanKind&quot;: &quot;A String&quot;, # Distinguishes between spans generated in a particular context. For example,
-                # two spans with the same name may be distinguished using `CLIENT` (caller)
-                # and `SERVER` (callee) to identify an RPC call.
-            &quot;displayName&quot;: { # Represents a string that might be shortened to a specified length. # A description of the span&#x27;s operation (up to 128 bytes).
-                # Stackdriver Trace displays the description in the
-                # Google Cloud Platform Console.
-                # For example, the display name can be a qualified method name or a file name
-                # and a line number where the operation is called. A best practice is to use
-                # the same display name within an application and at the same call point.
-                # This makes it easier to correlate spans in different traces.
-              &quot;truncatedByteCount&quot;: 42, # The number of bytes removed from the original string. If this
-                  # value is 0, then the string was not shortened.
-              &quot;value&quot;: &quot;A String&quot;, # The shortened string. For example, if the original string is 500
-                  # bytes long and the limit of the string is 128 bytes, then
-                  # `value` contains the first 128 bytes of the 500-byte string.
-                  #
-                  # Truncation always happens on a UTF8 character boundary. If there
-                  # are multi-byte characters in the string, then the length of the
-                  # shortened string might be less than the size limit.
-            },
-            &quot;childSpanCount&quot;: 42, # An optional number of child spans that were generated while this span
-                # was active. If set, allows implementation to detect missing child spans.
-            &quot;sameProcessAsParentSpan&quot;: True or False, # (Optional) Set this parameter to indicate whether this span is in
-                # the same process as its parent. If you do not set this parameter,
-                # Stackdriver Trace is unable to take advantage of this helpful
-                # information.
-            &quot;status&quot;: { # The `Status` type defines a logical error model that is suitable for # An optional final status for this span.
-                # different programming environments, including REST APIs and RPC APIs. It is
-                # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-                # three pieces of data: error code, error message, and error details.
-                #
-                # You can find out more about this error model and how to work with it in the
-                # [API Design Guide](https://cloud.google.com/apis/design/errors).
-              &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-                  # message types for APIs to use.
-                {
-                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-                },
-              ],
-              &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-              &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-                  # user-facing error message should be localized and sent in the
-                  # google.rpc.Status.details field, or localized by the client.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # The resource name of the span in the following format:
-                #
-                #     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique identifier for a trace within a project;
-                # it is a 32-character hexadecimal encoding of a 16-byte array.
-                #
-                # [SPAN_ID] is a unique identifier for a span within a trace; it
-                # is a 16-character hexadecimal encoding of an 8-byte array.
-          },
-        ],
-        &quot;quotaProperties&quot;: { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
-            # operation is for a quota check request. If this is not specified, no quota
-            # check will be performed.
-          &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
-        },
-        &quot;consumerId&quot;: &quot;A String&quot;, # Identity of the consumer who is using the service.
-            # This field should be filled in for the operations initiated by a
-            # consumer, but not for service-initiated operations that are
-            # not related to a specific consumer.
-            #
-            # - This can be in one of the following formats:
-            #     - project:PROJECT_ID,
-            #     - project`_`number:PROJECT_NUMBER,
-            #     - projects/PROJECT_ID or PROJECT_NUMBER,
-            #     - folders/FOLDER_NUMBER,
-            #     - organizations/ORGANIZATION_NUMBER,
-            #     - api`_`key:API_KEY.
         &quot;operationId&quot;: &quot;A String&quot;, # Identity of the operation. This must be unique within the scope of the
             # service that generated the operation. If the service calls
             # Check() and Report() on the same operation, the two calls should carry
@@ -1363,25 +1245,26 @@
         &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;resourceName&quot;: &quot;A String&quot;, # Name of the resource. This is used for auditing purposes.
-            &quot;resourceLocation&quot;: &quot;A String&quot;, # The location of the resource. If not empty, the resource will be checked
-                # against location policy. The value must be a valid zone, region or
-                # multiregion. For example: &quot;europe-west4&quot; or &quot;northamerica-northeast1-a&quot;
           },
         ],
         &quot;logEntries&quot;: [ # Represents information to be logged.
           { # An individual log entry.
-            &quot;timestamp&quot;: &quot;A String&quot;, # The time the event described by the log entry occurred. If
-                # omitted, defaults to operation start time.
             &quot;httpRequest&quot;: { # A common proto for logging HTTP requests. Only contains semantics # Optional. Information about the HTTP request associated with this
                 # log entry, if applicable.
                 # defined by the HTTP specification. Product-specific logging
                 # information MUST be defined in a separate message.
+              &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:
@@ -1410,44 +1293,43 @@
                   # True.
               &quot;status&quot;: 42, # The response code indicating the status of the response.
                   # Examples: 200, 404.
-              &quot;referer&quot;: &quot;A String&quot;, # The referer URL of the request, as defined in
-                  # [HTTP/1.1 Header Field
-                  # Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
             },
-            &quot;name&quot;: &quot;A String&quot;, # Required. The log to which this log entry belongs. Examples: `&quot;syslog&quot;`,
-                # `&quot;book_log&quot;`.
-            &quot;insertId&quot;: &quot;A String&quot;, # A unique ID for the log entry used for deduplication. If omitted,
-                # the implementation will generate one based on operation_id.
             &quot;operation&quot;: { # Additional information about a potentially long-running operation with which # Optional. Information about an operation associated with the log entry, if
                 # applicable.
                 # a log entry is associated.
-              &quot;last&quot;: True or False, # Optional. Set this to True if this is the last log entry in the operation.
               &quot;id&quot;: &quot;A String&quot;, # Optional. An arbitrary operation identifier. Log entries with the
                   # same identifier are assumed to be part of the same operation.
               &quot;producer&quot;: &quot;A String&quot;, # Optional. An arbitrary producer identifier. The combination of
                   # `id` and `producer` must be globally unique.  Examples for `producer`:
                   # `&quot;MyDivision.MyBigCompany.com&quot;`, `&quot;github.com/MyProject/MyApplication&quot;`.
               &quot;first&quot;: True or False, # Optional. Set this to True if this is the first log entry in the operation.
+              &quot;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;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;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
@@ -1456,13 +1338,13 @@
                   # 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;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
@@ -1483,32 +1365,31 @@
           { # 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
-                    # applies.
                 &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;s measurement
                     # applies. The time period has different semantics for different metric
                     # types (cumulative, delta, and gauge). See the metric definition
                     # documentation in the service configuration for details.
                 &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
-                  &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                      # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                  &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
                   &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                       # The value must be between -999,999,999 and +999,999,999 inclusive.
                       # If `units` is positive, `nanos` must be positive or zero.
                       # If `units` is zero, `nanos` can be positive, zero, or negative.
                       # If `units` is negative, `nanos` must be negative or zero.
                       # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                  &quot;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;stringValue&quot;: &quot;A String&quot;, # A text string value.
                 &quot;labels&quot;: { # The labels describing the metric value.
                     # See comments on google.api.servicecontrol.v1.Operation.labels for
                     # the overriding relationship.
                     # Note that this map must not contain monitored resource labels.
                   &quot;a_key&quot;: &quot;A String&quot;,
                 },
+                &quot;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.
@@ -1519,26 +1400,6 @@
                     #   - the minimum and maximum of the samples
                     #   - the sum-squared-deviation of the samples, used to compute variance
                     #   - a histogram of the values of the sample points
-                  &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                    &quot;bounds&quot;: [ # &#x27;bound&#x27; is a list of strictly increasing boundaries between
-                        # buckets. Note that a list of length N-1 defines N buckets because
-                        # of fenceposting. See comments on `bucket_options` for details.
-                        #
-                        # The i&#x27;th finite bucket covers the interval
-                        #   [bound[i-1], bound[i])
-                        # where i ranges from 1 to bound_size() - 1. Note that there are no
-                        # finite buckets at all if &#x27;bound&#x27; only contains a single element; in
-                        # that special case the single bound defines the boundary between the
-                        # underflow and overflow buckets.
-                        #
-                        # bucket number                   lower bound    upper bound
-                        #  i == 0 (underflow)              -inf           bound[i]
-                        #  0 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                        #  i == bound_size() (overflow)    bound[i-1]     +inf
-                      3.14,
-                    ],
-                  },
-                  &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                   &quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean:
                       #   Sum[i=1..count]((x_i - mean)^2)
                       # where each x_i is a sample values. If `count` is zero then this field
@@ -1584,6 +1445,9 @@
                   },
                   &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.
@@ -1591,9 +1455,6 @@
                     &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                         #   [offset + (i-1) * width, offset + i * width)
                         # where i ranges from 1 to num_finite_buckets, inclusive.
-                    &quot;numFiniteBuckets&quot;: 42, # The number of finite buckets. With the underflow and overflow buckets,
-                        # the total number of buckets is `num_finite_buckets` + 2.
-                        # See comments on `bucket_options` for details.
                   },
                   &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                       # zero then this field must be zero.
@@ -1611,13 +1472,152 @@
                       # 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.
               },
             ],
-            &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;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;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;quotaProperties&quot;: { # Represents the properties needed for quota operations. # Represents the properties needed for quota check. Applicable only if this
+            # operation is for a quota check request. If this is not specified, no quota
+            # check will be performed.
+          &quot;quotaMode&quot;: &quot;A String&quot;, # Quota mode for this operation.
+        },
+        &quot;consumerId&quot;: &quot;A String&quot;, # Identity of the consumer who is using the service.
+            # This field should be filled in for the operations initiated by a
+            # consumer, but not for service-initiated operations that are
+            # not related to a specific consumer.
+            #
+            # - This can be in one of the following formats:
+            #     - project:PROJECT_ID,
+            #     - project`_`number:PROJECT_NUMBER,
+            #     - projects/PROJECT_ID or PROJECT_NUMBER,
+            #     - folders/FOLDER_NUMBER,
+            #     - organizations/ORGANIZATION_NUMBER,
+            #     - api`_`key:API_KEY.
       },
     ],
     &quot;serviceConfigId&quot;: &quot;A String&quot;, # Specifies which version of service config should be used to process the
@@ -1636,42 +1636,6 @@
   An object of the form:
 
     { # Response message for the Report method.
-    &quot;reportErrors&quot;: [ # Partial failures, one for each `Operation` in the request that failed
-        # processing. There are three possible combinations of the RPC status:
-        #
-        # 1. The combination of a successful RPC status and an empty `report_errors`
-        #    list indicates a complete success where all `Operations` in the
-        #    request are processed successfully.
-        # 2. The combination of a successful RPC status and a non-empty
-        #    `report_errors` list indicates a partial success where some
-        #    `Operations` in the request succeeded. Each
-        #    `Operation` that failed processing has a corresponding item
-        #    in this list.
-        # 3. A failed RPC status indicates a general non-deterministic failure.
-        #    When this happens, it&#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;status&quot;: { # The `Status` type defines a logical error model that is suitable for # Details of the error when processing the Operation.
-            # different programming environments, including REST APIs and RPC APIs. It is
-            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
-            # three pieces of data: error code, error message, and error details.
-            #
-            # You can find out more about this error model and how to work with it in the
-            # [API Design Guide](https://cloud.google.com/apis/design/errors).
-          &quot;details&quot;: [ # A list of messages that carry the error details.  There is a common set of
-              # message types for APIs to use.
-            {
-              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-            },
-          ],
-          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
-              # user-facing error message should be localized and sent in the
-              # google.rpc.Status.details field, or localized by the client.
-        },
-        &quot;operationId&quot;: &quot;A String&quot;, # The Operation.operation_id value from the request.
-      },
-    ],
     &quot;serviceRolloutId&quot;: &quot;A String&quot;, # The current service rollout id used to process the request.
     &quot;reportInfos&quot;: [ # Quota usage for each quota release `Operation` request.
         #
@@ -1718,32 +1682,31 @@
             { # 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;endTime&quot;: &quot;A String&quot;, # The end of the time period over which this metric value&#x27;s measurement
-                      # applies.
                   &quot;startTime&quot;: &quot;A String&quot;, # The start of the time period over which this metric value&#x27;s measurement
                       # applies. The time period has different semantics for different metric
                       # types (cumulative, delta, and gauge). See the metric definition
                       # documentation in the service configuration for details.
                   &quot;moneyValue&quot;: { # Represents an amount of money with its currency type. # A money value.
-                    &quot;units&quot;: &quot;A String&quot;, # The whole units of the amount.
-                        # For example if `currencyCode` is `&quot;USD&quot;`, then 1 unit is one US dollar.
-                    &quot;currencyCode&quot;: &quot;A String&quot;, # The 3-letter currency code defined in ISO 4217.
                     &quot;nanos&quot;: 42, # Number of nano (10^-9) units of the amount.
                         # The value must be between -999,999,999 and +999,999,999 inclusive.
                         # If `units` is positive, `nanos` must be positive or zero.
                         # If `units` is zero, `nanos` can be positive, zero, or negative.
                         # If `units` is negative, `nanos` must be negative or zero.
                         # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
+                    &quot;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;stringValue&quot;: &quot;A String&quot;, # A text string value.
                   &quot;labels&quot;: { # The labels describing the metric value.
                       # See comments on google.api.servicecontrol.v1.Operation.labels for
                       # the overriding relationship.
                       # Note that this map must not contain monitored resource labels.
                     &quot;a_key&quot;: &quot;A String&quot;,
                   },
+                  &quot;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.
@@ -1754,26 +1717,6 @@
                       #   - the minimum and maximum of the samples
                       #   - the sum-squared-deviation of the samples, used to compute variance
                       #   - a histogram of the values of the sample points
-                    &quot;explicitBuckets&quot;: { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
-                      &quot;bounds&quot;: [ # &#x27;bound&#x27; is a list of strictly increasing boundaries between
-                          # buckets. Note that a list of length N-1 defines N buckets because
-                          # of fenceposting. See comments on `bucket_options` for details.
-                          #
-                          # The i&#x27;th finite bucket covers the interval
-                          #   [bound[i-1], bound[i])
-                          # where i ranges from 1 to bound_size() - 1. Note that there are no
-                          # finite buckets at all if &#x27;bound&#x27; only contains a single element; in
-                          # that special case the single bound defines the boundary between the
-                          # underflow and overflow buckets.
-                          #
-                          # bucket number                   lower bound    upper bound
-                          #  i == 0 (underflow)              -inf           bound[i]
-                          #  0 &lt; i &lt; bound_size()            bound[i-1]     bound[i]
-                          #  i == bound_size() (overflow)    bound[i-1]     +inf
-                        3.14,
-                      ],
-                    },
-                    &quot;maximum&quot;: 3.14, # The maximum of the population of values. Ignored if `count` is zero.
                     &quot;sumOfSquaredDeviation&quot;: 3.14, # The sum of squared deviations from the mean:
                         #   Sum[i=1..count]((x_i - mean)^2)
                         # where each x_i is a sample values. If `count` is zero then this field
@@ -1819,6 +1762,9 @@
                     },
                     &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.
@@ -1826,9 +1772,6 @@
                       &quot;offset&quot;: 3.14, # The i&#x27;th linear bucket covers the interval
                           #   [offset + (i-1) * width, offset + i * width)
                           # where i ranges from 1 to num_finite_buckets, inclusive.
-                      &quot;numFiniteBuckets&quot;: 42, # The number of finite buckets. With the underflow and overflow buckets,
-                          # the total number of buckets is `num_finite_buckets` + 2.
-                          # See comments on `bucket_options` for details.
                     },
                     &quot;mean&quot;: 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
                         # zero then this field must be zero.
@@ -1846,17 +1789,74 @@
                         # 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.
                 },
               ],
-              &quot;metricName&quot;: &quot;A String&quot;, # The metric name defined in the service configuration.
             },
           ],
         },
       },
     ],
     &quot;serviceConfigId&quot;: &quot;A String&quot;, # The actual config 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:
+        #
+        # 1. The combination of a successful RPC status and an empty `report_errors`
+        #    list indicates a complete success where all `Operations` in the
+        #    request are processed successfully.
+        # 2. The combination of a successful RPC status and a non-empty
+        #    `report_errors` list indicates a partial success where some
+        #    `Operations` in the request succeeded. Each
+        #    `Operation` that failed processing has a corresponding item
+        #    in this list.
+        # 3. A failed RPC status indicates a general non-deterministic failure.
+        #    When this happens, it&#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
+            # 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.
+            },
+          ],
+        },
+      },
+    ],
   }</pre>
 </div>