google-api-client 0.27.0 → 0.27.1

Sign up to get free protection for your applications and to get access to all the features.
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