blob: 0fec2b98eba3dd10e0c366f59c0b431e6624461e [file] [log] [blame]
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="servicecontrol_v1.html">Google Service Control API</a> . <a href="servicecontrol_v1.services.html">services</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#check">check(serviceName=None, body, x__xgafv=None)</a></code></p>
79<p class="firstline">Checks an operation with Google Service Control to decide whether</p>
80<p class="toc_element">
81 <code><a href="#report">report(serviceName=None, body, x__xgafv=None)</a></code></p>
82<p class="firstline">Reports operations to Google Service Control. It should be called</p>
83<h3>Method Details</h3>
84<div class="method">
85 <code class="details" id="check">check(serviceName=None, body, x__xgafv=None)</code>
86 <pre>Checks an operation with Google Service Control to decide whether
87the given operation should proceed. It should be called before the
88operation is executed.
89
90This method requires the `servicemanagement.services.check` permission
91on the specified service. For more information, see
92[Google Cloud IAM](https://cloud.google.com/iam).
93
94Args:
95 serviceName: string, The service name as specified in its service configuration. For example,
96`"pubsub.googleapis.com"`.
97
98See google.api.Service for the definition of a service name. (required)
99 body: object, The request body. (required)
100 The object takes the form of:
101
102{ # Request message for the Check method.
103 "operation": { # Represents information regarding an operation. # The operation to be checked.
104 "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
105 "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
106 # corresponds to a metric defined in the service configuration.
107 # The data type used in the MetricValueSet must agree with
108 # the data type specified in the metric definition.
109 #
110 # Within a single operation, it is not allowed to have more than one
111 # MetricValue instances that have the same metric names and identical
112 # label value combinations. If a request has such duplicated MetricValue
113 # instances, the entire request is rejected with
114 # an invalid argument error.
115 { # Represents a set of metric values in the same metric.
116 # Each metric value in the set should have a unique combination of start time,
117 # end time, and label values.
118 "metricValues": [ # The values in this metric.
119 { # Represents a single metric value.
120 "labels": { # The labels describing the metric value.
121 # See comments on google.api.servicecontrol.v1.Operation.labels for
122 # the overriding relationship.
123 "a_key": "A String",
124 },
125 "doubleValue": 3.14, # A double precision floating point value.
126 "boolValue": True or False, # A boolean value.
127 "startTime": "A String", # The start of the time period over which this metric value's measurement
128 # applies. The time period has different semantics for different metric
129 # types (cumulative, delta, and gauge). See the metric definition
130 # documentation in the service configuration for details.
131 "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
132 # points. It contains the size of the population of sample points plus
133 # additional optional information:
134 #
135 # - the arithmetic mean of the samples
136 # - the minimum and maximum of the samples
137 # - the sum-squared-deviation of the samples, used to compute variance
138 # - a histogram of the values of the sample points
139 "count": "A String", # The total number of samples in the distribution. Must be >= 0.
140 "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
141 # optional. If present, they must sum to the `count` value.
142 #
143 # The buckets are defined below in `bucket_option`. There are N buckets.
144 # `bucket_counts[0]` is the number of samples in the underflow bucket.
145 # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
146 # in each of the finite buckets. And `bucket_counts[N] is the number
147 # of samples in the overflow bucket. See the comments of `bucket_option`
148 # below for more details.
149 #
150 # Any suffix of trailing zeros may be omitted.
151 "A String",
152 ],
153 "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
154 "scale": 3.14, # The i'th exponential bucket covers the interval
155 # [scale * growth_factor^(i-1), scale * growth_factor^i)
156 # where i ranges from 1 to num_finite_buckets inclusive.
157 # Must be > 0.
158 "growthFactor": 3.14, # The i'th exponential bucket covers the interval
159 # [scale * growth_factor^(i-1), scale * growth_factor^i)
160 # where i ranges from 1 to num_finite_buckets inclusive.
161 # Must be larger than 1.0.
162 "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
163 # the total number of buckets is `num_finite_buckets` + 2.
164 # See comments on `bucket_options` for details.
165 },
166 "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
167 "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
168 "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
169 # Sum[i=1..count]((x_i - mean)^2)
170 # where each x_i is a sample values. If `count` is zero then this field
171 # must be zero, otherwise validation of the request fails.
172 "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
173 "width": 3.14, # The i'th linear bucket covers the interval
174 # [offset + (i-1) * width, offset + i * width)
175 # where i ranges from 1 to num_finite_buckets, inclusive.
176 # Must be strictly positive.
177 "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
178 # the total number of buckets is `num_finite_buckets` + 2.
179 # See comments on `bucket_options` for details.
180 "offset": 3.14, # The i'th linear bucket covers the interval
181 # [offset + (i-1) * width, offset + i * width)
182 # where i ranges from 1 to num_finite_buckets, inclusive.
183 },
184 "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
185 "bounds": [ # 'bound' is a list of strictly increasing boundaries between
186 # buckets. Note that a list of length N-1 defines N buckets because
187 # of fenceposting. See comments on `bucket_options` for details.
188 #
189 # The i'th finite bucket covers the interval
190 # [bound[i-1], bound[i])
191 # where i ranges from 1 to bound_size() - 1. Note that there are no
192 # finite buckets at all if 'bound' only contains a single element; in
193 # that special case the single bound defines the boundary between the
194 # underflow and overflow buckets.
195 #
196 # bucket number lower bound upper bound
197 # i == 0 (underflow) -inf bound[i]
198 # 0 < i < bound_size() bound[i-1] bound[i]
199 # i == bound_size() (overflow) bound[i-1] +inf
200 3.14,
201 ],
202 },
203 "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
204 # zero then this field must be zero.
205 },
206 "stringValue": "A String", # A text string value.
207 "int64Value": "A String", # A signed 64-bit integer value.
208 "endTime": "A String", # The end of the time period over which this metric value's measurement
209 # applies.
210 },
211 ],
212 "metricName": "A String", # The metric name defined in the service configuration.
213 },
214 ],
Jon Wayne Parrott2512a0c2016-08-29 10:21:22 -0700215 "importance": "A String", # DO NOT USE. This is an experimental field.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700216 "labels": { # Labels describing the operation. Only the following labels are allowed:
217 #
218 # - Labels describing monitored resources as defined in
219 # the service configuration.
220 # - Default labels of metric values. When specified, labels defined in the
221 # metric value override these default.
222 # - The following labels defined by Google Cloud Platform:
223 # - `cloud.googleapis.com/location` describing the location where the
224 # operation happened,
225 # - `servicecontrol.googleapis.com/user_agent` describing the user agent
226 # of the API request,
227 # - `servicecontrol.googleapis.com/service_agent` describing the service
228 # used to handle the API request (e.g. ESP),
229 # - `servicecontrol.googleapis.com/platform` describing the platform
230 # where the API is served (e.g. GAE, GCE, GKE).
231 "a_key": "A String",
232 },
233 "consumerId": "A String", # Identity of the consumer who is using the service.
234 # This field should be filled in for the operations initiated by a
235 # consumer, but not for service-initiated operations that are
236 # not related to a specific consumer.
237 #
238 # This can be in one of the following formats:
239 # project:<project_id>,
240 # project_number:<project_number>,
241 # api_key:<api_key>.
242 "logEntries": [ # Represents information to be logged.
243 { # An individual log entry.
244 "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
245 # `"book_log"`.
246 "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
247 "timestamp": "A String", # The time the event described by the log entry occurred. If
248 # omitted, defaults to operation start time.
249 "labels": { # A set of user-defined (key, value) data that provides additional
250 # information about the log entry.
251 "a_key": "A String",
252 },
253 "structPayload": { # The log entry payload, represented as a structure that
254 # is expressed as a JSON object.
255 "a_key": "", # Properties of the object.
256 },
257 "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
258 # the implementation will generate one based on operation_id.
259 "protoPayload": { # The log entry payload, represented as a protocol buffer that is
260 # expressed as a JSON object. You can only pass `protoPayload`
261 # values that belong to a set of approved types.
262 "a_key": "", # Properties of the object. Contains field @type with type URL.
263 },
264 "severity": "A String", # The severity of the log entry. The default value is
265 # `LogSeverity.DEFAULT`.
266 },
267 ],
268 "startTime": "A String", # Required. Start time of the operation.
269 "endTime": "A String", # End time of the operation.
270 # Required when the operation is used in ServiceController.Report,
271 # but optional when the operation is used in ServiceController.Check.
272 "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
273 # service that generated the operation. If the service calls
274 # Check() and Report() on the same operation, the two calls should carry
275 # the same id.
276 #
277 # UUID version 4 is recommended, though not required.
278 # In scenarios where an operation is computed from existing information
279 # and an idempotent id is desirable for deduplication purpose, UUID version 5
280 # is recommended. See RFC 4122 for details.
281 },
282 }
283
284 x__xgafv: string, V1 error format.
285 Allowed values
286 1 - v1 error format
287 2 - v2 error format
288
289Returns:
290 An object of the form:
291
292 { # Response message for the Check method.
Jon Wayne Parrott2512a0c2016-08-29 10:21:22 -0700293 "serviceConfigId": "A String", # The actual config id used to process the request.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700294 "checkErrors": [ # Indicate the decision of the check.
295 #
296 # If no check errors are present, the service should process the operation.
297 # Otherwise the service should use the list of errors to determine the
298 # appropriate action.
299 { # Defines the errors to be returned in
300 # google.api.servicecontrol.v1.CheckResponse.check_errors.
301 "code": "A String", # The error code.
302 "detail": "A String", # Free-form text providing details on the error cause of the error.
303 },
304 ],
305 "operationId": "A String", # The same operation_id value used in the CheckRequest.
306 # Used for logging and diagnostics purposes.
307 }</pre>
308</div>
309
310<div class="method">
311 <code class="details" id="report">report(serviceName=None, body, x__xgafv=None)</code>
312 <pre>Reports operations to Google Service Control. It should be called
313after the operation is completed.
314
315This method requires the `servicemanagement.services.report` permission
316on the specified service. For more information, see
317[Google Cloud IAM](https://cloud.google.com/iam).
318
319Args:
320 serviceName: string, The service name as specified in its service configuration. For example,
321`"pubsub.googleapis.com"`.
322
323See google.api.Service for the definition of a service name. (required)
324 body: object, The request body. (required)
325 The object takes the form of:
326
327{ # Request message for the Report method.
328 "operations": [ # Operations to be reported.
329 #
330 # Typically the service should report one operation per request.
331 # Putting multiple operations into a single request is allowed, but should
332 # be used only when multiple operations are natually available at the time
333 # of the report.
334 #
335 # If multiple operations are in a single request, the total request size
336 # should be no larger than 1MB. See ReportResponse.report_errors for
337 # partial failure behavior.
338 { # Represents information regarding an operation.
339 "operationName": "A String", # Fully qualified name of the operation. Reserved for future use.
340 "metricValueSets": [ # Represents information about this operation. Each MetricValueSet
341 # corresponds to a metric defined in the service configuration.
342 # The data type used in the MetricValueSet must agree with
343 # the data type specified in the metric definition.
344 #
345 # Within a single operation, it is not allowed to have more than one
346 # MetricValue instances that have the same metric names and identical
347 # label value combinations. If a request has such duplicated MetricValue
348 # instances, the entire request is rejected with
349 # an invalid argument error.
350 { # Represents a set of metric values in the same metric.
351 # Each metric value in the set should have a unique combination of start time,
352 # end time, and label values.
353 "metricValues": [ # The values in this metric.
354 { # Represents a single metric value.
355 "labels": { # The labels describing the metric value.
356 # See comments on google.api.servicecontrol.v1.Operation.labels for
357 # the overriding relationship.
358 "a_key": "A String",
359 },
360 "doubleValue": 3.14, # A double precision floating point value.
361 "boolValue": True or False, # A boolean value.
362 "startTime": "A String", # The start of the time period over which this metric value's measurement
363 # applies. The time period has different semantics for different metric
364 # types (cumulative, delta, and gauge). See the metric definition
365 # documentation in the service configuration for details.
366 "distributionValue": { # Distribution represents a frequency distribution of double-valued sample # A distribution value.
367 # points. It contains the size of the population of sample points plus
368 # additional optional information:
369 #
370 # - the arithmetic mean of the samples
371 # - the minimum and maximum of the samples
372 # - the sum-squared-deviation of the samples, used to compute variance
373 # - a histogram of the values of the sample points
374 "count": "A String", # The total number of samples in the distribution. Must be >= 0.
375 "bucketCounts": [ # The number of samples in each histogram bucket. `bucket_counts` are
376 # optional. If present, they must sum to the `count` value.
377 #
378 # The buckets are defined below in `bucket_option`. There are N buckets.
379 # `bucket_counts[0]` is the number of samples in the underflow bucket.
380 # `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
381 # in each of the finite buckets. And `bucket_counts[N] is the number
382 # of samples in the overflow bucket. See the comments of `bucket_option`
383 # below for more details.
384 #
385 # Any suffix of trailing zeros may be omitted.
386 "A String",
387 ],
388 "exponentialBuckets": { # Describing buckets with exponentially growing width. # Buckets with exponentially growing width.
389 "scale": 3.14, # The i'th exponential bucket covers the interval
390 # [scale * growth_factor^(i-1), scale * growth_factor^i)
391 # where i ranges from 1 to num_finite_buckets inclusive.
392 # Must be > 0.
393 "growthFactor": 3.14, # The i'th exponential bucket covers the interval
394 # [scale * growth_factor^(i-1), scale * growth_factor^i)
395 # where i ranges from 1 to num_finite_buckets inclusive.
396 # Must be larger than 1.0.
397 "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
398 # the total number of buckets is `num_finite_buckets` + 2.
399 # See comments on `bucket_options` for details.
400 },
401 "minimum": 3.14, # The minimum of the population of values. Ignored if `count` is zero.
402 "maximum": 3.14, # The maximum of the population of values. Ignored if `count` is zero.
403 "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean:
404 # Sum[i=1..count]((x_i - mean)^2)
405 # where each x_i is a sample values. If `count` is zero then this field
406 # must be zero, otherwise validation of the request fails.
407 "linearBuckets": { # Describing buckets with constant width. # Buckets with constant width.
408 "width": 3.14, # The i'th linear bucket covers the interval
409 # [offset + (i-1) * width, offset + i * width)
410 # where i ranges from 1 to num_finite_buckets, inclusive.
411 # Must be strictly positive.
412 "numFiniteBuckets": 42, # The number of finite buckets. With the underflow and overflow buckets,
413 # the total number of buckets is `num_finite_buckets` + 2.
414 # See comments on `bucket_options` for details.
415 "offset": 3.14, # The i'th linear bucket covers the interval
416 # [offset + (i-1) * width, offset + i * width)
417 # where i ranges from 1 to num_finite_buckets, inclusive.
418 },
419 "explicitBuckets": { # Describing buckets with arbitrary user-provided width. # Buckets with arbitrary user-provided width.
420 "bounds": [ # 'bound' is a list of strictly increasing boundaries between
421 # buckets. Note that a list of length N-1 defines N buckets because
422 # of fenceposting. See comments on `bucket_options` for details.
423 #
424 # The i'th finite bucket covers the interval
425 # [bound[i-1], bound[i])
426 # where i ranges from 1 to bound_size() - 1. Note that there are no
427 # finite buckets at all if 'bound' only contains a single element; in
428 # that special case the single bound defines the boundary between the
429 # underflow and overflow buckets.
430 #
431 # bucket number lower bound upper bound
432 # i == 0 (underflow) -inf bound[i]
433 # 0 < i < bound_size() bound[i-1] bound[i]
434 # i == bound_size() (overflow) bound[i-1] +inf
435 3.14,
436 ],
437 },
438 "mean": 3.14, # The arithmetic mean of the samples in the distribution. If `count` is
439 # zero then this field must be zero.
440 },
441 "stringValue": "A String", # A text string value.
442 "int64Value": "A String", # A signed 64-bit integer value.
443 "endTime": "A String", # The end of the time period over which this metric value's measurement
444 # applies.
445 },
446 ],
447 "metricName": "A String", # The metric name defined in the service configuration.
448 },
449 ],
Jon Wayne Parrott2512a0c2016-08-29 10:21:22 -0700450 "importance": "A String", # DO NOT USE. This is an experimental field.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700451 "labels": { # Labels describing the operation. Only the following labels are allowed:
452 #
453 # - Labels describing monitored resources as defined in
454 # the service configuration.
455 # - Default labels of metric values. When specified, labels defined in the
456 # metric value override these default.
457 # - The following labels defined by Google Cloud Platform:
458 # - `cloud.googleapis.com/location` describing the location where the
459 # operation happened,
460 # - `servicecontrol.googleapis.com/user_agent` describing the user agent
461 # of the API request,
462 # - `servicecontrol.googleapis.com/service_agent` describing the service
463 # used to handle the API request (e.g. ESP),
464 # - `servicecontrol.googleapis.com/platform` describing the platform
465 # where the API is served (e.g. GAE, GCE, GKE).
466 "a_key": "A String",
467 },
468 "consumerId": "A String", # Identity of the consumer who is using the service.
469 # This field should be filled in for the operations initiated by a
470 # consumer, but not for service-initiated operations that are
471 # not related to a specific consumer.
472 #
473 # This can be in one of the following formats:
474 # project:<project_id>,
475 # project_number:<project_number>,
476 # api_key:<api_key>.
477 "logEntries": [ # Represents information to be logged.
478 { # An individual log entry.
479 "name": "A String", # Required. The log to which this log entry belongs. Examples: `"syslog"`,
480 # `"book_log"`.
481 "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8).
482 "timestamp": "A String", # The time the event described by the log entry occurred. If
483 # omitted, defaults to operation start time.
484 "labels": { # A set of user-defined (key, value) data that provides additional
485 # information about the log entry.
486 "a_key": "A String",
487 },
488 "structPayload": { # The log entry payload, represented as a structure that
489 # is expressed as a JSON object.
490 "a_key": "", # Properties of the object.
491 },
492 "insertId": "A String", # A unique ID for the log entry used for deduplication. If omitted,
493 # the implementation will generate one based on operation_id.
494 "protoPayload": { # The log entry payload, represented as a protocol buffer that is
495 # expressed as a JSON object. You can only pass `protoPayload`
496 # values that belong to a set of approved types.
497 "a_key": "", # Properties of the object. Contains field @type with type URL.
498 },
499 "severity": "A String", # The severity of the log entry. The default value is
500 # `LogSeverity.DEFAULT`.
501 },
502 ],
503 "startTime": "A String", # Required. Start time of the operation.
504 "endTime": "A String", # End time of the operation.
505 # Required when the operation is used in ServiceController.Report,
506 # but optional when the operation is used in ServiceController.Check.
507 "operationId": "A String", # Identity of the operation. This must be unique within the scope of the
508 # service that generated the operation. If the service calls
509 # Check() and Report() on the same operation, the two calls should carry
510 # the same id.
511 #
512 # UUID version 4 is recommended, though not required.
513 # In scenarios where an operation is computed from existing information
514 # and an idempotent id is desirable for deduplication purpose, UUID version 5
515 # is recommended. See RFC 4122 for details.
516 },
517 ],
518 }
519
520 x__xgafv: string, V1 error format.
521 Allowed values
522 1 - v1 error format
523 2 - v2 error format
524
525Returns:
526 An object of the form:
527
528 { # Response message for the Report method.
Jon Wayne Parrott2512a0c2016-08-29 10:21:22 -0700529 "serviceConfigId": "A String", # The actual config id used to process the request.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700530 "reportErrors": [ # Partial failures, one for each `Operation` in the request that failed
531 # processing. There are three possible combinations of the RPC status:
532 #
533 # 1. The combination of a successful RPC status and an empty `report_errors`
534 # list indicates a complete success where all `Operations` in the
535 # request are processed successfully.
536 # 2. The combination of a successful RPC status and a non-empty
537 # `report_errors` list indicates a partial success where some
538 # `Operations` in the request succeeded. Each
539 # `Operation` that failed processing has a corresponding item
540 # in this list.
541 # 3. A failed RPC status indicates a complete failure where none of the
542 # `Operations` in the request succeeded.
543 { # Represents the processing error of one `Operation` in the request.
544 "status": { # The `Status` type defines a logical error model that is suitable for different # Details of the error when processing the `Operation`.
545 # programming environments, including REST APIs and RPC APIs. It is used by
546 # [gRPC](https://github.com/grpc). The error model is designed to be:
547 #
548 # - Simple to use and understand for most users
549 # - Flexible enough to meet unexpected needs
550 #
551 # # Overview
552 #
553 # The `Status` message contains three pieces of data: error code, error message,
554 # and error details. The error code should be an enum value of
555 # google.rpc.Code, but it may accept additional error codes if needed. The
556 # error message should be a developer-facing English message that helps
557 # developers *understand* and *resolve* the error. If a localized user-facing
558 # error message is needed, put the localized message in the error details or
559 # localize it in the client. The optional error details may contain arbitrary
560 # information about the error. There is a predefined set of error detail types
561 # in the package `google.rpc` which can be used for common error conditions.
562 #
563 # # Language mapping
564 #
565 # The `Status` message is the logical representation of the error model, but it
566 # is not necessarily the actual wire format. When the `Status` message is
567 # exposed in different client libraries and different wire protocols, it can be
568 # mapped differently. For example, it will likely be mapped to some exceptions
569 # in Java, but more likely mapped to some error codes in C.
570 #
571 # # Other uses
572 #
573 # The error model and the `Status` message can be used in a variety of
574 # environments, either with or without APIs, to provide a
575 # consistent developer experience across different environments.
576 #
577 # Example uses of this error model include:
578 #
579 # - Partial errors. If a service needs to return partial errors to the client,
580 # it may embed the `Status` in the normal response to indicate the partial
581 # errors.
582 #
583 # - Workflow errors. A typical workflow has multiple steps. Each step may
584 # have a `Status` message for error reporting purpose.
585 #
586 # - Batch operations. If a client uses batch request and batch response, the
587 # `Status` message should be used directly inside batch response, one for
588 # each error sub-response.
589 #
590 # - Asynchronous operations. If an API call embeds asynchronous operation
591 # results in its response, the status of those operations should be
592 # represented directly using the `Status` message.
593 #
594 # - Logging. If some API errors are stored in logs, the message `Status` could
595 # be used directly after any stripping needed for security/privacy reasons.
596 "message": "A String", # A developer-facing error message, which should be in English. Any
597 # user-facing error message should be localized and sent in the
598 # google.rpc.Status.details field, or localized by the client.
599 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
600 "details": [ # A list of messages that carry the error details. There will be a
601 # common set of message types for APIs to use.
602 {
603 "a_key": "", # Properties of the object. Contains field @type with type URL.
604 },
605 ],
606 },
607 "operationId": "A String", # The Operation.operation_id value from the request.
608 },
609 ],
610 }</pre>
611</div>
612
613</body></html>