google-api-client 0.27.0 → 0.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  4. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +0 -2
  5. data/generated/google/apis/admin_reports_v1.rb +1 -1
  6. data/generated/google/apis/admin_reports_v1/service.rb +15 -3
  7. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  8. data/generated/google/apis/alertcenter_v1beta1/classes.rb +74 -1
  9. data/generated/google/apis/alertcenter_v1beta1/representations.rb +42 -0
  10. data/generated/google/apis/alertcenter_v1beta1/service.rb +67 -0
  11. data/generated/google/apis/appengine_v1.rb +1 -1
  12. data/generated/google/apis/appengine_v1/classes.rb +6 -0
  13. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  14. data/generated/google/apis/appengine_v1beta.rb +1 -1
  15. data/generated/google/apis/appengine_v1beta/classes.rb +6 -0
  16. data/generated/google/apis/appengine_v1beta/representations.rb +1 -0
  17. data/generated/google/apis/appengine_v1beta4.rb +1 -1
  18. data/generated/google/apis/appengine_v1beta4/classes.rb +6 -0
  19. data/generated/google/apis/appengine_v1beta4/representations.rb +1 -0
  20. data/generated/google/apis/appengine_v1beta5.rb +1 -1
  21. data/generated/google/apis/appengine_v1beta5/classes.rb +6 -0
  22. data/generated/google/apis/appengine_v1beta5/representations.rb +1 -0
  23. data/generated/google/apis/bigquery_v2.rb +1 -1
  24. data/generated/google/apis/bigquery_v2/classes.rb +44 -6
  25. data/generated/google/apis/bigquery_v2/representations.rb +17 -0
  26. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  27. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  28. data/generated/google/apis/cloudfunctions_v1/service.rb +5 -2
  29. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  30. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +5 -2
  31. data/generated/google/apis/cloudidentity_v1.rb +31 -0
  32. data/generated/google/apis/cloudidentity_v1/classes.rb +495 -0
  33. data/generated/google/apis/cloudidentity_v1/representations.rb +197 -0
  34. data/generated/google/apis/cloudidentity_v1/service.rb +517 -0
  35. data/generated/google/apis/cloudidentity_v1beta1.rb +31 -0
  36. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +475 -0
  37. data/generated/google/apis/cloudidentity_v1beta1/representations.rb +184 -0
  38. data/generated/google/apis/cloudidentity_v1beta1/service.rb +477 -0
  39. data/generated/google/apis/composer_v1beta1.rb +1 -1
  40. data/generated/google/apis/composer_v1beta1/classes.rb +2 -2
  41. data/generated/google/apis/composer_v1beta1/service.rb +10 -0
  42. data/generated/google/apis/datastore_v1.rb +1 -1
  43. data/generated/google/apis/datastore_v1/classes.rb +1 -2
  44. data/generated/google/apis/dialogflow_v2.rb +1 -1
  45. data/generated/google/apis/dialogflow_v2/classes.rb +7 -103
  46. data/generated/google/apis/dialogflow_v2/representations.rb +0 -30
  47. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2beta1/classes.rb +7 -103
  49. data/generated/google/apis/dialogflow_v2beta1/representations.rb +0 -30
  50. data/generated/google/apis/dialogflow_v2beta1/service.rb +0 -228
  51. data/generated/google/apis/dlp_v2.rb +1 -1
  52. data/generated/google/apis/dlp_v2/classes.rb +7 -0
  53. data/generated/google/apis/dlp_v2/representations.rb +1 -0
  54. data/generated/google/apis/drive_v3.rb +1 -1
  55. data/generated/google/apis/drive_v3/classes.rb +12 -0
  56. data/generated/google/apis/drive_v3/representations.rb +2 -0
  57. data/generated/google/apis/logging_v2.rb +1 -1
  58. data/generated/google/apis/logging_v2/service.rb +3 -2
  59. data/generated/google/apis/logging_v2beta1.rb +1 -1
  60. data/generated/google/apis/logging_v2beta1/service.rb +3 -2
  61. data/generated/google/apis/monitoring_v1.rb +33 -0
  62. data/generated/google/apis/monitoring_v1/classes.rb +474 -0
  63. data/generated/google/apis/monitoring_v1/representations.rb +195 -0
  64. data/generated/google/apis/monitoring_v1/service.rb +211 -0
  65. data/generated/google/apis/pubsub_v1.rb +1 -1
  66. data/generated/google/apis/pubsub_v1/classes.rb +3 -2
  67. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  68. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +12 -8
  69. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  70. data/generated/google/apis/servicecontrol_v1/classes.rb +10 -0
  71. data/generated/google/apis/servicecontrol_v1/representations.rb +1 -0
  72. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  73. data/generated/google/apis/servicenetworking_v1beta/classes.rb +22 -9
  74. data/generated/google/apis/servicenetworking_v1beta/representations.rb +1 -0
  75. data/generated/google/apis/servicenetworking_v1beta/service.rb +1 -1
  76. data/generated/google/apis/serviceusage_v1.rb +1 -1
  77. data/generated/google/apis/serviceusage_v1/classes.rb +12 -8
  78. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  79. data/generated/google/apis/serviceusage_v1beta1/classes.rb +12 -8
  80. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  81. data/lib/google/apis/version.rb +1 -1
  82. metadata +14 -2
