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