@@ -0,0 +1,31 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/cloudidentity_v1beta1/service.rb'
16
+ require 'google/apis/cloudidentity_v1beta1/classes.rb'
17
+ require 'google/apis/cloudidentity_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Identity API
22
+ #
23
+ # API for provisioning and managing identity resources.
24
+ #
25
+ # @see https://cloud.google.com/identity/
26
+ module CloudidentityV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20181215'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,475 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module CloudidentityV1beta1
24
+
25
+ # An EntityKey uniquely identifies an Entity. Namespaces are used to provide
26
+ # isolation for ids. A single Id can be reused across namespaces but the
27
+ # combination of a namespace and an id must be unique.
28
+ class EntityKey
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # The id of the entity within the given namespace. The id must be unique
32
+ # within its namespace.
33
+ # Corresponds to the JSON property `id`
34
+ # @return [String]
35
+ attr_accessor :id
36
+
37
+ # Namespaces provide isolation for ids, i.e an id only needs to be unique
38
+ # within its namespace.
39
+ # Namespaces are currently only created as part of IdentitySource creation
40
+ # from Admin Console. A namespace `"identitysources/`identity_source_id`"` is
41
+ # created corresponding to every Identity Source `identity_source_id`.
42
+ # Corresponds to the JSON property `namespace`
43
+ # @return [String]
44
+ attr_accessor :namespace
45
+
46
+ def initialize(**args)
47
+ update!(**args)
48
+ end
49
+
50
+ # Update properties of this object
51
+ def update!(**args)
52
+ @id = args[:id] if args.key?(:id)
53
+ @namespace = args[:namespace] if args.key?(:namespace)
54
+ end
55
+ end
56
+
57
+ # Resource representing a Group
58
+ class Group
59
+ include Google::Apis::Core::Hashable
60
+
61
+ # Optional. Additional entity key aliases for a Group
62
+ # Corresponds to the JSON property `additionalGroupKeys`
63
+ # @return [Array<Google::Apis::CloudidentityV1beta1::EntityKey>]
64
+ attr_accessor :additional_group_keys
65
+
66
+ # The time when the Group was created.
67
+ # Output only
68
+ # Corresponds to the JSON property `createTime`
69
+ # @return [String]
70
+ attr_accessor :create_time
71
+
72
+ # An extended description to help users determine the purpose of a Group. For
73
+ # example, you can include information about who should join the Group, the
74
+ # types of messages to send to the Group, links to FAQs about the Group, or
75
+ # related Groups. Maximum length is 4,096 characters.
76
+ # Corresponds to the JSON property `description`
77
+ # @return [String]
78
+ attr_accessor :description
79
+
80
+ # The Group's display name.
81
+ # Corresponds to the JSON property `displayName`
82
+ # @return [String]
83
+ attr_accessor :display_name
84
+
85
+ # An EntityKey uniquely identifies an Entity. Namespaces are used to provide
86
+ # isolation for ids. A single Id can be reused across namespaces but the
87
+ # combination of a namespace and an id must be unique.
88
+ # Corresponds to the JSON property `groupKey`
89
+ # @return [Google::Apis::CloudidentityV1beta1::EntityKey]
90
+ attr_accessor :group_key
91
+
92
+ # Labels for Group resource.
93
+ # Required.
94
+ # For creating Groups under a namespace, set label key to
95
+ # 'labels/system/groups/external' and label value as empty.
96
+ # Corresponds to the JSON property `labels`
97
+ # @return [Hash<String,String>]
98
+ attr_accessor :labels
99
+
100
+ # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
101
+ # Group in the format: `groups/`group_id``, where group_id is the unique id
102
+ # assigned to the Group.
103
+ # Must be left blank while creating a Group
104
+ # Corresponds to the JSON property `name`
105
+ # @return [String]
106
+ attr_accessor :name
107
+
108
+ # The entity under which this Group resides in Cloud Identity resource
109
+ # hierarchy. Must be set when creating a Group, read-only afterwards.
110
+ # Currently allowed types: 'identitysources'.
111
+ # Corresponds to the JSON property `parent`
112
+ # @return [String]
113
+ attr_accessor :parent
114
+
115
+ # The time when the Group was last updated.
116
+ # Output only
117
+ # Corresponds to the JSON property `updateTime`
118
+ # @return [String]
119
+ attr_accessor :update_time
120
+
121
+ def initialize(**args)
122
+ update!(**args)
123
+ end
124
+
125
+ # Update properties of this object
126
+ def update!(**args)
127
+ @additional_group_keys = args[:additional_group_keys] if args.key?(:additional_group_keys)
128
+ @create_time = args[:create_time] if args.key?(:create_time)
129
+ @description = args[:description] if args.key?(:description)
130
+ @display_name = args[:display_name] if args.key?(:display_name)
131
+ @group_key = args[:group_key] if args.key?(:group_key)
132
+ @labels = args[:labels] if args.key?(:labels)
133
+ @name = args[:name] if args.key?(:name)
134
+ @parent = args[:parent] if args.key?(:parent)
135
+ @update_time = args[:update_time] if args.key?(:update_time)
136
+ end
137
+ end
138
+
139
+ #
140
+ class ListMembershipsResponse
141
+ include Google::Apis::Core::Hashable
142
+
143
+ # List of Memberships
144
+ # Corresponds to the JSON property `memberships`
145
+ # @return [Array<Google::Apis::CloudidentityV1beta1::Membership>]
146
+ attr_accessor :memberships
147
+
148
+ # Token to retrieve the next page of results, or empty if there are no
149
+ # more results available for listing.
150
+ # Corresponds to the JSON property `nextPageToken`
151
+ # @return [String]
152
+ attr_accessor :next_page_token
153
+
154
+ def initialize(**args)
155
+ update!(**args)
156
+ end
157
+
158
+ # Update properties of this object
159
+ def update!(**args)
160
+ @memberships = args[:memberships] if args.key?(:memberships)
161
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
162
+ end
163
+ end
164
+
165
+ #
166
+ class LookupGroupNameResponse
167
+ include Google::Apis::Core::Hashable
168
+
169
+ # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
170
+ # Group in the format: `groups/`group_id``, where `group_id` is the unique id
171
+ # assigned to the Group.
172
+ # Corresponds to the JSON property `name`
173
+ # @return [String]
174
+ attr_accessor :name
175
+
176
+ def initialize(**args)
177
+ update!(**args)
178
+ end
179
+
180
+ # Update properties of this object
181
+ def update!(**args)
182
+ @name = args[:name] if args.key?(:name)
183
+ end
184
+ end
185
+
186
+ #
187
+ class LookupMembershipNameResponse
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
191
+ # Membership being looked up.
192
+ # Format: `groups/`group_id`/memberships/`member_id``, where `group_id` is
193
+ # the unique id assigned to the Group to which Membership belongs to, and
194
+ # `member_id` is the unique id assigned to the member.
195
+ # Corresponds to the JSON property `name`
196
+ # @return [String]
197
+ attr_accessor :name
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ @name = args[:name] if args.key?(:name)
206
+ end
207
+ end
208
+
209
+ # Resource representing a Membership within a Group
210
+ class Membership
211
+ include Google::Apis::Core::Hashable
212
+
213
+ # Creation timestamp of the Membership.
214
+ # Corresponds to the JSON property `createTime`
215
+ # @return [String]
216
+ attr_accessor :create_time
217
+
218
+ # An EntityKey uniquely identifies an Entity. Namespaces are used to provide
219
+ # isolation for ids. A single Id can be reused across namespaces but the
220
+ # combination of a namespace and an id must be unique.
221
+ # Corresponds to the JSON property `memberKey`
222
+ # @return [Google::Apis::CloudidentityV1beta1::EntityKey]
223
+ attr_accessor :member_key
224
+
225
+ # [Resource name](https://cloud.google.com/apis/design/resource_names) of the
226
+ # Membership in the format: `groups/`group_id`/memberships/`member_id``,
227
+ # where group_id is the unique id assigned to the Group to which Membership
228
+ # belongs to, and member_id is the unique id assigned to the member
229
+ # Must be left blank while creating a Membership.
230
+ # Corresponds to the JSON property `name`
231
+ # @return [String]
232
+ attr_accessor :name
233
+
234
+ # Roles for a member within the Group.
235
+ # Currently supported MembershipRoles: `"MEMBER"`.
236
+ # Corresponds to the JSON property `roles`
237
+ # @return [Array<Google::Apis::CloudidentityV1beta1::MembershipRole>]
238
+ attr_accessor :roles
239
+
240
+ # Last updated timestamp of the Membership.
241
+ # Corresponds to the JSON property `updateTime`
242
+ # @return [String]
243
+ attr_accessor :update_time
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @create_time = args[:create_time] if args.key?(:create_time)
252
+ @member_key = args[:member_key] if args.key?(:member_key)
253
+ @name = args[:name] if args.key?(:name)
254
+ @roles = args[:roles] if args.key?(:roles)
255
+ @update_time = args[:update_time] if args.key?(:update_time)
256
+ end
257
+ end
258
+
259
+ # Resource representing a role within a Membership.
260
+ class MembershipRole
261
+ include Google::Apis::Core::Hashable
262
+
263
+ # MembershipRole in string format.
264
+ # Currently supported MembershipRoles: `"MEMBER"`.
265
+ # Corresponds to the JSON property `name`
266
+ # @return [String]
267
+ attr_accessor :name
268
+
269
+ def initialize(**args)
270
+ update!(**args)
271
+ end
272
+
273
+ # Update properties of this object
274
+ def update!(**args)
275
+ @name = args[:name] if args.key?(:name)
276
+ end
277
+ end
278
+
279
+ # This resource represents a long-running operation that is the result of a
280
+ # network API call.
281
+ class Operation
282
+ include Google::Apis::Core::Hashable
283
+
284
+ # If the value is `false`, it means the operation is still in progress.
285
+ # If `true`, the operation is completed, and either `error` or `response` is
286
+ # available.
287
+ # Corresponds to the JSON property `done`
288
+ # @return [Boolean]
289
+ attr_accessor :done
290
+ alias_method :done?, :done
291
+
292
+ # The `Status` type defines a logical error model that is suitable for different
293
+ # programming environments, including REST APIs and RPC APIs. It is used by
294
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
295
+ # - Simple to use and understand for most users
296
+ # - Flexible enough to meet unexpected needs
297
+ # # Overview
298
+ # The `Status` message contains three pieces of data: error code, error message,
299
+ # and error details. The error code should be an enum value of
300
+ # google.rpc.Code, but it may accept additional error codes if needed. The
301
+ # error message should be a developer-facing English message that helps
302
+ # developers *understand* and *resolve* the error. If a localized user-facing
303
+ # error message is needed, put the localized message in the error details or
304
+ # localize it in the client. The optional error details may contain arbitrary
305
+ # information about the error. There is a predefined set of error detail types
306
+ # in the package `google.rpc` that can be used for common error conditions.
307
+ # # Language mapping
308
+ # The `Status` message is the logical representation of the error model, but it
309
+ # is not necessarily the actual wire format. When the `Status` message is
310
+ # exposed in different client libraries and different wire protocols, it can be
311
+ # mapped differently. For example, it will likely be mapped to some exceptions
312
+ # in Java, but more likely mapped to some error codes in C.
313
+ # # Other uses
314
+ # The error model and the `Status` message can be used in a variety of
315
+ # environments, either with or without APIs, to provide a
316
+ # consistent developer experience across different environments.
317
+ # Example uses of this error model include:
318
+ # - Partial errors. If a service needs to return partial errors to the client,
319
+ # it may embed the `Status` in the normal response to indicate the partial
320
+ # errors.
321
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
322
+ # have a `Status` message for error reporting.
323
+ # - Batch operations. If a client uses batch request and batch response, the
324
+ # `Status` message should be used directly inside batch response, one for
325
+ # each error sub-response.
326
+ # - Asynchronous operations. If an API call embeds asynchronous operation
327
+ # results in its response, the status of those operations should be
328
+ # represented directly using the `Status` message.
329
+ # - Logging. If some API errors are stored in logs, the message `Status` could
330
+ # be used directly after any stripping needed for security/privacy reasons.
331
+ # Corresponds to the JSON property `error`
332
+ # @return [Google::Apis::CloudidentityV1beta1::Status]
333
+ attr_accessor :error
334
+
335
+ # Service-specific metadata associated with the operation. It typically
336
+ # contains progress information and common metadata such as create time.
337
+ # Some services might not provide such metadata. Any method that returns a
338
+ # long-running operation should document the metadata type, if any.
339
+ # Corresponds to the JSON property `metadata`
340
+ # @return [Hash<String,Object>]
341
+ attr_accessor :metadata
342
+
343
+ # The server-assigned name, which is only unique within the same service that
344
+ # originally returns it. If you use the default HTTP mapping, the
345
+ # `name` should have the format of `operations/some/unique/name`.
346
+ # Corresponds to the JSON property `name`
347
+ # @return [String]
348
+ attr_accessor :name
349
+
350
+ # The normal response of the operation in case of success. If the original
351
+ # method returns no data on success, such as `Delete`, the response is
352
+ # `google.protobuf.Empty`. If the original method is standard
353
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
354
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
355
+ # is the original method name. For example, if the original method name
356
+ # is `TakeSnapshot()`, the inferred response type is
357
+ # `TakeSnapshotResponse`.
358
+ # Corresponds to the JSON property `response`
359
+ # @return [Hash<String,Object>]
360
+ attr_accessor :response
361
+
362
+ def initialize(**args)
363
+ update!(**args)
364
+ end
365
+
366
+ # Update properties of this object
367
+ def update!(**args)
368
+ @done = args[:done] if args.key?(:done)
369
+ @error = args[:error] if args.key?(:error)
370
+ @metadata = args[:metadata] if args.key?(:metadata)
371
+ @name = args[:name] if args.key?(:name)
372
+ @response = args[:response] if args.key?(:response)
373
+ end
374
+ end
375
+
376
+ #
377
+ class SearchGroupsResponse
378
+ include Google::Apis::Core::Hashable
379
+
380
+ # List of Groups satisfying the search query.
381
+ # Corresponds to the JSON property `groups`
382
+ # @return [Array<Google::Apis::CloudidentityV1beta1::Group>]
383
+ attr_accessor :groups
384
+
385
+ # Token to retrieve the next page of results, or empty if there are no
386
+ # more results available for specified query.
387
+ # Corresponds to the JSON property `nextPageToken`
388
+ # @return [String]
389
+ attr_accessor :next_page_token
390
+
391
+ def initialize(**args)
392
+ update!(**args)
393
+ end
394
+
395
+ # Update properties of this object
396
+ def update!(**args)
397
+ @groups = args[:groups] if args.key?(:groups)
398
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
399
+ end
400
+ end
401
+
402
+ # The `Status` type defines a logical error model that is suitable for different
403
+ # programming environments, including REST APIs and RPC APIs. It is used by
404
+ # [gRPC](https://github.com/grpc). The error model is designed to be:
405
+ # - Simple to use and understand for most users
406
+ # - Flexible enough to meet unexpected needs
407
+ # # Overview
408
+ # The `Status` message contains three pieces of data: error code, error message,
409
+ # and error details. The error code should be an enum value of
410
+ # google.rpc.Code, but it may accept additional error codes if needed. The
411
+ # error message should be a developer-facing English message that helps
412
+ # developers *understand* and *resolve* the error. If a localized user-facing
413
+ # error message is needed, put the localized message in the error details or
414
+ # localize it in the client. The optional error details may contain arbitrary
415
+ # information about the error. There is a predefined set of error detail types
416
+ # in the package `google.rpc` that can be used for common error conditions.
417
+ # # Language mapping
418
+ # The `Status` message is the logical representation of the error model, but it
419
+ # is not necessarily the actual wire format. When the `Status` message is
420
+ # exposed in different client libraries and different wire protocols, it can be
421
+ # mapped differently. For example, it will likely be mapped to some exceptions
422
+ # in Java, but more likely mapped to some error codes in C.
423
+ # # Other uses
424
+ # The error model and the `Status` message can be used in a variety of
425
+ # environments, either with or without APIs, to provide a
426
+ # consistent developer experience across different environments.
427
+ # Example uses of this error model include:
428
+ # - Partial errors. If a service needs to return partial errors to the client,
429
+ # it may embed the `Status` in the normal response to indicate the partial
430
+ # errors.
431
+ # - Workflow errors. A typical workflow has multiple steps. Each step may
432
+ # have a `Status` message for error reporting.
433
+ # - Batch operations. If a client uses batch request and batch response, the
434
+ # `Status` message should be used directly inside batch response, one for
435
+ # each error sub-response.
436
+ # - Asynchronous operations. If an API call embeds asynchronous operation
437
+ # results in its response, the status of those operations should be
438
+ # represented directly using the `Status` message.
439
+ # - Logging. If some API errors are stored in logs, the message `Status` could
440
+ # be used directly after any stripping needed for security/privacy reasons.
441
+ class Status
442
+ include Google::Apis::Core::Hashable
443
+
444
+ # The status code, which should be an enum value of google.rpc.Code.
445
+ # Corresponds to the JSON property `code`
446
+ # @return [Fixnum]
447
+ attr_accessor :code
448
+
449
+ # A list of messages that carry the error details. There is a common set of
450
+ # message types for APIs to use.
451
+ # Corresponds to the JSON property `details`
452
+ # @return [Array<Hash<String,Object>>]
453
+ attr_accessor :details
454
+
455
+ # A developer-facing error message, which should be in English. Any
456
+ # user-facing error message should be localized and sent in the
457
+ # google.rpc.Status.details field, or localized by the client.
458
+ # Corresponds to the JSON property `message`
459
+ # @return [String]
460
+ attr_accessor :message
461
+
462
+ def initialize(**args)
463
+ update!(**args)
464
+ end
465
+
466
+ # Update properties of this object
467
+ def update!(**args)
468
+ @code = args[:code] if args.key?(:code)
469
+ @details = args[:details] if args.key?(:details)
470
+ @message = args[:message] if args.key?(:message)
471
+ end
472
+ end
473
+ end
474
+ end
475
+ end