google-apis-apihub_v1 0.1.0

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.
@@ -0,0 +1,4084 @@
1
+ # Copyright 2020 Google LLC
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 ApihubV1
24
+
25
+ # A generic empty message that you can re-use to avoid defining duplicated empty
26
+ # messages in your APIs. A typical example is to use it as the request or the
27
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
28
+ # protobuf.Empty) returns (google.protobuf.Empty); `
29
+ class Empty
30
+ include Google::Apis::Core::Hashable
31
+
32
+ def initialize(**args)
33
+ update!(**args)
34
+ end
35
+
36
+ # Update properties of this object
37
+ def update!(**args)
38
+ end
39
+ end
40
+
41
+ # The API metadata.
42
+ class GoogleCloudApihubV1ApiMetadata
43
+ include Google::Apis::Core::Hashable
44
+
45
+ # An API resource in the API Hub.
46
+ # Corresponds to the JSON property `api`
47
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Api]
48
+ attr_accessor :api
49
+
50
+ # Optional. Timestamp indicating when the API was created at the source.
51
+ # Corresponds to the JSON property `originalCreateTime`
52
+ # @return [String]
53
+ attr_accessor :original_create_time
54
+
55
+ # Optional. The unique identifier of the API in the system where it was
56
+ # originally created.
57
+ # Corresponds to the JSON property `originalId`
58
+ # @return [String]
59
+ attr_accessor :original_id
60
+
61
+ # Required. Timestamp indicating when the API was last updated at the source.
62
+ # Corresponds to the JSON property `originalUpdateTime`
63
+ # @return [String]
64
+ attr_accessor :original_update_time
65
+
66
+ # Optional. The list of versions present in an API resource.
67
+ # Corresponds to the JSON property `versions`
68
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1VersionMetadata>]
69
+ attr_accessor :versions
70
+
71
+ def initialize(**args)
72
+ update!(**args)
73
+ end
74
+
75
+ # Update properties of this object
76
+ def update!(**args)
77
+ @api = args[:api] if args.key?(:api)
78
+ @original_create_time = args[:original_create_time] if args.key?(:original_create_time)
79
+ @original_id = args[:original_id] if args.key?(:original_id)
80
+ @original_update_time = args[:original_update_time] if args.key?(:original_update_time)
81
+ @versions = args[:versions] if args.key?(:versions)
82
+ end
83
+ end
84
+
85
+ # The details for the action to execute.
86
+ class GoogleCloudApihubV1ActionExecutionDetail
87
+ include Google::Apis::Core::Hashable
88
+
89
+ # Required. The action id of the plugin to execute.
90
+ # Corresponds to the JSON property `actionId`
91
+ # @return [String]
92
+ attr_accessor :action_id
93
+
94
+ def initialize(**args)
95
+ update!(**args)
96
+ end
97
+
98
+ # Update properties of this object
99
+ def update!(**args)
100
+ @action_id = args[:action_id] if args.key?(:action_id)
101
+ end
102
+ end
103
+
104
+ # The value that can be assigned to the attribute when the data type is enum.
105
+ class GoogleCloudApihubV1AllowedValue
106
+ include Google::Apis::Core::Hashable
107
+
108
+ # Optional. The detailed description of the allowed value.
109
+ # Corresponds to the JSON property `description`
110
+ # @return [String]
111
+ attr_accessor :description
112
+
113
+ # Required. The display name of the allowed value.
114
+ # Corresponds to the JSON property `displayName`
115
+ # @return [String]
116
+ attr_accessor :display_name
117
+
118
+ # Required. The ID of the allowed value. * If provided, the same will be used.
119
+ # The service will throw an error if the specified id is already used by another
120
+ # allowed value in the same attribute resource. * If not provided, a system
121
+ # generated id derived from the display name will be used. In this case, the
122
+ # service will handle conflict resolution by adding a system generated suffix in
123
+ # case of duplicates. This value should be 4-63 characters, and valid characters
124
+ # are /a-z-/.
125
+ # Corresponds to the JSON property `id`
126
+ # @return [String]
127
+ attr_accessor :id
128
+
129
+ # Optional. When set to true, the allowed value cannot be updated or deleted by
130
+ # the user. It can only be true for System defined attributes.
131
+ # Corresponds to the JSON property `immutable`
132
+ # @return [Boolean]
133
+ attr_accessor :immutable
134
+ alias_method :immutable?, :immutable
135
+
136
+ def initialize(**args)
137
+ update!(**args)
138
+ end
139
+
140
+ # Update properties of this object
141
+ def update!(**args)
142
+ @description = args[:description] if args.key?(:description)
143
+ @display_name = args[:display_name] if args.key?(:display_name)
144
+ @id = args[:id] if args.key?(:id)
145
+ @immutable = args[:immutable] if args.key?(:immutable)
146
+ end
147
+ end
148
+
149
+ # An API resource in the API Hub.
150
+ class GoogleCloudApihubV1Api
151
+ include Google::Apis::Core::Hashable
152
+
153
+ # The attribute values associated with resource.
154
+ # Corresponds to the JSON property `apiFunctionalRequirements`
155
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
156
+ attr_accessor :api_functional_requirements
157
+
158
+ # The attribute values associated with resource.
159
+ # Corresponds to the JSON property `apiRequirements`
160
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
161
+ attr_accessor :api_requirements
162
+
163
+ # The attribute values associated with resource.
164
+ # Corresponds to the JSON property `apiStyle`
165
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
166
+ attr_accessor :api_style
167
+
168
+ # The attribute values associated with resource.
169
+ # Corresponds to the JSON property `apiTechnicalRequirements`
170
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
171
+ attr_accessor :api_technical_requirements
172
+
173
+ # Optional. The list of user defined attributes associated with the API resource.
174
+ # The key is the attribute name. It will be of the format: `projects/`project`/
175
+ # locations/`location`/attributes/`attribute``. The value is the attribute
176
+ # values associated with the resource.
177
+ # Corresponds to the JSON property `attributes`
178
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
179
+ attr_accessor :attributes
180
+
181
+ # The attribute values associated with resource.
182
+ # Corresponds to the JSON property `businessUnit`
183
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
184
+ attr_accessor :business_unit
185
+
186
+ # Output only. The time at which the API resource was created.
187
+ # Corresponds to the JSON property `createTime`
188
+ # @return [String]
189
+ attr_accessor :create_time
190
+
191
+ # Optional. The description of the API resource.
192
+ # Corresponds to the JSON property `description`
193
+ # @return [String]
194
+ attr_accessor :description
195
+
196
+ # Required. The display name of the API resource.
197
+ # Corresponds to the JSON property `displayName`
198
+ # @return [String]
199
+ attr_accessor :display_name
200
+
201
+ # Documentation details.
202
+ # Corresponds to the JSON property `documentation`
203
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
204
+ attr_accessor :documentation
205
+
206
+ # Optional. Fingerprint of the API resource.
207
+ # Corresponds to the JSON property `fingerprint`
208
+ # @return [String]
209
+ attr_accessor :fingerprint
210
+
211
+ # The attribute values associated with resource.
212
+ # Corresponds to the JSON property `maturityLevel`
213
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
214
+ attr_accessor :maturity_level
215
+
216
+ # Identifier. The name of the API resource in the API Hub. Format: `projects/`
217
+ # project`/locations/`location`/apis/`api``
218
+ # Corresponds to the JSON property `name`
219
+ # @return [String]
220
+ attr_accessor :name
221
+
222
+ # Owner details.
223
+ # Corresponds to the JSON property `owner`
224
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Owner]
225
+ attr_accessor :owner
226
+
227
+ # Optional. The selected version for an API resource. This can be used when
228
+ # special handling is needed on client side for particular version of the API.
229
+ # Format is `projects/`project`/locations/`location`/apis/`api`/versions/`
230
+ # version``
231
+ # Corresponds to the JSON property `selectedVersion`
232
+ # @return [String]
233
+ attr_accessor :selected_version
234
+
235
+ # Output only. The list of sources and metadata from the sources of the API
236
+ # resource.
237
+ # Corresponds to the JSON property `sourceMetadata`
238
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SourceMetadata>]
239
+ attr_accessor :source_metadata
240
+
241
+ # The attribute values associated with resource.
242
+ # Corresponds to the JSON property `targetUser`
243
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
244
+ attr_accessor :target_user
245
+
246
+ # The attribute values associated with resource.
247
+ # Corresponds to the JSON property `team`
248
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
249
+ attr_accessor :team
250
+
251
+ # Output only. The time at which the API resource was last updated.
252
+ # Corresponds to the JSON property `updateTime`
253
+ # @return [String]
254
+ attr_accessor :update_time
255
+
256
+ # Output only. The list of versions present in an API resource. Note: An API
257
+ # resource can be associated with more than 1 version. Format is `projects/`
258
+ # project`/locations/`location`/apis/`api`/versions/`version``
259
+ # Corresponds to the JSON property `versions`
260
+ # @return [Array<String>]
261
+ attr_accessor :versions
262
+
263
+ def initialize(**args)
264
+ update!(**args)
265
+ end
266
+
267
+ # Update properties of this object
268
+ def update!(**args)
269
+ @api_functional_requirements = args[:api_functional_requirements] if args.key?(:api_functional_requirements)
270
+ @api_requirements = args[:api_requirements] if args.key?(:api_requirements)
271
+ @api_style = args[:api_style] if args.key?(:api_style)
272
+ @api_technical_requirements = args[:api_technical_requirements] if args.key?(:api_technical_requirements)
273
+ @attributes = args[:attributes] if args.key?(:attributes)
274
+ @business_unit = args[:business_unit] if args.key?(:business_unit)
275
+ @create_time = args[:create_time] if args.key?(:create_time)
276
+ @description = args[:description] if args.key?(:description)
277
+ @display_name = args[:display_name] if args.key?(:display_name)
278
+ @documentation = args[:documentation] if args.key?(:documentation)
279
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
280
+ @maturity_level = args[:maturity_level] if args.key?(:maturity_level)
281
+ @name = args[:name] if args.key?(:name)
282
+ @owner = args[:owner] if args.key?(:owner)
283
+ @selected_version = args[:selected_version] if args.key?(:selected_version)
284
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
285
+ @target_user = args[:target_user] if args.key?(:target_user)
286
+ @team = args[:team] if args.key?(:team)
287
+ @update_time = args[:update_time] if args.key?(:update_time)
288
+ @versions = args[:versions] if args.key?(:versions)
289
+ end
290
+ end
291
+
292
+ # The API data to be collected.
293
+ class GoogleCloudApihubV1ApiData
294
+ include Google::Apis::Core::Hashable
295
+
296
+ # The message to hold repeated API metadata.
297
+ # Corresponds to the JSON property `apiMetadataList`
298
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiMetadataList]
299
+ attr_accessor :api_metadata_list
300
+
301
+ def initialize(**args)
302
+ update!(**args)
303
+ end
304
+
305
+ # Update properties of this object
306
+ def update!(**args)
307
+ @api_metadata_list = args[:api_metadata_list] if args.key?(:api_metadata_list)
308
+ end
309
+ end
310
+
311
+ # An ApiHubInstance represents the instance resources of the API Hub. Currently,
312
+ # only one ApiHub instance is allowed for each project.
313
+ class GoogleCloudApihubV1ApiHubInstance
314
+ include Google::Apis::Core::Hashable
315
+
316
+ # Available configurations to provision an ApiHub Instance.
317
+ # Corresponds to the JSON property `config`
318
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Config]
319
+ attr_accessor :config
320
+
321
+ # Output only. Creation timestamp.
322
+ # Corresponds to the JSON property `createTime`
323
+ # @return [String]
324
+ attr_accessor :create_time
325
+
326
+ # Optional. Description of the ApiHub instance.
327
+ # Corresponds to the JSON property `description`
328
+ # @return [String]
329
+ attr_accessor :description
330
+
331
+ # Optional. Instance labels to represent user-provided metadata. Refer to cloud
332
+ # documentation on labels for more details. https://cloud.google.com/compute/
333
+ # docs/labeling-resources
334
+ # Corresponds to the JSON property `labels`
335
+ # @return [Hash<String,String>]
336
+ attr_accessor :labels
337
+
338
+ # Identifier. Format: `projects/`project`/locations/`location`/apiHubInstances/`
339
+ # apiHubInstance``.
340
+ # Corresponds to the JSON property `name`
341
+ # @return [String]
342
+ attr_accessor :name
343
+
344
+ # Output only. The current state of the ApiHub instance.
345
+ # Corresponds to the JSON property `state`
346
+ # @return [String]
347
+ attr_accessor :state
348
+
349
+ # Output only. Extra information about ApiHub instance state. Currently the
350
+ # message would be populated when state is `FAILED`.
351
+ # Corresponds to the JSON property `stateMessage`
352
+ # @return [String]
353
+ attr_accessor :state_message
354
+
355
+ # Output only. Last update timestamp.
356
+ # Corresponds to the JSON property `updateTime`
357
+ # @return [String]
358
+ attr_accessor :update_time
359
+
360
+ def initialize(**args)
361
+ update!(**args)
362
+ end
363
+
364
+ # Update properties of this object
365
+ def update!(**args)
366
+ @config = args[:config] if args.key?(:config)
367
+ @create_time = args[:create_time] if args.key?(:create_time)
368
+ @description = args[:description] if args.key?(:description)
369
+ @labels = args[:labels] if args.key?(:labels)
370
+ @name = args[:name] if args.key?(:name)
371
+ @state = args[:state] if args.key?(:state)
372
+ @state_message = args[:state_message] if args.key?(:state_message)
373
+ @update_time = args[:update_time] if args.key?(:update_time)
374
+ end
375
+ end
376
+
377
+ # ApiHubResource is one of the resources such as Api, Operation, Deployment,
378
+ # Definition, Spec and Version resources stored in API-Hub.
379
+ class GoogleCloudApihubV1ApiHubResource
380
+ include Google::Apis::Core::Hashable
381
+
382
+ # An API resource in the API Hub.
383
+ # Corresponds to the JSON property `api`
384
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Api]
385
+ attr_accessor :api
386
+
387
+ # Represents a definition for example schema, request, response definitions
388
+ # contained in an API version. A definition is added/updated/deleted in an API
389
+ # version when a new spec is added or an existing spec is updated/deleted in a
390
+ # version. Currently, definition will be created only corresponding to OpenAPI
391
+ # spec as parsing is supported for OpenAPI spec. Also, within OpenAPI spec, only
392
+ # `schema` object is supported.
393
+ # Corresponds to the JSON property `definition`
394
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Definition]
395
+ attr_accessor :definition
396
+
397
+ # Details of the deployment where APIs are hosted. A deployment could represent
398
+ # an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud
399
+ # services as well. A deployment entity is a root level entity in the API hub
400
+ # and exists independent of any API.
401
+ # Corresponds to the JSON property `deployment`
402
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Deployment]
403
+ attr_accessor :deployment
404
+
405
+ # Represents an operation contained in an API version in the API Hub. An
406
+ # operation is added/updated/deleted in an API version when a new spec is added
407
+ # or an existing spec is updated/deleted in a version. Currently, an operation
408
+ # will be created only corresponding to OpenAPI spec as parsing is supported for
409
+ # OpenAPI spec. Alternatively operations can be managed via create,update and
410
+ # delete APIs, creation of apiOperation can be possible only for version with no
411
+ # parsed operations and update/delete can be possible only for operations
412
+ # created via create API.
413
+ # Corresponds to the JSON property `operation`
414
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiOperation]
415
+ attr_accessor :operation
416
+
417
+ # Represents a spec associated with an API version in the API Hub. Note that
418
+ # specs of various types can be uploaded, however parsing of details is
419
+ # supported for OpenAPI spec currently.
420
+ # Corresponds to the JSON property `spec`
421
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Spec]
422
+ attr_accessor :spec
423
+
424
+ # Represents a version of the API resource in API hub. This is also referred to
425
+ # as the API version.
426
+ # Corresponds to the JSON property `version`
427
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Version]
428
+ attr_accessor :version
429
+
430
+ def initialize(**args)
431
+ update!(**args)
432
+ end
433
+
434
+ # Update properties of this object
435
+ def update!(**args)
436
+ @api = args[:api] if args.key?(:api)
437
+ @definition = args[:definition] if args.key?(:definition)
438
+ @deployment = args[:deployment] if args.key?(:deployment)
439
+ @operation = args[:operation] if args.key?(:operation)
440
+ @spec = args[:spec] if args.key?(:spec)
441
+ @version = args[:version] if args.key?(:version)
442
+ end
443
+ end
444
+
445
+ # Config for authentication with API key.
446
+ class GoogleCloudApihubV1ApiKeyConfig
447
+ include Google::Apis::Core::Hashable
448
+
449
+ # Secret provides a reference to entries in Secret Manager.
450
+ # Corresponds to the JSON property `apiKey`
451
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Secret]
452
+ attr_accessor :api_key
453
+
454
+ # Required. The location of the API key. The default value is QUERY.
455
+ # Corresponds to the JSON property `httpElementLocation`
456
+ # @return [String]
457
+ attr_accessor :http_element_location
458
+
459
+ # Required. The parameter name of the API key. E.g. If the API request is "https:
460
+ # //example.com/act?api_key=", "api_key" would be the parameter name.
461
+ # Corresponds to the JSON property `name`
462
+ # @return [String]
463
+ attr_accessor :name
464
+
465
+ def initialize(**args)
466
+ update!(**args)
467
+ end
468
+
469
+ # Update properties of this object
470
+ def update!(**args)
471
+ @api_key = args[:api_key] if args.key?(:api_key)
472
+ @http_element_location = args[:http_element_location] if args.key?(:http_element_location)
473
+ @name = args[:name] if args.key?(:name)
474
+ end
475
+ end
476
+
477
+ # The message to hold repeated API metadata.
478
+ class GoogleCloudApihubV1ApiMetadataList
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # Required. The list of API metadata.
482
+ # Corresponds to the JSON property `apiMetadata`
483
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ApiMetadata>]
484
+ attr_accessor :api_metadata
485
+
486
+ def initialize(**args)
487
+ update!(**args)
488
+ end
489
+
490
+ # Update properties of this object
491
+ def update!(**args)
492
+ @api_metadata = args[:api_metadata] if args.key?(:api_metadata)
493
+ end
494
+ end
495
+
496
+ # Represents an operation contained in an API version in the API Hub. An
497
+ # operation is added/updated/deleted in an API version when a new spec is added
498
+ # or an existing spec is updated/deleted in a version. Currently, an operation
499
+ # will be created only corresponding to OpenAPI spec as parsing is supported for
500
+ # OpenAPI spec. Alternatively operations can be managed via create,update and
501
+ # delete APIs, creation of apiOperation can be possible only for version with no
502
+ # parsed operations and update/delete can be possible only for operations
503
+ # created via create API.
504
+ class GoogleCloudApihubV1ApiOperation
505
+ include Google::Apis::Core::Hashable
506
+
507
+ # Optional. The list of user defined attributes associated with the API
508
+ # operation resource. The key is the attribute name. It will be of the format: `
509
+ # projects/`project`/locations/`location`/attributes/`attribute``. The value is
510
+ # the attribute values associated with the resource.
511
+ # Corresponds to the JSON property `attributes`
512
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
513
+ attr_accessor :attributes
514
+
515
+ # Output only. The time at which the operation was created.
516
+ # Corresponds to the JSON property `createTime`
517
+ # @return [String]
518
+ attr_accessor :create_time
519
+
520
+ # The operation details parsed from the spec.
521
+ # Corresponds to the JSON property `details`
522
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1OperationDetails]
523
+ attr_accessor :details
524
+
525
+ # Identifier. The name of the operation. Format: `projects/`project`/locations/`
526
+ # location`/apis/`api`/versions/`version`/operations/`operation``
527
+ # Corresponds to the JSON property `name`
528
+ # @return [String]
529
+ attr_accessor :name
530
+
531
+ # Output only. The list of sources and metadata from the sources of the API
532
+ # operation.
533
+ # Corresponds to the JSON property `sourceMetadata`
534
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SourceMetadata>]
535
+ attr_accessor :source_metadata
536
+
537
+ # Output only. The name of the spec will be of the format: `projects/`project`/
538
+ # locations/`location`/apis/`api`/versions/`version`/specs/`spec`` Note:The name
539
+ # of the spec will be empty if the operation is created via CreateApiOperation
540
+ # API.
541
+ # Corresponds to the JSON property `spec`
542
+ # @return [String]
543
+ attr_accessor :spec
544
+
545
+ # Output only. The time at which the operation was last updated.
546
+ # Corresponds to the JSON property `updateTime`
547
+ # @return [String]
548
+ attr_accessor :update_time
549
+
550
+ def initialize(**args)
551
+ update!(**args)
552
+ end
553
+
554
+ # Update properties of this object
555
+ def update!(**args)
556
+ @attributes = args[:attributes] if args.key?(:attributes)
557
+ @create_time = args[:create_time] if args.key?(:create_time)
558
+ @details = args[:details] if args.key?(:details)
559
+ @name = args[:name] if args.key?(:name)
560
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
561
+ @spec = args[:spec] if args.key?(:spec)
562
+ @update_time = args[:update_time] if args.key?(:update_time)
563
+ end
564
+ end
565
+
566
+ # The details of the Application Integration endpoint to be triggered for
567
+ # curation.
568
+ class GoogleCloudApihubV1ApplicationIntegrationEndpointDetails
569
+ include Google::Apis::Core::Hashable
570
+
571
+ # Required. The API trigger ID of the Application Integration workflow.
572
+ # Corresponds to the JSON property `triggerId`
573
+ # @return [String]
574
+ attr_accessor :trigger_id
575
+
576
+ # Required. The endpoint URI should be a valid REST URI for triggering an
577
+ # Application Integration. Format: `https://integrations.googleapis.com/v1/`name=
578
+ # projects/*/locations/*/integrations/*`:execute` or `https://`location`-
579
+ # integrations.googleapis.com/v1/`name=projects/*/locations/*/integrations/*`:
580
+ # execute`
581
+ # Corresponds to the JSON property `uri`
582
+ # @return [String]
583
+ attr_accessor :uri
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @trigger_id = args[:trigger_id] if args.key?(:trigger_id)
592
+ @uri = args[:uri] if args.key?(:uri)
593
+ end
594
+ end
595
+
596
+ # An attribute in the API Hub. An attribute is a name value pair which can be
597
+ # attached to different resources in the API hub based on the scope of the
598
+ # attribute. Attributes can either be pre-defined by the API Hub or created by
599
+ # users.
600
+ class GoogleCloudApihubV1Attribute
601
+ include Google::Apis::Core::Hashable
602
+
603
+ # Optional. The list of allowed values when the attribute value is of type enum.
604
+ # This is required when the data_type of the attribute is ENUM. The maximum
605
+ # number of allowed values of an attribute will be 1000.
606
+ # Corresponds to the JSON property `allowedValues`
607
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1AllowedValue>]
608
+ attr_accessor :allowed_values
609
+
610
+ # Optional. The maximum number of values that the attribute can have when
611
+ # associated with an API Hub resource. Cardinality 1 would represent a single-
612
+ # valued attribute. It must not be less than 1 or greater than 20. If not
613
+ # specified, the cardinality would be set to 1 by default and represent a single-
614
+ # valued attribute.
615
+ # Corresponds to the JSON property `cardinality`
616
+ # @return [Fixnum]
617
+ attr_accessor :cardinality
618
+
619
+ # Output only. The time at which the attribute was created.
620
+ # Corresponds to the JSON property `createTime`
621
+ # @return [String]
622
+ attr_accessor :create_time
623
+
624
+ # Required. The type of the data of the attribute.
625
+ # Corresponds to the JSON property `dataType`
626
+ # @return [String]
627
+ attr_accessor :data_type
628
+
629
+ # Output only. The definition type of the attribute.
630
+ # Corresponds to the JSON property `definitionType`
631
+ # @return [String]
632
+ attr_accessor :definition_type
633
+
634
+ # Optional. The description of the attribute.
635
+ # Corresponds to the JSON property `description`
636
+ # @return [String]
637
+ attr_accessor :description
638
+
639
+ # Required. The display name of the attribute.
640
+ # Corresponds to the JSON property `displayName`
641
+ # @return [String]
642
+ attr_accessor :display_name
643
+
644
+ # Output only. When mandatory is true, the attribute is mandatory for the
645
+ # resource specified in the scope. Only System defined attributes can be
646
+ # mandatory.
647
+ # Corresponds to the JSON property `mandatory`
648
+ # @return [Boolean]
649
+ attr_accessor :mandatory
650
+ alias_method :mandatory?, :mandatory
651
+
652
+ # Identifier. The name of the attribute in the API Hub. Format: `projects/`
653
+ # project`/locations/`location`/attributes/`attribute``
654
+ # Corresponds to the JSON property `name`
655
+ # @return [String]
656
+ attr_accessor :name
657
+
658
+ # Required. The scope of the attribute. It represents the resource in the API
659
+ # Hub to which the attribute can be linked.
660
+ # Corresponds to the JSON property `scope`
661
+ # @return [String]
662
+ attr_accessor :scope
663
+
664
+ # Output only. The time at which the attribute was last updated.
665
+ # Corresponds to the JSON property `updateTime`
666
+ # @return [String]
667
+ attr_accessor :update_time
668
+
669
+ def initialize(**args)
670
+ update!(**args)
671
+ end
672
+
673
+ # Update properties of this object
674
+ def update!(**args)
675
+ @allowed_values = args[:allowed_values] if args.key?(:allowed_values)
676
+ @cardinality = args[:cardinality] if args.key?(:cardinality)
677
+ @create_time = args[:create_time] if args.key?(:create_time)
678
+ @data_type = args[:data_type] if args.key?(:data_type)
679
+ @definition_type = args[:definition_type] if args.key?(:definition_type)
680
+ @description = args[:description] if args.key?(:description)
681
+ @display_name = args[:display_name] if args.key?(:display_name)
682
+ @mandatory = args[:mandatory] if args.key?(:mandatory)
683
+ @name = args[:name] if args.key?(:name)
684
+ @scope = args[:scope] if args.key?(:scope)
685
+ @update_time = args[:update_time] if args.key?(:update_time)
686
+ end
687
+ end
688
+
689
+ # The attribute values associated with resource.
690
+ class GoogleCloudApihubV1AttributeValues
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Output only. The name of the attribute. Format: projects/`project`/locations/`
694
+ # location`/attributes/`attribute`
695
+ # Corresponds to the JSON property `attribute`
696
+ # @return [String]
697
+ attr_accessor :attribute
698
+
699
+ # The attribute values of data type enum.
700
+ # Corresponds to the JSON property `enumValues`
701
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1EnumAttributeValues]
702
+ attr_accessor :enum_values
703
+
704
+ # The attribute values of data type string or JSON.
705
+ # Corresponds to the JSON property `jsonValues`
706
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1StringAttributeValues]
707
+ attr_accessor :json_values
708
+
709
+ # The attribute values of data type string or JSON.
710
+ # Corresponds to the JSON property `stringValues`
711
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1StringAttributeValues]
712
+ attr_accessor :string_values
713
+
714
+ # The attribute values of data type string or JSON.
715
+ # Corresponds to the JSON property `uriValues`
716
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1StringAttributeValues]
717
+ attr_accessor :uri_values
718
+
719
+ def initialize(**args)
720
+ update!(**args)
721
+ end
722
+
723
+ # Update properties of this object
724
+ def update!(**args)
725
+ @attribute = args[:attribute] if args.key?(:attribute)
726
+ @enum_values = args[:enum_values] if args.key?(:enum_values)
727
+ @json_values = args[:json_values] if args.key?(:json_values)
728
+ @string_values = args[:string_values] if args.key?(:string_values)
729
+ @uri_values = args[:uri_values] if args.key?(:uri_values)
730
+ end
731
+ end
732
+
733
+ # AuthConfig represents the authentication information.
734
+ class GoogleCloudApihubV1AuthConfig
735
+ include Google::Apis::Core::Hashable
736
+
737
+ # Config for authentication with API key.
738
+ # Corresponds to the JSON property `apiKeyConfig`
739
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiKeyConfig]
740
+ attr_accessor :api_key_config
741
+
742
+ # Required. The authentication type.
743
+ # Corresponds to the JSON property `authType`
744
+ # @return [String]
745
+ attr_accessor :auth_type
746
+
747
+ # Config for Google service account authentication.
748
+ # Corresponds to the JSON property `googleServiceAccountConfig`
749
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1GoogleServiceAccountConfig]
750
+ attr_accessor :google_service_account_config
751
+
752
+ # Parameters to support Oauth 2.0 client credentials grant authentication. See
753
+ # https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
754
+ # Corresponds to the JSON property `oauth2ClientCredentialsConfig`
755
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Oauth2ClientCredentialsConfig]
756
+ attr_accessor :oauth2_client_credentials_config
757
+
758
+ # Parameters to support Username and Password Authentication.
759
+ # Corresponds to the JSON property `userPasswordConfig`
760
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1UserPasswordConfig]
761
+ attr_accessor :user_password_config
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @api_key_config = args[:api_key_config] if args.key?(:api_key_config)
770
+ @auth_type = args[:auth_type] if args.key?(:auth_type)
771
+ @google_service_account_config = args[:google_service_account_config] if args.key?(:google_service_account_config)
772
+ @oauth2_client_credentials_config = args[:oauth2_client_credentials_config] if args.key?(:oauth2_client_credentials_config)
773
+ @user_password_config = args[:user_password_config] if args.key?(:user_password_config)
774
+ end
775
+ end
776
+
777
+ # AuthConfigTemplate represents the authentication template for a plugin.
778
+ class GoogleCloudApihubV1AuthConfigTemplate
779
+ include Google::Apis::Core::Hashable
780
+
781
+ # Config for Google service account authentication.
782
+ # Corresponds to the JSON property `serviceAccount`
783
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1GoogleServiceAccountConfig]
784
+ attr_accessor :service_account
785
+
786
+ # Required. The list of authentication types supported by the plugin.
787
+ # Corresponds to the JSON property `supportedAuthTypes`
788
+ # @return [Array<String>]
789
+ attr_accessor :supported_auth_types
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @service_account = args[:service_account] if args.key?(:service_account)
798
+ @supported_auth_types = args[:supported_auth_types] if args.key?(:supported_auth_types)
799
+ end
800
+ end
801
+
802
+ # The CollectApiData method's request.
803
+ class GoogleCloudApihubV1CollectApiDataRequest
804
+ include Google::Apis::Core::Hashable
805
+
806
+ # Required. The action ID to be used for collecting the API data. This should
807
+ # map to one of the action IDs specified in action configs in the plugin.
808
+ # Corresponds to the JSON property `actionId`
809
+ # @return [String]
810
+ attr_accessor :action_id
811
+
812
+ # The API data to be collected.
813
+ # Corresponds to the JSON property `apiData`
814
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiData]
815
+ attr_accessor :api_data
816
+
817
+ # Required. The type of collection. Applies to all entries in api_data.
818
+ # Corresponds to the JSON property `collectionType`
819
+ # @return [String]
820
+ attr_accessor :collection_type
821
+
822
+ # Required. The plugin instance collecting the API data. Format: `projects/`
823
+ # project`/locations/`location`/plugins/`plugin`/instances/`instance``.
824
+ # Corresponds to the JSON property `pluginInstance`
825
+ # @return [String]
826
+ attr_accessor :plugin_instance
827
+
828
+ def initialize(**args)
829
+ update!(**args)
830
+ end
831
+
832
+ # Update properties of this object
833
+ def update!(**args)
834
+ @action_id = args[:action_id] if args.key?(:action_id)
835
+ @api_data = args[:api_data] if args.key?(:api_data)
836
+ @collection_type = args[:collection_type] if args.key?(:collection_type)
837
+ @plugin_instance = args[:plugin_instance] if args.key?(:plugin_instance)
838
+ end
839
+ end
840
+
841
+ # Available configurations to provision an ApiHub Instance.
842
+ class GoogleCloudApihubV1Config
843
+ include Google::Apis::Core::Hashable
844
+
845
+ # Optional. The Customer Managed Encryption Key (CMEK) used for data encryption.
846
+ # The CMEK name should follow the format of `projects/([^/]+)/locations/([^/]+)/
847
+ # keyRings/([^/]+)/cryptoKeys/([^/]+)`, where the location must match the
848
+ # instance location. If the CMEK is not provided, a GMEK will be created for the
849
+ # instance.
850
+ # Corresponds to the JSON property `cmekKeyName`
851
+ # @return [String]
852
+ attr_accessor :cmek_key_name
853
+
854
+ # Optional. If true, the search will be disabled for the instance. The default
855
+ # value is false.
856
+ # Corresponds to the JSON property `disableSearch`
857
+ # @return [Boolean]
858
+ attr_accessor :disable_search
859
+ alias_method :disable_search?, :disable_search
860
+
861
+ # Optional. Encryption type for the region. If the encryption type is CMEK, the
862
+ # cmek_key_name must be provided. If no encryption type is provided, GMEK will
863
+ # be used.
864
+ # Corresponds to the JSON property `encryptionType`
865
+ # @return [String]
866
+ attr_accessor :encryption_type
867
+
868
+ # Optional. The name of the Vertex AI location where the data store is stored.
869
+ # Corresponds to the JSON property `vertexLocation`
870
+ # @return [String]
871
+ attr_accessor :vertex_location
872
+
873
+ def initialize(**args)
874
+ update!(**args)
875
+ end
876
+
877
+ # Update properties of this object
878
+ def update!(**args)
879
+ @cmek_key_name = args[:cmek_key_name] if args.key?(:cmek_key_name)
880
+ @disable_search = args[:disable_search] if args.key?(:disable_search)
881
+ @encryption_type = args[:encryption_type] if args.key?(:encryption_type)
882
+ @vertex_location = args[:vertex_location] if args.key?(:vertex_location)
883
+ end
884
+ end
885
+
886
+ # ConfigTemplate represents the configuration template for a plugin.
887
+ class GoogleCloudApihubV1ConfigTemplate
888
+ include Google::Apis::Core::Hashable
889
+
890
+ # Optional. The list of additional configuration variables for the plugin's
891
+ # configuration.
892
+ # Corresponds to the JSON property `additionalConfigTemplate`
893
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigVariableTemplate>]
894
+ attr_accessor :additional_config_template
895
+
896
+ # AuthConfigTemplate represents the authentication template for a plugin.
897
+ # Corresponds to the JSON property `authConfigTemplate`
898
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AuthConfigTemplate]
899
+ attr_accessor :auth_config_template
900
+
901
+ def initialize(**args)
902
+ update!(**args)
903
+ end
904
+
905
+ # Update properties of this object
906
+ def update!(**args)
907
+ @additional_config_template = args[:additional_config_template] if args.key?(:additional_config_template)
908
+ @auth_config_template = args[:auth_config_template] if args.key?(:auth_config_template)
909
+ end
910
+ end
911
+
912
+ # ConfigValueOption represents an option for a config variable of type enum or
913
+ # multi select.
914
+ class GoogleCloudApihubV1ConfigValueOption
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # Optional. Description of the option.
918
+ # Corresponds to the JSON property `description`
919
+ # @return [String]
920
+ attr_accessor :description
921
+
922
+ # Required. Display name of the option.
923
+ # Corresponds to the JSON property `displayName`
924
+ # @return [String]
925
+ attr_accessor :display_name
926
+
927
+ # Required. Id of the option.
928
+ # Corresponds to the JSON property `id`
929
+ # @return [String]
930
+ attr_accessor :id
931
+
932
+ def initialize(**args)
933
+ update!(**args)
934
+ end
935
+
936
+ # Update properties of this object
937
+ def update!(**args)
938
+ @description = args[:description] if args.key?(:description)
939
+ @display_name = args[:display_name] if args.key?(:display_name)
940
+ @id = args[:id] if args.key?(:id)
941
+ end
942
+ end
943
+
944
+ # ConfigVariable represents a additional configuration variable present in a
945
+ # PluginInstance Config or AuthConfig, based on a ConfigVariableTemplate.
946
+ class GoogleCloudApihubV1ConfigVariable
947
+ include Google::Apis::Core::Hashable
948
+
949
+ # Optional. The config variable value in case of config variable of type boolean.
950
+ # Corresponds to the JSON property `boolValue`
951
+ # @return [Boolean]
952
+ attr_accessor :bool_value
953
+ alias_method :bool_value?, :bool_value
954
+
955
+ # ConfigValueOption represents an option for a config variable of type enum or
956
+ # multi select.
957
+ # Corresponds to the JSON property `enumValue`
958
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigValueOption]
959
+ attr_accessor :enum_value
960
+
961
+ # Optional. The config variable value in case of config variable of type integer.
962
+ # Corresponds to the JSON property `intValue`
963
+ # @return [Fixnum]
964
+ attr_accessor :int_value
965
+
966
+ # Output only. Key will be the id to uniquely identify the config variable.
967
+ # Corresponds to the JSON property `key`
968
+ # @return [String]
969
+ attr_accessor :key
970
+
971
+ # The config variable value of data type multi int.
972
+ # Corresponds to the JSON property `multiIntValues`
973
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1MultiIntValues]
974
+ attr_accessor :multi_int_values
975
+
976
+ # The config variable value of data type multi select.
977
+ # Corresponds to the JSON property `multiSelectValues`
978
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1MultiSelectValues]
979
+ attr_accessor :multi_select_values
980
+
981
+ # The config variable value of data type multi string.
982
+ # Corresponds to the JSON property `multiStringValues`
983
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1MultiStringValues]
984
+ attr_accessor :multi_string_values
985
+
986
+ # Secret provides a reference to entries in Secret Manager.
987
+ # Corresponds to the JSON property `secretValue`
988
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Secret]
989
+ attr_accessor :secret_value
990
+
991
+ # Optional. The config variable value in case of config variable of type string.
992
+ # Corresponds to the JSON property `stringValue`
993
+ # @return [String]
994
+ attr_accessor :string_value
995
+
996
+ def initialize(**args)
997
+ update!(**args)
998
+ end
999
+
1000
+ # Update properties of this object
1001
+ def update!(**args)
1002
+ @bool_value = args[:bool_value] if args.key?(:bool_value)
1003
+ @enum_value = args[:enum_value] if args.key?(:enum_value)
1004
+ @int_value = args[:int_value] if args.key?(:int_value)
1005
+ @key = args[:key] if args.key?(:key)
1006
+ @multi_int_values = args[:multi_int_values] if args.key?(:multi_int_values)
1007
+ @multi_select_values = args[:multi_select_values] if args.key?(:multi_select_values)
1008
+ @multi_string_values = args[:multi_string_values] if args.key?(:multi_string_values)
1009
+ @secret_value = args[:secret_value] if args.key?(:secret_value)
1010
+ @string_value = args[:string_value] if args.key?(:string_value)
1011
+ end
1012
+ end
1013
+
1014
+ # ConfigVariableTemplate represents a configuration variable template present in
1015
+ # a Plugin Config.
1016
+ class GoogleCloudApihubV1ConfigVariableTemplate
1017
+ include Google::Apis::Core::Hashable
1018
+
1019
+ # Optional. Description.
1020
+ # Corresponds to the JSON property `description`
1021
+ # @return [String]
1022
+ attr_accessor :description
1023
+
1024
+ # Optional. Enum options. To be populated if `ValueType` is `ENUM`.
1025
+ # Corresponds to the JSON property `enumOptions`
1026
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigValueOption>]
1027
+ attr_accessor :enum_options
1028
+
1029
+ # Required. ID of the config variable. Must be unique within the configuration.
1030
+ # Corresponds to the JSON property `id`
1031
+ # @return [String]
1032
+ attr_accessor :id
1033
+
1034
+ # Optional. Multi select options. To be populated if `ValueType` is `
1035
+ # MULTI_SELECT`.
1036
+ # Corresponds to the JSON property `multiSelectOptions`
1037
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigValueOption>]
1038
+ attr_accessor :multi_select_options
1039
+
1040
+ # Optional. Flag represents that this `ConfigVariable` must be provided for a
1041
+ # PluginInstance.
1042
+ # Corresponds to the JSON property `required`
1043
+ # @return [Boolean]
1044
+ attr_accessor :required
1045
+ alias_method :required?, :required
1046
+
1047
+ # Optional. Regular expression in RE2 syntax used for validating the `value` of
1048
+ # a `ConfigVariable`.
1049
+ # Corresponds to the JSON property `validationRegex`
1050
+ # @return [String]
1051
+ attr_accessor :validation_regex
1052
+
1053
+ # Required. Type of the parameter: string, int, bool etc.
1054
+ # Corresponds to the JSON property `valueType`
1055
+ # @return [String]
1056
+ attr_accessor :value_type
1057
+
1058
+ def initialize(**args)
1059
+ update!(**args)
1060
+ end
1061
+
1062
+ # Update properties of this object
1063
+ def update!(**args)
1064
+ @description = args[:description] if args.key?(:description)
1065
+ @enum_options = args[:enum_options] if args.key?(:enum_options)
1066
+ @id = args[:id] if args.key?(:id)
1067
+ @multi_select_options = args[:multi_select_options] if args.key?(:multi_select_options)
1068
+ @required = args[:required] if args.key?(:required)
1069
+ @validation_regex = args[:validation_regex] if args.key?(:validation_regex)
1070
+ @value_type = args[:value_type] if args.key?(:value_type)
1071
+ end
1072
+ end
1073
+
1074
+ # A curation resource in the API Hub.
1075
+ class GoogleCloudApihubV1Curation
1076
+ include Google::Apis::Core::Hashable
1077
+
1078
+ # Output only. The time at which the curation was created.
1079
+ # Corresponds to the JSON property `createTime`
1080
+ # @return [String]
1081
+ attr_accessor :create_time
1082
+
1083
+ # Optional. The description of the curation.
1084
+ # Corresponds to the JSON property `description`
1085
+ # @return [String]
1086
+ attr_accessor :description
1087
+
1088
+ # Required. The display name of the curation.
1089
+ # Corresponds to the JSON property `displayName`
1090
+ # @return [String]
1091
+ attr_accessor :display_name
1092
+
1093
+ # The endpoint to be triggered for curation. The endpoint will be invoked with a
1094
+ # request payload containing ApiMetadata. Response should contain curated data
1095
+ # in the form of ApiMetadata.
1096
+ # Corresponds to the JSON property `endpoint`
1097
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Endpoint]
1098
+ attr_accessor :endpoint
1099
+
1100
+ # Output only. The error code of the last execution of the curation. The error
1101
+ # code is populated only when the last execution state is failed.
1102
+ # Corresponds to the JSON property `lastExecutionErrorCode`
1103
+ # @return [String]
1104
+ attr_accessor :last_execution_error_code
1105
+
1106
+ # Output only. Error message describing the failure, if any, during the last
1107
+ # execution of the curation.
1108
+ # Corresponds to the JSON property `lastExecutionErrorMessage`
1109
+ # @return [String]
1110
+ attr_accessor :last_execution_error_message
1111
+
1112
+ # Output only. The last execution state of the curation.
1113
+ # Corresponds to the JSON property `lastExecutionState`
1114
+ # @return [String]
1115
+ attr_accessor :last_execution_state
1116
+
1117
+ # Identifier. The name of the curation. Format: `projects/`project`/locations/`
1118
+ # location`/curations/`curation``
1119
+ # Corresponds to the JSON property `name`
1120
+ # @return [String]
1121
+ attr_accessor :name
1122
+
1123
+ # Output only. The plugin instances and associated actions that are using the
1124
+ # curation. Note: A particular curation could be used by multiple plugin
1125
+ # instances or multiple actions in a plugin instance.
1126
+ # Corresponds to the JSON property `pluginInstanceActions`
1127
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1PluginInstanceActionId>]
1128
+ attr_accessor :plugin_instance_actions
1129
+
1130
+ # Output only. The time at which the curation was last updated.
1131
+ # Corresponds to the JSON property `updateTime`
1132
+ # @return [String]
1133
+ attr_accessor :update_time
1134
+
1135
+ def initialize(**args)
1136
+ update!(**args)
1137
+ end
1138
+
1139
+ # Update properties of this object
1140
+ def update!(**args)
1141
+ @create_time = args[:create_time] if args.key?(:create_time)
1142
+ @description = args[:description] if args.key?(:description)
1143
+ @display_name = args[:display_name] if args.key?(:display_name)
1144
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
1145
+ @last_execution_error_code = args[:last_execution_error_code] if args.key?(:last_execution_error_code)
1146
+ @last_execution_error_message = args[:last_execution_error_message] if args.key?(:last_execution_error_message)
1147
+ @last_execution_state = args[:last_execution_state] if args.key?(:last_execution_state)
1148
+ @name = args[:name] if args.key?(:name)
1149
+ @plugin_instance_actions = args[:plugin_instance_actions] if args.key?(:plugin_instance_actions)
1150
+ @update_time = args[:update_time] if args.key?(:update_time)
1151
+ end
1152
+ end
1153
+
1154
+ # The curation information for this plugin instance.
1155
+ class GoogleCloudApihubV1CurationConfig
1156
+ include Google::Apis::Core::Hashable
1157
+
1158
+ # Required. The curation type for this plugin instance.
1159
+ # Corresponds to the JSON property `curationType`
1160
+ # @return [String]
1161
+ attr_accessor :curation_type
1162
+
1163
+ # Custom curation information for this plugin instance.
1164
+ # Corresponds to the JSON property `customCuration`
1165
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1CustomCuration]
1166
+ attr_accessor :custom_curation
1167
+
1168
+ def initialize(**args)
1169
+ update!(**args)
1170
+ end
1171
+
1172
+ # Update properties of this object
1173
+ def update!(**args)
1174
+ @curation_type = args[:curation_type] if args.key?(:curation_type)
1175
+ @custom_curation = args[:custom_curation] if args.key?(:custom_curation)
1176
+ end
1177
+ end
1178
+
1179
+ # Custom curation information for this plugin instance.
1180
+ class GoogleCloudApihubV1CustomCuration
1181
+ include Google::Apis::Core::Hashable
1182
+
1183
+ # Required. The unique name of the curation resource. This will be the name of
1184
+ # the curation resource in the format: `projects/`project`/locations/`location`/
1185
+ # curations/`curation``
1186
+ # Corresponds to the JSON property `curation`
1187
+ # @return [String]
1188
+ attr_accessor :curation
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @curation = args[:curation] if args.key?(:curation)
1197
+ end
1198
+ end
1199
+
1200
+ # Represents a definition for example schema, request, response definitions
1201
+ # contained in an API version. A definition is added/updated/deleted in an API
1202
+ # version when a new spec is added or an existing spec is updated/deleted in a
1203
+ # version. Currently, definition will be created only corresponding to OpenAPI
1204
+ # spec as parsing is supported for OpenAPI spec. Also, within OpenAPI spec, only
1205
+ # `schema` object is supported.
1206
+ class GoogleCloudApihubV1Definition
1207
+ include Google::Apis::Core::Hashable
1208
+
1209
+ # Optional. The list of user defined attributes associated with the definition
1210
+ # resource. The key is the attribute name. It will be of the format: `projects/`
1211
+ # project`/locations/`location`/attributes/`attribute``. The value is the
1212
+ # attribute values associated with the resource.
1213
+ # Corresponds to the JSON property `attributes`
1214
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
1215
+ attr_accessor :attributes
1216
+
1217
+ # Output only. The time at which the definition was created.
1218
+ # Corresponds to the JSON property `createTime`
1219
+ # @return [String]
1220
+ attr_accessor :create_time
1221
+
1222
+ # Identifier. The name of the definition. Format: `projects/`project`/locations/`
1223
+ # location`/apis/`api`/versions/`version`/definitions/`definition``
1224
+ # Corresponds to the JSON property `name`
1225
+ # @return [String]
1226
+ attr_accessor :name
1227
+
1228
+ # The schema details derived from the spec. Currently, this entity is supported
1229
+ # for OpenAPI spec only. For OpenAPI spec, this maps to the schema defined in
1230
+ # the `definitions` section for OpenAPI 2.0 version and in `components.schemas`
1231
+ # section for OpenAPI 3.0 and 3.1 version.
1232
+ # Corresponds to the JSON property `schema`
1233
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Schema]
1234
+ attr_accessor :schema
1235
+
1236
+ # Output only. The name of the spec from where the definition was parsed. Format
1237
+ # is `projects/`project`/locations/`location`/apis/`api`/versions/`version`/
1238
+ # specs/`spec``
1239
+ # Corresponds to the JSON property `spec`
1240
+ # @return [String]
1241
+ attr_accessor :spec
1242
+
1243
+ # Output only. The type of the definition.
1244
+ # Corresponds to the JSON property `type`
1245
+ # @return [String]
1246
+ attr_accessor :type
1247
+
1248
+ # Output only. The time at which the definition was last updated.
1249
+ # Corresponds to the JSON property `updateTime`
1250
+ # @return [String]
1251
+ attr_accessor :update_time
1252
+
1253
+ def initialize(**args)
1254
+ update!(**args)
1255
+ end
1256
+
1257
+ # Update properties of this object
1258
+ def update!(**args)
1259
+ @attributes = args[:attributes] if args.key?(:attributes)
1260
+ @create_time = args[:create_time] if args.key?(:create_time)
1261
+ @name = args[:name] if args.key?(:name)
1262
+ @schema = args[:schema] if args.key?(:schema)
1263
+ @spec = args[:spec] if args.key?(:spec)
1264
+ @type = args[:type] if args.key?(:type)
1265
+ @update_time = args[:update_time] if args.key?(:update_time)
1266
+ end
1267
+ end
1268
+
1269
+ # A dependency resource defined in the API hub describes a dependency directed
1270
+ # from a consumer to a supplier entity. A dependency can be defined between two
1271
+ # Operations or between an Operation and External API.
1272
+ class GoogleCloudApihubV1Dependency
1273
+ include Google::Apis::Core::Hashable
1274
+
1275
+ # Optional. The list of user defined attributes associated with the dependency
1276
+ # resource. The key is the attribute name. It will be of the format: `projects/`
1277
+ # project`/locations/`location`/attributes/`attribute``. The value is the
1278
+ # attribute values associated with the resource.
1279
+ # Corresponds to the JSON property `attributes`
1280
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
1281
+ attr_accessor :attributes
1282
+
1283
+ # Reference to an entity participating in a dependency.
1284
+ # Corresponds to the JSON property `consumer`
1285
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1DependencyEntityReference]
1286
+ attr_accessor :consumer
1287
+
1288
+ # Output only. The time at which the dependency was created.
1289
+ # Corresponds to the JSON property `createTime`
1290
+ # @return [String]
1291
+ attr_accessor :create_time
1292
+
1293
+ # Optional. Human readable description corresponding of the dependency.
1294
+ # Corresponds to the JSON property `description`
1295
+ # @return [String]
1296
+ attr_accessor :description
1297
+
1298
+ # Output only. Discovery mode of the dependency.
1299
+ # Corresponds to the JSON property `discoveryMode`
1300
+ # @return [String]
1301
+ attr_accessor :discovery_mode
1302
+
1303
+ # Details describing error condition of a dependency.
1304
+ # Corresponds to the JSON property `errorDetail`
1305
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1DependencyErrorDetail]
1306
+ attr_accessor :error_detail
1307
+
1308
+ # Identifier. The name of the dependency in the API Hub. Format: `projects/`
1309
+ # project`/locations/`location`/dependencies/`dependency``
1310
+ # Corresponds to the JSON property `name`
1311
+ # @return [String]
1312
+ attr_accessor :name
1313
+
1314
+ # Output only. State of the dependency.
1315
+ # Corresponds to the JSON property `state`
1316
+ # @return [String]
1317
+ attr_accessor :state
1318
+
1319
+ # Reference to an entity participating in a dependency.
1320
+ # Corresponds to the JSON property `supplier`
1321
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1DependencyEntityReference]
1322
+ attr_accessor :supplier
1323
+
1324
+ # Output only. The time at which the dependency was last updated.
1325
+ # Corresponds to the JSON property `updateTime`
1326
+ # @return [String]
1327
+ attr_accessor :update_time
1328
+
1329
+ def initialize(**args)
1330
+ update!(**args)
1331
+ end
1332
+
1333
+ # Update properties of this object
1334
+ def update!(**args)
1335
+ @attributes = args[:attributes] if args.key?(:attributes)
1336
+ @consumer = args[:consumer] if args.key?(:consumer)
1337
+ @create_time = args[:create_time] if args.key?(:create_time)
1338
+ @description = args[:description] if args.key?(:description)
1339
+ @discovery_mode = args[:discovery_mode] if args.key?(:discovery_mode)
1340
+ @error_detail = args[:error_detail] if args.key?(:error_detail)
1341
+ @name = args[:name] if args.key?(:name)
1342
+ @state = args[:state] if args.key?(:state)
1343
+ @supplier = args[:supplier] if args.key?(:supplier)
1344
+ @update_time = args[:update_time] if args.key?(:update_time)
1345
+ end
1346
+ end
1347
+
1348
+ # Reference to an entity participating in a dependency.
1349
+ class GoogleCloudApihubV1DependencyEntityReference
1350
+ include Google::Apis::Core::Hashable
1351
+
1352
+ # Output only. Display name of the entity.
1353
+ # Corresponds to the JSON property `displayName`
1354
+ # @return [String]
1355
+ attr_accessor :display_name
1356
+
1357
+ # The resource name of an external API in the API Hub. Format: `projects/`
1358
+ # project`/locations/`location`/externalApis/`external_api``
1359
+ # Corresponds to the JSON property `externalApiResourceName`
1360
+ # @return [String]
1361
+ attr_accessor :external_api_resource_name
1362
+
1363
+ # The resource name of an operation in the API Hub. Format: `projects/`project`/
1364
+ # locations/`location`/apis/`api`/versions/`version`/operations/`operation``
1365
+ # Corresponds to the JSON property `operationResourceName`
1366
+ # @return [String]
1367
+ attr_accessor :operation_resource_name
1368
+
1369
+ def initialize(**args)
1370
+ update!(**args)
1371
+ end
1372
+
1373
+ # Update properties of this object
1374
+ def update!(**args)
1375
+ @display_name = args[:display_name] if args.key?(:display_name)
1376
+ @external_api_resource_name = args[:external_api_resource_name] if args.key?(:external_api_resource_name)
1377
+ @operation_resource_name = args[:operation_resource_name] if args.key?(:operation_resource_name)
1378
+ end
1379
+ end
1380
+
1381
+ # Details describing error condition of a dependency.
1382
+ class GoogleCloudApihubV1DependencyErrorDetail
1383
+ include Google::Apis::Core::Hashable
1384
+
1385
+ # Optional. Error in the dependency.
1386
+ # Corresponds to the JSON property `error`
1387
+ # @return [String]
1388
+ attr_accessor :error
1389
+
1390
+ # Optional. Timestamp at which the error was found.
1391
+ # Corresponds to the JSON property `errorTime`
1392
+ # @return [String]
1393
+ attr_accessor :error_time
1394
+
1395
+ def initialize(**args)
1396
+ update!(**args)
1397
+ end
1398
+
1399
+ # Update properties of this object
1400
+ def update!(**args)
1401
+ @error = args[:error] if args.key?(:error)
1402
+ @error_time = args[:error_time] if args.key?(:error_time)
1403
+ end
1404
+ end
1405
+
1406
+ # Details of the deployment where APIs are hosted. A deployment could represent
1407
+ # an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud
1408
+ # services as well. A deployment entity is a root level entity in the API hub
1409
+ # and exists independent of any API.
1410
+ class GoogleCloudApihubV1Deployment
1411
+ include Google::Apis::Core::Hashable
1412
+
1413
+ # Output only. The API versions linked to this deployment. Note: A particular
1414
+ # deployment could be linked to multiple different API versions (of same or
1415
+ # different APIs).
1416
+ # Corresponds to the JSON property `apiVersions`
1417
+ # @return [Array<String>]
1418
+ attr_accessor :api_versions
1419
+
1420
+ # Optional. The list of user defined attributes associated with the deployment
1421
+ # resource. The key is the attribute name. It will be of the format: `projects/`
1422
+ # project`/locations/`location`/attributes/`attribute``. The value is the
1423
+ # attribute values associated with the resource.
1424
+ # Corresponds to the JSON property `attributes`
1425
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
1426
+ attr_accessor :attributes
1427
+
1428
+ # Output only. The time at which the deployment was created.
1429
+ # Corresponds to the JSON property `createTime`
1430
+ # @return [String]
1431
+ attr_accessor :create_time
1432
+
1433
+ # The attribute values associated with resource.
1434
+ # Corresponds to the JSON property `deploymentType`
1435
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
1436
+ attr_accessor :deployment_type
1437
+
1438
+ # Optional. The description of the deployment.
1439
+ # Corresponds to the JSON property `description`
1440
+ # @return [String]
1441
+ attr_accessor :description
1442
+
1443
+ # Required. The display name of the deployment.
1444
+ # Corresponds to the JSON property `displayName`
1445
+ # @return [String]
1446
+ attr_accessor :display_name
1447
+
1448
+ # Documentation details.
1449
+ # Corresponds to the JSON property `documentation`
1450
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
1451
+ attr_accessor :documentation
1452
+
1453
+ # Required. The endpoints at which this deployment resource is listening for API
1454
+ # requests. This could be a list of complete URIs, hostnames or an IP addresses.
1455
+ # Corresponds to the JSON property `endpoints`
1456
+ # @return [Array<String>]
1457
+ attr_accessor :endpoints
1458
+
1459
+ # The attribute values associated with resource.
1460
+ # Corresponds to the JSON property `environment`
1461
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
1462
+ attr_accessor :environment
1463
+
1464
+ # Identifier. The name of the deployment. Format: `projects/`project`/locations/`
1465
+ # location`/deployments/`deployment``
1466
+ # Corresponds to the JSON property `name`
1467
+ # @return [String]
1468
+ attr_accessor :name
1469
+
1470
+ # Required. A URI to the runtime resource. This URI can be used to manage the
1471
+ # resource. For example, if the runtime resource is of type APIGEE_PROXY, then
1472
+ # this field will contain the URI to the management UI of the proxy.
1473
+ # Corresponds to the JSON property `resourceUri`
1474
+ # @return [String]
1475
+ attr_accessor :resource_uri
1476
+
1477
+ # The attribute values associated with resource.
1478
+ # Corresponds to the JSON property `slo`
1479
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
1480
+ attr_accessor :slo
1481
+
1482
+ # Output only. The list of sources and metadata from the sources of the
1483
+ # deployment.
1484
+ # Corresponds to the JSON property `sourceMetadata`
1485
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SourceMetadata>]
1486
+ attr_accessor :source_metadata
1487
+
1488
+ # Output only. The time at which the deployment was last updated.
1489
+ # Corresponds to the JSON property `updateTime`
1490
+ # @return [String]
1491
+ attr_accessor :update_time
1492
+
1493
+ def initialize(**args)
1494
+ update!(**args)
1495
+ end
1496
+
1497
+ # Update properties of this object
1498
+ def update!(**args)
1499
+ @api_versions = args[:api_versions] if args.key?(:api_versions)
1500
+ @attributes = args[:attributes] if args.key?(:attributes)
1501
+ @create_time = args[:create_time] if args.key?(:create_time)
1502
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
1503
+ @description = args[:description] if args.key?(:description)
1504
+ @display_name = args[:display_name] if args.key?(:display_name)
1505
+ @documentation = args[:documentation] if args.key?(:documentation)
1506
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
1507
+ @environment = args[:environment] if args.key?(:environment)
1508
+ @name = args[:name] if args.key?(:name)
1509
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
1510
+ @slo = args[:slo] if args.key?(:slo)
1511
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
1512
+ @update_time = args[:update_time] if args.key?(:update_time)
1513
+ end
1514
+ end
1515
+
1516
+ # The metadata associated with a deployment.
1517
+ class GoogleCloudApihubV1DeploymentMetadata
1518
+ include Google::Apis::Core::Hashable
1519
+
1520
+ # Details of the deployment where APIs are hosted. A deployment could represent
1521
+ # an Apigee proxy, API gateway, other Google Cloud services or non-Google Cloud
1522
+ # services as well. A deployment entity is a root level entity in the API hub
1523
+ # and exists independent of any API.
1524
+ # Corresponds to the JSON property `deployment`
1525
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Deployment]
1526
+ attr_accessor :deployment
1527
+
1528
+ # Optional. Timestamp indicating when the deployment was created at the source.
1529
+ # Corresponds to the JSON property `originalCreateTime`
1530
+ # @return [String]
1531
+ attr_accessor :original_create_time
1532
+
1533
+ # Optional. The unique identifier of the deployment in the system where it was
1534
+ # originally created.
1535
+ # Corresponds to the JSON property `originalId`
1536
+ # @return [String]
1537
+ attr_accessor :original_id
1538
+
1539
+ # Required. Timestamp indicating when the deployment was last updated at the
1540
+ # source.
1541
+ # Corresponds to the JSON property `originalUpdateTime`
1542
+ # @return [String]
1543
+ attr_accessor :original_update_time
1544
+
1545
+ def initialize(**args)
1546
+ update!(**args)
1547
+ end
1548
+
1549
+ # Update properties of this object
1550
+ def update!(**args)
1551
+ @deployment = args[:deployment] if args.key?(:deployment)
1552
+ @original_create_time = args[:original_create_time] if args.key?(:original_create_time)
1553
+ @original_id = args[:original_id] if args.key?(:original_id)
1554
+ @original_update_time = args[:original_update_time] if args.key?(:original_update_time)
1555
+ end
1556
+ end
1557
+
1558
+ # The DisablePluginInstanceAction method's request.
1559
+ class GoogleCloudApihubV1DisablePluginInstanceActionRequest
1560
+ include Google::Apis::Core::Hashable
1561
+
1562
+ # Required. The action id to disable.
1563
+ # Corresponds to the JSON property `actionId`
1564
+ # @return [String]
1565
+ attr_accessor :action_id
1566
+
1567
+ def initialize(**args)
1568
+ update!(**args)
1569
+ end
1570
+
1571
+ # Update properties of this object
1572
+ def update!(**args)
1573
+ @action_id = args[:action_id] if args.key?(:action_id)
1574
+ end
1575
+ end
1576
+
1577
+ # The DisablePlugin method's request.
1578
+ class GoogleCloudApihubV1DisablePluginRequest
1579
+ include Google::Apis::Core::Hashable
1580
+
1581
+ def initialize(**args)
1582
+ update!(**args)
1583
+ end
1584
+
1585
+ # Update properties of this object
1586
+ def update!(**args)
1587
+ end
1588
+ end
1589
+
1590
+ # Documentation details.
1591
+ class GoogleCloudApihubV1Documentation
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Optional. The uri of the externally hosted documentation.
1595
+ # Corresponds to the JSON property `externalUri`
1596
+ # @return [String]
1597
+ attr_accessor :external_uri
1598
+
1599
+ def initialize(**args)
1600
+ update!(**args)
1601
+ end
1602
+
1603
+ # Update properties of this object
1604
+ def update!(**args)
1605
+ @external_uri = args[:external_uri] if args.key?(:external_uri)
1606
+ end
1607
+ end
1608
+
1609
+ # The EnablePluginInstanceAction method's request.
1610
+ class GoogleCloudApihubV1EnablePluginInstanceActionRequest
1611
+ include Google::Apis::Core::Hashable
1612
+
1613
+ # Required. The action id to enable.
1614
+ # Corresponds to the JSON property `actionId`
1615
+ # @return [String]
1616
+ attr_accessor :action_id
1617
+
1618
+ def initialize(**args)
1619
+ update!(**args)
1620
+ end
1621
+
1622
+ # Update properties of this object
1623
+ def update!(**args)
1624
+ @action_id = args[:action_id] if args.key?(:action_id)
1625
+ end
1626
+ end
1627
+
1628
+ # The EnablePlugin method's request.
1629
+ class GoogleCloudApihubV1EnablePluginRequest
1630
+ include Google::Apis::Core::Hashable
1631
+
1632
+ def initialize(**args)
1633
+ update!(**args)
1634
+ end
1635
+
1636
+ # Update properties of this object
1637
+ def update!(**args)
1638
+ end
1639
+ end
1640
+
1641
+ # The endpoint to be triggered for curation. The endpoint will be invoked with a
1642
+ # request payload containing ApiMetadata. Response should contain curated data
1643
+ # in the form of ApiMetadata.
1644
+ class GoogleCloudApihubV1Endpoint
1645
+ include Google::Apis::Core::Hashable
1646
+
1647
+ # The details of the Application Integration endpoint to be triggered for
1648
+ # curation.
1649
+ # Corresponds to the JSON property `applicationIntegrationEndpointDetails`
1650
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApplicationIntegrationEndpointDetails]
1651
+ attr_accessor :application_integration_endpoint_details
1652
+
1653
+ def initialize(**args)
1654
+ update!(**args)
1655
+ end
1656
+
1657
+ # Update properties of this object
1658
+ def update!(**args)
1659
+ @application_integration_endpoint_details = args[:application_integration_endpoint_details] if args.key?(:application_integration_endpoint_details)
1660
+ end
1661
+ end
1662
+
1663
+ # The attribute values of data type enum.
1664
+ class GoogleCloudApihubV1EnumAttributeValues
1665
+ include Google::Apis::Core::Hashable
1666
+
1667
+ # Required. The attribute values in case attribute data type is enum.
1668
+ # Corresponds to the JSON property `values`
1669
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1AllowedValue>]
1670
+ attr_accessor :values
1671
+
1672
+ def initialize(**args)
1673
+ update!(**args)
1674
+ end
1675
+
1676
+ # Update properties of this object
1677
+ def update!(**args)
1678
+ @values = args[:values] if args.key?(:values)
1679
+ end
1680
+ end
1681
+
1682
+ # The ExecutePluginInstanceAction method's request.
1683
+ class GoogleCloudApihubV1ExecutePluginInstanceActionRequest
1684
+ include Google::Apis::Core::Hashable
1685
+
1686
+ # The details for the action to execute.
1687
+ # Corresponds to the JSON property `actionExecutionDetail`
1688
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ActionExecutionDetail]
1689
+ attr_accessor :action_execution_detail
1690
+
1691
+ def initialize(**args)
1692
+ update!(**args)
1693
+ end
1694
+
1695
+ # Update properties of this object
1696
+ def update!(**args)
1697
+ @action_execution_detail = args[:action_execution_detail] if args.key?(:action_execution_detail)
1698
+ end
1699
+ end
1700
+
1701
+ # The execution status for the plugin instance.
1702
+ class GoogleCloudApihubV1ExecutionStatus
1703
+ include Google::Apis::Core::Hashable
1704
+
1705
+ # Output only. The current state of the execution.
1706
+ # Corresponds to the JSON property `currentExecutionState`
1707
+ # @return [String]
1708
+ attr_accessor :current_execution_state
1709
+
1710
+ # The result of the last execution of the plugin instance.
1711
+ # Corresponds to the JSON property `lastExecution`
1712
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1LastExecution]
1713
+ attr_accessor :last_execution
1714
+
1715
+ def initialize(**args)
1716
+ update!(**args)
1717
+ end
1718
+
1719
+ # Update properties of this object
1720
+ def update!(**args)
1721
+ @current_execution_state = args[:current_execution_state] if args.key?(:current_execution_state)
1722
+ @last_execution = args[:last_execution] if args.key?(:last_execution)
1723
+ end
1724
+ end
1725
+
1726
+ # An external API represents an API being provided by external sources. This can
1727
+ # be used to model third-party APIs and can be used to define dependencies.
1728
+ class GoogleCloudApihubV1ExternalApi
1729
+ include Google::Apis::Core::Hashable
1730
+
1731
+ # Optional. The list of user defined attributes associated with the Version
1732
+ # resource. The key is the attribute name. It will be of the format: `projects/`
1733
+ # project`/locations/`location`/attributes/`attribute``. The value is the
1734
+ # attribute values associated with the resource.
1735
+ # Corresponds to the JSON property `attributes`
1736
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
1737
+ attr_accessor :attributes
1738
+
1739
+ # Output only. Creation timestamp.
1740
+ # Corresponds to the JSON property `createTime`
1741
+ # @return [String]
1742
+ attr_accessor :create_time
1743
+
1744
+ # Optional. Description of the external API. Max length is 2000 characters (
1745
+ # Unicode Code Points).
1746
+ # Corresponds to the JSON property `description`
1747
+ # @return [String]
1748
+ attr_accessor :description
1749
+
1750
+ # Required. Display name of the external API. Max length is 63 characters (
1751
+ # Unicode Code Points).
1752
+ # Corresponds to the JSON property `displayName`
1753
+ # @return [String]
1754
+ attr_accessor :display_name
1755
+
1756
+ # Documentation details.
1757
+ # Corresponds to the JSON property `documentation`
1758
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
1759
+ attr_accessor :documentation
1760
+
1761
+ # Optional. List of endpoints on which this API is accessible.
1762
+ # Corresponds to the JSON property `endpoints`
1763
+ # @return [Array<String>]
1764
+ attr_accessor :endpoints
1765
+
1766
+ # Identifier. Format: `projects/`project`/locations/`location`/externalApi/`
1767
+ # externalApi``.
1768
+ # Corresponds to the JSON property `name`
1769
+ # @return [String]
1770
+ attr_accessor :name
1771
+
1772
+ # Optional. List of paths served by this API.
1773
+ # Corresponds to the JSON property `paths`
1774
+ # @return [Array<String>]
1775
+ attr_accessor :paths
1776
+
1777
+ # Output only. Last update timestamp.
1778
+ # Corresponds to the JSON property `updateTime`
1779
+ # @return [String]
1780
+ attr_accessor :update_time
1781
+
1782
+ def initialize(**args)
1783
+ update!(**args)
1784
+ end
1785
+
1786
+ # Update properties of this object
1787
+ def update!(**args)
1788
+ @attributes = args[:attributes] if args.key?(:attributes)
1789
+ @create_time = args[:create_time] if args.key?(:create_time)
1790
+ @description = args[:description] if args.key?(:description)
1791
+ @display_name = args[:display_name] if args.key?(:display_name)
1792
+ @documentation = args[:documentation] if args.key?(:documentation)
1793
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
1794
+ @name = args[:name] if args.key?(:name)
1795
+ @paths = args[:paths] if args.key?(:paths)
1796
+ @update_time = args[:update_time] if args.key?(:update_time)
1797
+ end
1798
+ end
1799
+
1800
+ # Config for Google service account authentication.
1801
+ class GoogleCloudApihubV1GoogleServiceAccountConfig
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # Required. The service account to be used for authenticating request. The `iam.
1805
+ # serviceAccounts.getAccessToken` permission should be granted on this service
1806
+ # account to the impersonator service account.
1807
+ # Corresponds to the JSON property `serviceAccount`
1808
+ # @return [String]
1809
+ attr_accessor :service_account
1810
+
1811
+ def initialize(**args)
1812
+ update!(**args)
1813
+ end
1814
+
1815
+ # Update properties of this object
1816
+ def update!(**args)
1817
+ @service_account = args[:service_account] if args.key?(:service_account)
1818
+ end
1819
+ end
1820
+
1821
+ # Host project registration refers to the registration of a Google cloud project
1822
+ # with Api Hub as a host project. This is the project where Api Hub is
1823
+ # provisioned. It acts as the consumer project for the Api Hub instance
1824
+ # provisioned. Multiple runtime projects can be attached to the host project and
1825
+ # these attachments define the scope of Api Hub.
1826
+ class GoogleCloudApihubV1HostProjectRegistration
1827
+ include Google::Apis::Core::Hashable
1828
+
1829
+ # Output only. The time at which the host project registration was created.
1830
+ # Corresponds to the JSON property `createTime`
1831
+ # @return [String]
1832
+ attr_accessor :create_time
1833
+
1834
+ # Required. Immutable. Google cloud project name in the format: "projects/abc"
1835
+ # or "projects/123". As input, project name with either project id or number are
1836
+ # accepted. As output, this field will contain project number.
1837
+ # Corresponds to the JSON property `gcpProject`
1838
+ # @return [String]
1839
+ attr_accessor :gcp_project
1840
+
1841
+ # Identifier. The name of the host project registration. Format: "projects/`
1842
+ # project`/locations/`location`/hostProjectRegistrations/`
1843
+ # host_project_registration`".
1844
+ # Corresponds to the JSON property `name`
1845
+ # @return [String]
1846
+ attr_accessor :name
1847
+
1848
+ def initialize(**args)
1849
+ update!(**args)
1850
+ end
1851
+
1852
+ # Update properties of this object
1853
+ def update!(**args)
1854
+ @create_time = args[:create_time] if args.key?(:create_time)
1855
+ @gcp_project = args[:gcp_project] if args.key?(:gcp_project)
1856
+ @name = args[:name] if args.key?(:name)
1857
+ end
1858
+ end
1859
+
1860
+ # The information related to the service implemented by the plugin developer,
1861
+ # used to invoke the plugin's functionality.
1862
+ class GoogleCloudApihubV1HostingService
1863
+ include Google::Apis::Core::Hashable
1864
+
1865
+ # Optional. The URI of the service implemented by the plugin developer, used to
1866
+ # invoke the plugin's functionality. This information is only required for user
1867
+ # defined plugins.
1868
+ # Corresponds to the JSON property `serviceUri`
1869
+ # @return [String]
1870
+ attr_accessor :service_uri
1871
+
1872
+ def initialize(**args)
1873
+ update!(**args)
1874
+ end
1875
+
1876
+ # Update properties of this object
1877
+ def update!(**args)
1878
+ @service_uri = args[:service_uri] if args.key?(:service_uri)
1879
+ end
1880
+ end
1881
+
1882
+ # The HTTP Operation.
1883
+ class GoogleCloudApihubV1HttpOperation
1884
+ include Google::Apis::Core::Hashable
1885
+
1886
+ # Optional. Operation method Note: Even though this field is optional, it is
1887
+ # required for CreateApiOperation API and we will fail the request if not
1888
+ # provided.
1889
+ # Corresponds to the JSON property `method`
1890
+ # @return [String]
1891
+ attr_accessor :method_prop
1892
+
1893
+ # The path details derived from the spec.
1894
+ # Corresponds to the JSON property `path`
1895
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Path]
1896
+ attr_accessor :path
1897
+
1898
+ def initialize(**args)
1899
+ update!(**args)
1900
+ end
1901
+
1902
+ # Update properties of this object
1903
+ def update!(**args)
1904
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1905
+ @path = args[:path] if args.key?(:path)
1906
+ end
1907
+ end
1908
+
1909
+ # Issue contains the details of a single issue found by the linter.
1910
+ class GoogleCloudApihubV1Issue
1911
+ include Google::Apis::Core::Hashable
1912
+
1913
+ # Required. Rule code unique to each rule defined in linter.
1914
+ # Corresponds to the JSON property `code`
1915
+ # @return [String]
1916
+ attr_accessor :code
1917
+
1918
+ # Required. Human-readable message describing the issue found by the linter.
1919
+ # Corresponds to the JSON property `message`
1920
+ # @return [String]
1921
+ attr_accessor :message
1922
+
1923
+ # Required. An array of strings indicating the location in the analyzed document
1924
+ # where the rule was triggered.
1925
+ # Corresponds to the JSON property `path`
1926
+ # @return [Array<String>]
1927
+ attr_accessor :path
1928
+
1929
+ # Object describing where in the file the issue was found.
1930
+ # Corresponds to the JSON property `range`
1931
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Range]
1932
+ attr_accessor :range
1933
+
1934
+ # Required. Severity level of the rule violation.
1935
+ # Corresponds to the JSON property `severity`
1936
+ # @return [String]
1937
+ attr_accessor :severity
1938
+
1939
+ def initialize(**args)
1940
+ update!(**args)
1941
+ end
1942
+
1943
+ # Update properties of this object
1944
+ def update!(**args)
1945
+ @code = args[:code] if args.key?(:code)
1946
+ @message = args[:message] if args.key?(:message)
1947
+ @path = args[:path] if args.key?(:path)
1948
+ @range = args[:range] if args.key?(:range)
1949
+ @severity = args[:severity] if args.key?(:severity)
1950
+ end
1951
+ end
1952
+
1953
+ # The result of the last execution of the plugin instance.
1954
+ class GoogleCloudApihubV1LastExecution
1955
+ include Google::Apis::Core::Hashable
1956
+
1957
+ # Output only. The last execution end time of the plugin instance.
1958
+ # Corresponds to the JSON property `endTime`
1959
+ # @return [String]
1960
+ attr_accessor :end_time
1961
+
1962
+ # Output only. Error message describing the failure, if any, during the last
1963
+ # execution.
1964
+ # Corresponds to the JSON property `errorMessage`
1965
+ # @return [String]
1966
+ attr_accessor :error_message
1967
+
1968
+ # Output only. The result of the last execution of the plugin instance.
1969
+ # Corresponds to the JSON property `result`
1970
+ # @return [String]
1971
+ attr_accessor :result
1972
+
1973
+ # Output only. The last execution start time of the plugin instance.
1974
+ # Corresponds to the JSON property `startTime`
1975
+ # @return [String]
1976
+ attr_accessor :start_time
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @end_time = args[:end_time] if args.key?(:end_time)
1985
+ @error_message = args[:error_message] if args.key?(:error_message)
1986
+ @result = args[:result] if args.key?(:result)
1987
+ @start_time = args[:start_time] if args.key?(:start_time)
1988
+ end
1989
+ end
1990
+
1991
+ # LintResponse contains the response from the linter.
1992
+ class GoogleCloudApihubV1LintResponse
1993
+ include Google::Apis::Core::Hashable
1994
+
1995
+ # Required. Timestamp when the linting response was generated.
1996
+ # Corresponds to the JSON property `createTime`
1997
+ # @return [String]
1998
+ attr_accessor :create_time
1999
+
2000
+ # Optional. Array of issues found in the analyzed document.
2001
+ # Corresponds to the JSON property `issues`
2002
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Issue>]
2003
+ attr_accessor :issues
2004
+
2005
+ # Required. Name of the linter used.
2006
+ # Corresponds to the JSON property `linter`
2007
+ # @return [String]
2008
+ attr_accessor :linter
2009
+
2010
+ # Required. Name of the linting application.
2011
+ # Corresponds to the JSON property `source`
2012
+ # @return [String]
2013
+ attr_accessor :source
2014
+
2015
+ # Required. Lint state represents success or failure for linting.
2016
+ # Corresponds to the JSON property `state`
2017
+ # @return [String]
2018
+ attr_accessor :state
2019
+
2020
+ # Optional. Summary of all issue types and counts for each severity level.
2021
+ # Corresponds to the JSON property `summary`
2022
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SummaryEntry>]
2023
+ attr_accessor :summary
2024
+
2025
+ def initialize(**args)
2026
+ update!(**args)
2027
+ end
2028
+
2029
+ # Update properties of this object
2030
+ def update!(**args)
2031
+ @create_time = args[:create_time] if args.key?(:create_time)
2032
+ @issues = args[:issues] if args.key?(:issues)
2033
+ @linter = args[:linter] if args.key?(:linter)
2034
+ @source = args[:source] if args.key?(:source)
2035
+ @state = args[:state] if args.key?(:state)
2036
+ @summary = args[:summary] if args.key?(:summary)
2037
+ end
2038
+ end
2039
+
2040
+ # The LintSpec method's request.
2041
+ class GoogleCloudApihubV1LintSpecRequest
2042
+ include Google::Apis::Core::Hashable
2043
+
2044
+ def initialize(**args)
2045
+ update!(**args)
2046
+ end
2047
+
2048
+ # Update properties of this object
2049
+ def update!(**args)
2050
+ end
2051
+ end
2052
+
2053
+ # The ListApiOperations method's response.
2054
+ class GoogleCloudApihubV1ListApiOperationsResponse
2055
+ include Google::Apis::Core::Hashable
2056
+
2057
+ # The operations corresponding to an API version.
2058
+ # Corresponds to the JSON property `apiOperations`
2059
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ApiOperation>]
2060
+ attr_accessor :api_operations
2061
+
2062
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2063
+ # field is omitted, there are no subsequent pages.
2064
+ # Corresponds to the JSON property `nextPageToken`
2065
+ # @return [String]
2066
+ attr_accessor :next_page_token
2067
+
2068
+ def initialize(**args)
2069
+ update!(**args)
2070
+ end
2071
+
2072
+ # Update properties of this object
2073
+ def update!(**args)
2074
+ @api_operations = args[:api_operations] if args.key?(:api_operations)
2075
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2076
+ end
2077
+ end
2078
+
2079
+ # The ListApis method's response.
2080
+ class GoogleCloudApihubV1ListApisResponse
2081
+ include Google::Apis::Core::Hashable
2082
+
2083
+ # The API resources present in the API hub.
2084
+ # Corresponds to the JSON property `apis`
2085
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Api>]
2086
+ attr_accessor :apis
2087
+
2088
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2089
+ # field is omitted, there are no subsequent pages.
2090
+ # Corresponds to the JSON property `nextPageToken`
2091
+ # @return [String]
2092
+ attr_accessor :next_page_token
2093
+
2094
+ def initialize(**args)
2095
+ update!(**args)
2096
+ end
2097
+
2098
+ # Update properties of this object
2099
+ def update!(**args)
2100
+ @apis = args[:apis] if args.key?(:apis)
2101
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2102
+ end
2103
+ end
2104
+
2105
+ # The ListAttributes method's response.
2106
+ class GoogleCloudApihubV1ListAttributesResponse
2107
+ include Google::Apis::Core::Hashable
2108
+
2109
+ # The list of all attributes.
2110
+ # Corresponds to the JSON property `attributes`
2111
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Attribute>]
2112
+ attr_accessor :attributes
2113
+
2114
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2115
+ # field is omitted, there are no subsequent pages.
2116
+ # Corresponds to the JSON property `nextPageToken`
2117
+ # @return [String]
2118
+ attr_accessor :next_page_token
2119
+
2120
+ def initialize(**args)
2121
+ update!(**args)
2122
+ end
2123
+
2124
+ # Update properties of this object
2125
+ def update!(**args)
2126
+ @attributes = args[:attributes] if args.key?(:attributes)
2127
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2128
+ end
2129
+ end
2130
+
2131
+ # The ListCurations method's response.
2132
+ class GoogleCloudApihubV1ListCurationsResponse
2133
+ include Google::Apis::Core::Hashable
2134
+
2135
+ # The curation resources present in the API hub.
2136
+ # Corresponds to the JSON property `curations`
2137
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Curation>]
2138
+ attr_accessor :curations
2139
+
2140
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2141
+ # field is omitted, there are no subsequent pages.
2142
+ # Corresponds to the JSON property `nextPageToken`
2143
+ # @return [String]
2144
+ attr_accessor :next_page_token
2145
+
2146
+ def initialize(**args)
2147
+ update!(**args)
2148
+ end
2149
+
2150
+ # Update properties of this object
2151
+ def update!(**args)
2152
+ @curations = args[:curations] if args.key?(:curations)
2153
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2154
+ end
2155
+ end
2156
+
2157
+ # The ListDependencies method's response.
2158
+ class GoogleCloudApihubV1ListDependenciesResponse
2159
+ include Google::Apis::Core::Hashable
2160
+
2161
+ # The dependency resources present in the API hub.
2162
+ # Corresponds to the JSON property `dependencies`
2163
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Dependency>]
2164
+ attr_accessor :dependencies
2165
+
2166
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2167
+ # field is omitted, there are no subsequent pages.
2168
+ # Corresponds to the JSON property `nextPageToken`
2169
+ # @return [String]
2170
+ attr_accessor :next_page_token
2171
+
2172
+ def initialize(**args)
2173
+ update!(**args)
2174
+ end
2175
+
2176
+ # Update properties of this object
2177
+ def update!(**args)
2178
+ @dependencies = args[:dependencies] if args.key?(:dependencies)
2179
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2180
+ end
2181
+ end
2182
+
2183
+ # The ListDeployments method's response.
2184
+ class GoogleCloudApihubV1ListDeploymentsResponse
2185
+ include Google::Apis::Core::Hashable
2186
+
2187
+ # The deployment resources present in the API hub.
2188
+ # Corresponds to the JSON property `deployments`
2189
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Deployment>]
2190
+ attr_accessor :deployments
2191
+
2192
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2193
+ # field is omitted, there are no subsequent pages.
2194
+ # Corresponds to the JSON property `nextPageToken`
2195
+ # @return [String]
2196
+ attr_accessor :next_page_token
2197
+
2198
+ def initialize(**args)
2199
+ update!(**args)
2200
+ end
2201
+
2202
+ # Update properties of this object
2203
+ def update!(**args)
2204
+ @deployments = args[:deployments] if args.key?(:deployments)
2205
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2206
+ end
2207
+ end
2208
+
2209
+ # The ListExternalApis method's response.
2210
+ class GoogleCloudApihubV1ListExternalApisResponse
2211
+ include Google::Apis::Core::Hashable
2212
+
2213
+ # The External API resources present in the API hub.
2214
+ # Corresponds to the JSON property `externalApis`
2215
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ExternalApi>]
2216
+ attr_accessor :external_apis
2217
+
2218
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2219
+ # field is omitted, there are no subsequent pages.
2220
+ # Corresponds to the JSON property `nextPageToken`
2221
+ # @return [String]
2222
+ attr_accessor :next_page_token
2223
+
2224
+ def initialize(**args)
2225
+ update!(**args)
2226
+ end
2227
+
2228
+ # Update properties of this object
2229
+ def update!(**args)
2230
+ @external_apis = args[:external_apis] if args.key?(:external_apis)
2231
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2232
+ end
2233
+ end
2234
+
2235
+ # The ListHostProjectRegistrations method's response.
2236
+ class GoogleCloudApihubV1ListHostProjectRegistrationsResponse
2237
+ include Google::Apis::Core::Hashable
2238
+
2239
+ # The list of host project registrations.
2240
+ # Corresponds to the JSON property `hostProjectRegistrations`
2241
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1HostProjectRegistration>]
2242
+ attr_accessor :host_project_registrations
2243
+
2244
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2245
+ # field is omitted, there are no subsequent pages.
2246
+ # Corresponds to the JSON property `nextPageToken`
2247
+ # @return [String]
2248
+ attr_accessor :next_page_token
2249
+
2250
+ def initialize(**args)
2251
+ update!(**args)
2252
+ end
2253
+
2254
+ # Update properties of this object
2255
+ def update!(**args)
2256
+ @host_project_registrations = args[:host_project_registrations] if args.key?(:host_project_registrations)
2257
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2258
+ end
2259
+ end
2260
+
2261
+ # The ListPluginInstances method's response.
2262
+ class GoogleCloudApihubV1ListPluginInstancesResponse
2263
+ include Google::Apis::Core::Hashable
2264
+
2265
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2266
+ # field is omitted, there are no subsequent pages.
2267
+ # Corresponds to the JSON property `nextPageToken`
2268
+ # @return [String]
2269
+ attr_accessor :next_page_token
2270
+
2271
+ # The plugin instances from the specified parent resource.
2272
+ # Corresponds to the JSON property `pluginInstances`
2273
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1PluginInstance>]
2274
+ attr_accessor :plugin_instances
2275
+
2276
+ def initialize(**args)
2277
+ update!(**args)
2278
+ end
2279
+
2280
+ # Update properties of this object
2281
+ def update!(**args)
2282
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2283
+ @plugin_instances = args[:plugin_instances] if args.key?(:plugin_instances)
2284
+ end
2285
+ end
2286
+
2287
+ # The ListPlugins method's response.
2288
+ class GoogleCloudApihubV1ListPluginsResponse
2289
+ include Google::Apis::Core::Hashable
2290
+
2291
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2292
+ # field is omitted, there are no subsequent pages.
2293
+ # Corresponds to the JSON property `nextPageToken`
2294
+ # @return [String]
2295
+ attr_accessor :next_page_token
2296
+
2297
+ # The plugins from the specified parent resource.
2298
+ # Corresponds to the JSON property `plugins`
2299
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Plugin>]
2300
+ attr_accessor :plugins
2301
+
2302
+ def initialize(**args)
2303
+ update!(**args)
2304
+ end
2305
+
2306
+ # Update properties of this object
2307
+ def update!(**args)
2308
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2309
+ @plugins = args[:plugins] if args.key?(:plugins)
2310
+ end
2311
+ end
2312
+
2313
+ # The ListRuntimeProjectAttachments method's response.
2314
+ class GoogleCloudApihubV1ListRuntimeProjectAttachmentsResponse
2315
+ include Google::Apis::Core::Hashable
2316
+
2317
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2318
+ # field is omitted, there are no subsequent pages.
2319
+ # Corresponds to the JSON property `nextPageToken`
2320
+ # @return [String]
2321
+ attr_accessor :next_page_token
2322
+
2323
+ # List of runtime project attachments.
2324
+ # Corresponds to the JSON property `runtimeProjectAttachments`
2325
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1RuntimeProjectAttachment>]
2326
+ attr_accessor :runtime_project_attachments
2327
+
2328
+ def initialize(**args)
2329
+ update!(**args)
2330
+ end
2331
+
2332
+ # Update properties of this object
2333
+ def update!(**args)
2334
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2335
+ @runtime_project_attachments = args[:runtime_project_attachments] if args.key?(:runtime_project_attachments)
2336
+ end
2337
+ end
2338
+
2339
+ # The ListSpecs method's response.
2340
+ class GoogleCloudApihubV1ListSpecsResponse
2341
+ include Google::Apis::Core::Hashable
2342
+
2343
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2344
+ # field is omitted, there are no subsequent pages.
2345
+ # Corresponds to the JSON property `nextPageToken`
2346
+ # @return [String]
2347
+ attr_accessor :next_page_token
2348
+
2349
+ # The specs corresponding to an API Version.
2350
+ # Corresponds to the JSON property `specs`
2351
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Spec>]
2352
+ attr_accessor :specs
2353
+
2354
+ def initialize(**args)
2355
+ update!(**args)
2356
+ end
2357
+
2358
+ # Update properties of this object
2359
+ def update!(**args)
2360
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2361
+ @specs = args[:specs] if args.key?(:specs)
2362
+ end
2363
+ end
2364
+
2365
+ # The ListVersions method's response.
2366
+ class GoogleCloudApihubV1ListVersionsResponse
2367
+ include Google::Apis::Core::Hashable
2368
+
2369
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
2370
+ # field is omitted, there are no subsequent pages.
2371
+ # Corresponds to the JSON property `nextPageToken`
2372
+ # @return [String]
2373
+ attr_accessor :next_page_token
2374
+
2375
+ # The versions corresponding to an API.
2376
+ # Corresponds to the JSON property `versions`
2377
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1Version>]
2378
+ attr_accessor :versions
2379
+
2380
+ def initialize(**args)
2381
+ update!(**args)
2382
+ end
2383
+
2384
+ # Update properties of this object
2385
+ def update!(**args)
2386
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2387
+ @versions = args[:versions] if args.key?(:versions)
2388
+ end
2389
+ end
2390
+
2391
+ # The LookupApiHubInstance method's response.`
2392
+ class GoogleCloudApihubV1LookupApiHubInstanceResponse
2393
+ include Google::Apis::Core::Hashable
2394
+
2395
+ # An ApiHubInstance represents the instance resources of the API Hub. Currently,
2396
+ # only one ApiHub instance is allowed for each project.
2397
+ # Corresponds to the JSON property `apiHubInstance`
2398
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiHubInstance]
2399
+ attr_accessor :api_hub_instance
2400
+
2401
+ def initialize(**args)
2402
+ update!(**args)
2403
+ end
2404
+
2405
+ # Update properties of this object
2406
+ def update!(**args)
2407
+ @api_hub_instance = args[:api_hub_instance] if args.key?(:api_hub_instance)
2408
+ end
2409
+ end
2410
+
2411
+ # The ListRuntimeProjectAttachments method's response.
2412
+ class GoogleCloudApihubV1LookupRuntimeProjectAttachmentResponse
2413
+ include Google::Apis::Core::Hashable
2414
+
2415
+ # Runtime project attachment represents an attachment from the runtime project
2416
+ # to the host project. Api Hub looks for deployments in the attached runtime
2417
+ # projects and creates corresponding resources in Api Hub for the discovered
2418
+ # deployments.
2419
+ # Corresponds to the JSON property `runtimeProjectAttachment`
2420
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1RuntimeProjectAttachment]
2421
+ attr_accessor :runtime_project_attachment
2422
+
2423
+ def initialize(**args)
2424
+ update!(**args)
2425
+ end
2426
+
2427
+ # Update properties of this object
2428
+ def update!(**args)
2429
+ @runtime_project_attachment = args[:runtime_project_attachment] if args.key?(:runtime_project_attachment)
2430
+ end
2431
+ end
2432
+
2433
+ # The config variable value of data type multi int.
2434
+ class GoogleCloudApihubV1MultiIntValues
2435
+ include Google::Apis::Core::Hashable
2436
+
2437
+ # Optional. The config variable value of data type multi int.
2438
+ # Corresponds to the JSON property `values`
2439
+ # @return [Array<Fixnum>]
2440
+ attr_accessor :values
2441
+
2442
+ def initialize(**args)
2443
+ update!(**args)
2444
+ end
2445
+
2446
+ # Update properties of this object
2447
+ def update!(**args)
2448
+ @values = args[:values] if args.key?(:values)
2449
+ end
2450
+ end
2451
+
2452
+ # The config variable value of data type multi select.
2453
+ class GoogleCloudApihubV1MultiSelectValues
2454
+ include Google::Apis::Core::Hashable
2455
+
2456
+ # Optional. The config variable value of data type multi select.
2457
+ # Corresponds to the JSON property `values`
2458
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigValueOption>]
2459
+ attr_accessor :values
2460
+
2461
+ def initialize(**args)
2462
+ update!(**args)
2463
+ end
2464
+
2465
+ # Update properties of this object
2466
+ def update!(**args)
2467
+ @values = args[:values] if args.key?(:values)
2468
+ end
2469
+ end
2470
+
2471
+ # The config variable value of data type multi string.
2472
+ class GoogleCloudApihubV1MultiStringValues
2473
+ include Google::Apis::Core::Hashable
2474
+
2475
+ # Optional. The config variable value of data type multi string.
2476
+ # Corresponds to the JSON property `values`
2477
+ # @return [Array<String>]
2478
+ attr_accessor :values
2479
+
2480
+ def initialize(**args)
2481
+ update!(**args)
2482
+ end
2483
+
2484
+ # Update properties of this object
2485
+ def update!(**args)
2486
+ @values = args[:values] if args.key?(:values)
2487
+ end
2488
+ end
2489
+
2490
+ # Parameters to support Oauth 2.0 client credentials grant authentication. See
2491
+ # https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
2492
+ class GoogleCloudApihubV1Oauth2ClientCredentialsConfig
2493
+ include Google::Apis::Core::Hashable
2494
+
2495
+ # Required. The client identifier.
2496
+ # Corresponds to the JSON property `clientId`
2497
+ # @return [String]
2498
+ attr_accessor :client_id
2499
+
2500
+ # Secret provides a reference to entries in Secret Manager.
2501
+ # Corresponds to the JSON property `clientSecret`
2502
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Secret]
2503
+ attr_accessor :client_secret
2504
+
2505
+ def initialize(**args)
2506
+ update!(**args)
2507
+ end
2508
+
2509
+ # Update properties of this object
2510
+ def update!(**args)
2511
+ @client_id = args[:client_id] if args.key?(:client_id)
2512
+ @client_secret = args[:client_secret] if args.key?(:client_secret)
2513
+ end
2514
+ end
2515
+
2516
+ # OpenApiSpecDetails contains the details parsed from an OpenAPI spec in
2517
+ # addition to the fields mentioned in SpecDetails.
2518
+ class GoogleCloudApihubV1OpenApiSpecDetails
2519
+ include Google::Apis::Core::Hashable
2520
+
2521
+ # Output only. The format of the spec.
2522
+ # Corresponds to the JSON property `format`
2523
+ # @return [String]
2524
+ attr_accessor :format
2525
+
2526
+ # Owner details.
2527
+ # Corresponds to the JSON property `owner`
2528
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Owner]
2529
+ attr_accessor :owner
2530
+
2531
+ # Output only. The version in the spec. This maps to `info.version` in OpenAPI
2532
+ # spec.
2533
+ # Corresponds to the JSON property `version`
2534
+ # @return [String]
2535
+ attr_accessor :version
2536
+
2537
+ def initialize(**args)
2538
+ update!(**args)
2539
+ end
2540
+
2541
+ # Update properties of this object
2542
+ def update!(**args)
2543
+ @format = args[:format] if args.key?(:format)
2544
+ @owner = args[:owner] if args.key?(:owner)
2545
+ @version = args[:version] if args.key?(:version)
2546
+ end
2547
+ end
2548
+
2549
+ # The operation details parsed from the spec.
2550
+ class GoogleCloudApihubV1OperationDetails
2551
+ include Google::Apis::Core::Hashable
2552
+
2553
+ # Optional. For OpenAPI spec, this will be set if `operation.deprecated`is
2554
+ # marked as `true` in the spec.
2555
+ # Corresponds to the JSON property `deprecated`
2556
+ # @return [Boolean]
2557
+ attr_accessor :deprecated
2558
+ alias_method :deprecated?, :deprecated
2559
+
2560
+ # Optional. Description of the operation behavior. For OpenAPI spec, this will
2561
+ # map to `operation.description` in the spec, in case description is empty, `
2562
+ # operation.summary` will be used.
2563
+ # Corresponds to the JSON property `description`
2564
+ # @return [String]
2565
+ attr_accessor :description
2566
+
2567
+ # Documentation details.
2568
+ # Corresponds to the JSON property `documentation`
2569
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
2570
+ attr_accessor :documentation
2571
+
2572
+ # The HTTP Operation.
2573
+ # Corresponds to the JSON property `httpOperation`
2574
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1HttpOperation]
2575
+ attr_accessor :http_operation
2576
+
2577
+ def initialize(**args)
2578
+ update!(**args)
2579
+ end
2580
+
2581
+ # Update properties of this object
2582
+ def update!(**args)
2583
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
2584
+ @description = args[:description] if args.key?(:description)
2585
+ @documentation = args[:documentation] if args.key?(:documentation)
2586
+ @http_operation = args[:http_operation] if args.key?(:http_operation)
2587
+ end
2588
+ end
2589
+
2590
+ # Represents the metadata of the long-running operation.
2591
+ class GoogleCloudApihubV1OperationMetadata
2592
+ include Google::Apis::Core::Hashable
2593
+
2594
+ # Output only. API version used to start the operation.
2595
+ # Corresponds to the JSON property `apiVersion`
2596
+ # @return [String]
2597
+ attr_accessor :api_version
2598
+
2599
+ # Output only. The time the operation was created.
2600
+ # Corresponds to the JSON property `createTime`
2601
+ # @return [String]
2602
+ attr_accessor :create_time
2603
+
2604
+ # Output only. The time the operation finished running.
2605
+ # Corresponds to the JSON property `endTime`
2606
+ # @return [String]
2607
+ attr_accessor :end_time
2608
+
2609
+ # Output only. Identifies whether the user has requested cancellation of the
2610
+ # operation. Operations that have been cancelled successfully have Operation.
2611
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
2612
+ # CANCELLED`.
2613
+ # Corresponds to the JSON property `requestedCancellation`
2614
+ # @return [Boolean]
2615
+ attr_accessor :requested_cancellation
2616
+ alias_method :requested_cancellation?, :requested_cancellation
2617
+
2618
+ # Output only. Human-readable status of the operation, if any.
2619
+ # Corresponds to the JSON property `statusMessage`
2620
+ # @return [String]
2621
+ attr_accessor :status_message
2622
+
2623
+ # Output only. Server-defined resource path for the target of the operation.
2624
+ # Corresponds to the JSON property `target`
2625
+ # @return [String]
2626
+ attr_accessor :target
2627
+
2628
+ # Output only. Name of the verb executed by the operation.
2629
+ # Corresponds to the JSON property `verb`
2630
+ # @return [String]
2631
+ attr_accessor :verb
2632
+
2633
+ def initialize(**args)
2634
+ update!(**args)
2635
+ end
2636
+
2637
+ # Update properties of this object
2638
+ def update!(**args)
2639
+ @api_version = args[:api_version] if args.key?(:api_version)
2640
+ @create_time = args[:create_time] if args.key?(:create_time)
2641
+ @end_time = args[:end_time] if args.key?(:end_time)
2642
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
2643
+ @status_message = args[:status_message] if args.key?(:status_message)
2644
+ @target = args[:target] if args.key?(:target)
2645
+ @verb = args[:verb] if args.key?(:verb)
2646
+ end
2647
+ end
2648
+
2649
+ # Owner details.
2650
+ class GoogleCloudApihubV1Owner
2651
+ include Google::Apis::Core::Hashable
2652
+
2653
+ # Optional. The name of the owner.
2654
+ # Corresponds to the JSON property `displayName`
2655
+ # @return [String]
2656
+ attr_accessor :display_name
2657
+
2658
+ # Required. The email of the owner.
2659
+ # Corresponds to the JSON property `email`
2660
+ # @return [String]
2661
+ attr_accessor :email
2662
+
2663
+ def initialize(**args)
2664
+ update!(**args)
2665
+ end
2666
+
2667
+ # Update properties of this object
2668
+ def update!(**args)
2669
+ @display_name = args[:display_name] if args.key?(:display_name)
2670
+ @email = args[:email] if args.key?(:email)
2671
+ end
2672
+ end
2673
+
2674
+ # The path details derived from the spec.
2675
+ class GoogleCloudApihubV1Path
2676
+ include Google::Apis::Core::Hashable
2677
+
2678
+ # Optional. A short description for the path applicable to all operations.
2679
+ # Corresponds to the JSON property `description`
2680
+ # @return [String]
2681
+ attr_accessor :description
2682
+
2683
+ # Optional. Complete path relative to server endpoint. Note: Even though this
2684
+ # field is optional, it is required for CreateApiOperation API and we will fail
2685
+ # the request if not provided.
2686
+ # Corresponds to the JSON property `path`
2687
+ # @return [String]
2688
+ attr_accessor :path
2689
+
2690
+ def initialize(**args)
2691
+ update!(**args)
2692
+ end
2693
+
2694
+ # Update properties of this object
2695
+ def update!(**args)
2696
+ @description = args[:description] if args.key?(:description)
2697
+ @path = args[:path] if args.key?(:path)
2698
+ end
2699
+ end
2700
+
2701
+ # A plugin resource in the API Hub.
2702
+ class GoogleCloudApihubV1Plugin
2703
+ include Google::Apis::Core::Hashable
2704
+
2705
+ # Optional. The configuration of actions supported by the plugin.
2706
+ # Corresponds to the JSON property `actionsConfig`
2707
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1PluginActionConfig>]
2708
+ attr_accessor :actions_config
2709
+
2710
+ # ConfigTemplate represents the configuration template for a plugin.
2711
+ # Corresponds to the JSON property `configTemplate`
2712
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigTemplate]
2713
+ attr_accessor :config_template
2714
+
2715
+ # Output only. Timestamp indicating when the plugin was created.
2716
+ # Corresponds to the JSON property `createTime`
2717
+ # @return [String]
2718
+ attr_accessor :create_time
2719
+
2720
+ # Optional. The plugin description. Max length is 2000 characters (Unicode code
2721
+ # points).
2722
+ # Corresponds to the JSON property `description`
2723
+ # @return [String]
2724
+ attr_accessor :description
2725
+
2726
+ # Required. The display name of the plugin. Max length is 50 characters (Unicode
2727
+ # code points).
2728
+ # Corresponds to the JSON property `displayName`
2729
+ # @return [String]
2730
+ attr_accessor :display_name
2731
+
2732
+ # Documentation details.
2733
+ # Corresponds to the JSON property `documentation`
2734
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
2735
+ attr_accessor :documentation
2736
+
2737
+ # The information related to the service implemented by the plugin developer,
2738
+ # used to invoke the plugin's functionality.
2739
+ # Corresponds to the JSON property `hostingService`
2740
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1HostingService]
2741
+ attr_accessor :hosting_service
2742
+
2743
+ # Identifier. The name of the plugin. Format: `projects/`project`/locations/`
2744
+ # location`/plugins/`plugin``
2745
+ # Corresponds to the JSON property `name`
2746
+ # @return [String]
2747
+ attr_accessor :name
2748
+
2749
+ # Output only. The type of the plugin, indicating whether it is 'SYSTEM_OWNED'
2750
+ # or 'USER_OWNED'.
2751
+ # Corresponds to the JSON property `ownershipType`
2752
+ # @return [String]
2753
+ attr_accessor :ownership_type
2754
+
2755
+ # Optional. The category of the plugin, identifying its primary category or
2756
+ # purpose. This field is required for all plugins.
2757
+ # Corresponds to the JSON property `pluginCategory`
2758
+ # @return [String]
2759
+ attr_accessor :plugin_category
2760
+
2761
+ # Output only. Represents the state of the plugin. Note this field will not be
2762
+ # set for plugins developed via plugin framework as the state will be managed at
2763
+ # plugin instance level.
2764
+ # Corresponds to the JSON property `state`
2765
+ # @return [String]
2766
+ attr_accessor :state
2767
+
2768
+ # The attribute values associated with resource.
2769
+ # Corresponds to the JSON property `type`
2770
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
2771
+ attr_accessor :type
2772
+
2773
+ # Output only. Timestamp indicating when the plugin was last updated.
2774
+ # Corresponds to the JSON property `updateTime`
2775
+ # @return [String]
2776
+ attr_accessor :update_time
2777
+
2778
+ def initialize(**args)
2779
+ update!(**args)
2780
+ end
2781
+
2782
+ # Update properties of this object
2783
+ def update!(**args)
2784
+ @actions_config = args[:actions_config] if args.key?(:actions_config)
2785
+ @config_template = args[:config_template] if args.key?(:config_template)
2786
+ @create_time = args[:create_time] if args.key?(:create_time)
2787
+ @description = args[:description] if args.key?(:description)
2788
+ @display_name = args[:display_name] if args.key?(:display_name)
2789
+ @documentation = args[:documentation] if args.key?(:documentation)
2790
+ @hosting_service = args[:hosting_service] if args.key?(:hosting_service)
2791
+ @name = args[:name] if args.key?(:name)
2792
+ @ownership_type = args[:ownership_type] if args.key?(:ownership_type)
2793
+ @plugin_category = args[:plugin_category] if args.key?(:plugin_category)
2794
+ @state = args[:state] if args.key?(:state)
2795
+ @type = args[:type] if args.key?(:type)
2796
+ @update_time = args[:update_time] if args.key?(:update_time)
2797
+ end
2798
+ end
2799
+
2800
+ # PluginActionConfig represents the configuration of an action supported by a
2801
+ # plugin.
2802
+ class GoogleCloudApihubV1PluginActionConfig
2803
+ include Google::Apis::Core::Hashable
2804
+
2805
+ # Required. The description of the operation performed by the action.
2806
+ # Corresponds to the JSON property `description`
2807
+ # @return [String]
2808
+ attr_accessor :description
2809
+
2810
+ # Required. The display name of the action.
2811
+ # Corresponds to the JSON property `displayName`
2812
+ # @return [String]
2813
+ attr_accessor :display_name
2814
+
2815
+ # Required. The id of the action.
2816
+ # Corresponds to the JSON property `id`
2817
+ # @return [String]
2818
+ attr_accessor :id
2819
+
2820
+ # Required. The trigger mode supported by the action.
2821
+ # Corresponds to the JSON property `triggerMode`
2822
+ # @return [String]
2823
+ attr_accessor :trigger_mode
2824
+
2825
+ def initialize(**args)
2826
+ update!(**args)
2827
+ end
2828
+
2829
+ # Update properties of this object
2830
+ def update!(**args)
2831
+ @description = args[:description] if args.key?(:description)
2832
+ @display_name = args[:display_name] if args.key?(:display_name)
2833
+ @id = args[:id] if args.key?(:id)
2834
+ @trigger_mode = args[:trigger_mode] if args.key?(:trigger_mode)
2835
+ end
2836
+ end
2837
+
2838
+ # Represents a plugin instance resource in the API Hub. A PluginInstance is a
2839
+ # specific instance of a hub plugin with its own configuration, state, and
2840
+ # execution details.
2841
+ class GoogleCloudApihubV1PluginInstance
2842
+ include Google::Apis::Core::Hashable
2843
+
2844
+ # Required. The action status for the plugin instance.
2845
+ # Corresponds to the JSON property `actions`
2846
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1PluginInstanceAction>]
2847
+ attr_accessor :actions
2848
+
2849
+ # Optional. The additional information for this plugin instance corresponding to
2850
+ # the additional config template of the plugin. This information will be sent to
2851
+ # plugin hosting service on each call to plugin hosted service. The key will be
2852
+ # the config_variable_template.display_name to uniquely identify the config
2853
+ # variable.
2854
+ # Corresponds to the JSON property `additionalConfig`
2855
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1ConfigVariable>]
2856
+ attr_accessor :additional_config
2857
+
2858
+ # AuthConfig represents the authentication information.
2859
+ # Corresponds to the JSON property `authConfig`
2860
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AuthConfig]
2861
+ attr_accessor :auth_config
2862
+
2863
+ # Output only. Timestamp indicating when the plugin instance was created.
2864
+ # Corresponds to the JSON property `createTime`
2865
+ # @return [String]
2866
+ attr_accessor :create_time
2867
+
2868
+ # Required. The display name for this plugin instance. Max length is 255
2869
+ # characters.
2870
+ # Corresponds to the JSON property `displayName`
2871
+ # @return [String]
2872
+ attr_accessor :display_name
2873
+
2874
+ # Output only. Error message describing the failure, if any, during Create,
2875
+ # Delete or ApplyConfig operation corresponding to the plugin instance.This
2876
+ # field will only be populated if the plugin instance is in the ERROR or FAILED
2877
+ # state.
2878
+ # Corresponds to the JSON property `errorMessage`
2879
+ # @return [String]
2880
+ attr_accessor :error_message
2881
+
2882
+ # Identifier. The unique name of the plugin instance resource. Format: `projects/
2883
+ # `project`/locations/`location`/plugins/`plugin`/instances/`instance``
2884
+ # Corresponds to the JSON property `name`
2885
+ # @return [String]
2886
+ attr_accessor :name
2887
+
2888
+ # Output only. The current state of the plugin instance (e.g., enabled, disabled,
2889
+ # provisioning).
2890
+ # Corresponds to the JSON property `state`
2891
+ # @return [String]
2892
+ attr_accessor :state
2893
+
2894
+ # Output only. Timestamp indicating when the plugin instance was last updated.
2895
+ # Corresponds to the JSON property `updateTime`
2896
+ # @return [String]
2897
+ attr_accessor :update_time
2898
+
2899
+ def initialize(**args)
2900
+ update!(**args)
2901
+ end
2902
+
2903
+ # Update properties of this object
2904
+ def update!(**args)
2905
+ @actions = args[:actions] if args.key?(:actions)
2906
+ @additional_config = args[:additional_config] if args.key?(:additional_config)
2907
+ @auth_config = args[:auth_config] if args.key?(:auth_config)
2908
+ @create_time = args[:create_time] if args.key?(:create_time)
2909
+ @display_name = args[:display_name] if args.key?(:display_name)
2910
+ @error_message = args[:error_message] if args.key?(:error_message)
2911
+ @name = args[:name] if args.key?(:name)
2912
+ @state = args[:state] if args.key?(:state)
2913
+ @update_time = args[:update_time] if args.key?(:update_time)
2914
+ end
2915
+ end
2916
+
2917
+ # PluginInstanceAction represents an action which can be executed in the plugin
2918
+ # instance.
2919
+ class GoogleCloudApihubV1PluginInstanceAction
2920
+ include Google::Apis::Core::Hashable
2921
+
2922
+ # Required. This should map to one of the action id specified in actions_config
2923
+ # in the plugin.
2924
+ # Corresponds to the JSON property `actionId`
2925
+ # @return [String]
2926
+ attr_accessor :action_id
2927
+
2928
+ # The curation information for this plugin instance.
2929
+ # Corresponds to the JSON property `curationConfig`
2930
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1CurationConfig]
2931
+ attr_accessor :curation_config
2932
+
2933
+ # The execution status for the plugin instance.
2934
+ # Corresponds to the JSON property `hubInstanceAction`
2935
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ExecutionStatus]
2936
+ attr_accessor :hub_instance_action
2937
+
2938
+ # Optional. The schedule for this plugin instance action. This can only be set
2939
+ # if the plugin supports API_HUB_SCHEDULE_TRIGGER mode for this action.
2940
+ # Corresponds to the JSON property `scheduleCronExpression`
2941
+ # @return [String]
2942
+ attr_accessor :schedule_cron_expression
2943
+
2944
+ # Optional. The time zone for the schedule cron expression. If not provided, UTC
2945
+ # will be used.
2946
+ # Corresponds to the JSON property `scheduleTimeZone`
2947
+ # @return [String]
2948
+ attr_accessor :schedule_time_zone
2949
+
2950
+ # Output only. The current state of the plugin action in the plugin instance.
2951
+ # Corresponds to the JSON property `state`
2952
+ # @return [String]
2953
+ attr_accessor :state
2954
+
2955
+ def initialize(**args)
2956
+ update!(**args)
2957
+ end
2958
+
2959
+ # Update properties of this object
2960
+ def update!(**args)
2961
+ @action_id = args[:action_id] if args.key?(:action_id)
2962
+ @curation_config = args[:curation_config] if args.key?(:curation_config)
2963
+ @hub_instance_action = args[:hub_instance_action] if args.key?(:hub_instance_action)
2964
+ @schedule_cron_expression = args[:schedule_cron_expression] if args.key?(:schedule_cron_expression)
2965
+ @schedule_time_zone = args[:schedule_time_zone] if args.key?(:schedule_time_zone)
2966
+ @state = args[:state] if args.key?(:state)
2967
+ end
2968
+ end
2969
+
2970
+ # The plugin instance and associated action that is using the curation.
2971
+ class GoogleCloudApihubV1PluginInstanceActionId
2972
+ include Google::Apis::Core::Hashable
2973
+
2974
+ # Output only. The action ID that is using the curation. This should map to one
2975
+ # of the action IDs specified in action configs in the plugin.
2976
+ # Corresponds to the JSON property `actionId`
2977
+ # @return [String]
2978
+ attr_accessor :action_id
2979
+
2980
+ # Output only. Plugin instance that is using the curation. Format is `projects/`
2981
+ # project`/locations/`location`/plugins/`plugin`/instances/`instance``
2982
+ # Corresponds to the JSON property `pluginInstance`
2983
+ # @return [String]
2984
+ attr_accessor :plugin_instance
2985
+
2986
+ def initialize(**args)
2987
+ update!(**args)
2988
+ end
2989
+
2990
+ # Update properties of this object
2991
+ def update!(**args)
2992
+ @action_id = args[:action_id] if args.key?(:action_id)
2993
+ @plugin_instance = args[:plugin_instance] if args.key?(:plugin_instance)
2994
+ end
2995
+ end
2996
+
2997
+ # PluginInstanceActionSource represents the plugin instance action source.
2998
+ class GoogleCloudApihubV1PluginInstanceActionSource
2999
+ include Google::Apis::Core::Hashable
3000
+
3001
+ # Output only. The id of the plugin instance action.
3002
+ # Corresponds to the JSON property `actionId`
3003
+ # @return [String]
3004
+ attr_accessor :action_id
3005
+
3006
+ # Output only. The resource name of the source plugin instance. Format is `
3007
+ # projects/`project`/locations/`location`/plugins/`plugin`/instances/`instance``
3008
+ # Corresponds to the JSON property `pluginInstance`
3009
+ # @return [String]
3010
+ attr_accessor :plugin_instance
3011
+
3012
+ def initialize(**args)
3013
+ update!(**args)
3014
+ end
3015
+
3016
+ # Update properties of this object
3017
+ def update!(**args)
3018
+ @action_id = args[:action_id] if args.key?(:action_id)
3019
+ @plugin_instance = args[:plugin_instance] if args.key?(:plugin_instance)
3020
+ end
3021
+ end
3022
+
3023
+ # Point within the file (line and character).
3024
+ class GoogleCloudApihubV1Point
3025
+ include Google::Apis::Core::Hashable
3026
+
3027
+ # Required. Character position within the line (zero-indexed).
3028
+ # Corresponds to the JSON property `character`
3029
+ # @return [Fixnum]
3030
+ attr_accessor :character
3031
+
3032
+ # Required. Line number (zero-indexed).
3033
+ # Corresponds to the JSON property `line`
3034
+ # @return [Fixnum]
3035
+ attr_accessor :line
3036
+
3037
+ def initialize(**args)
3038
+ update!(**args)
3039
+ end
3040
+
3041
+ # Update properties of this object
3042
+ def update!(**args)
3043
+ @character = args[:character] if args.key?(:character)
3044
+ @line = args[:line] if args.key?(:line)
3045
+ end
3046
+ end
3047
+
3048
+ # Object describing where in the file the issue was found.
3049
+ class GoogleCloudApihubV1Range
3050
+ include Google::Apis::Core::Hashable
3051
+
3052
+ # Point within the file (line and character).
3053
+ # Corresponds to the JSON property `end`
3054
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Point]
3055
+ attr_accessor :end
3056
+
3057
+ # Point within the file (line and character).
3058
+ # Corresponds to the JSON property `start`
3059
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Point]
3060
+ attr_accessor :start
3061
+
3062
+ def initialize(**args)
3063
+ update!(**args)
3064
+ end
3065
+
3066
+ # Update properties of this object
3067
+ def update!(**args)
3068
+ @end = args[:end] if args.key?(:end)
3069
+ @start = args[:start] if args.key?(:start)
3070
+ end
3071
+ end
3072
+
3073
+ # Runtime project attachment represents an attachment from the runtime project
3074
+ # to the host project. Api Hub looks for deployments in the attached runtime
3075
+ # projects and creates corresponding resources in Api Hub for the discovered
3076
+ # deployments.
3077
+ class GoogleCloudApihubV1RuntimeProjectAttachment
3078
+ include Google::Apis::Core::Hashable
3079
+
3080
+ # Output only. Create time.
3081
+ # Corresponds to the JSON property `createTime`
3082
+ # @return [String]
3083
+ attr_accessor :create_time
3084
+
3085
+ # Identifier. The resource name of a runtime project attachment. Format: "
3086
+ # projects/`project`/locations/`location`/runtimeProjectAttachments/`
3087
+ # runtime_project_attachment`".
3088
+ # Corresponds to the JSON property `name`
3089
+ # @return [String]
3090
+ attr_accessor :name
3091
+
3092
+ # Required. Immutable. Google cloud project name in the format: "projects/abc"
3093
+ # or "projects/123". As input, project name with either project id or number are
3094
+ # accepted. As output, this field will contain project number.
3095
+ # Corresponds to the JSON property `runtimeProject`
3096
+ # @return [String]
3097
+ attr_accessor :runtime_project
3098
+
3099
+ def initialize(**args)
3100
+ update!(**args)
3101
+ end
3102
+
3103
+ # Update properties of this object
3104
+ def update!(**args)
3105
+ @create_time = args[:create_time] if args.key?(:create_time)
3106
+ @name = args[:name] if args.key?(:name)
3107
+ @runtime_project = args[:runtime_project] if args.key?(:runtime_project)
3108
+ end
3109
+ end
3110
+
3111
+ # The schema details derived from the spec. Currently, this entity is supported
3112
+ # for OpenAPI spec only. For OpenAPI spec, this maps to the schema defined in
3113
+ # the `definitions` section for OpenAPI 2.0 version and in `components.schemas`
3114
+ # section for OpenAPI 3.0 and 3.1 version.
3115
+ class GoogleCloudApihubV1Schema
3116
+ include Google::Apis::Core::Hashable
3117
+
3118
+ # Output only. The display name of the schema. This will map to the name of the
3119
+ # schema in the spec.
3120
+ # Corresponds to the JSON property `displayName`
3121
+ # @return [String]
3122
+ attr_accessor :display_name
3123
+
3124
+ # Output only. The raw value of the schema definition corresponding to the
3125
+ # schema name in the spec.
3126
+ # Corresponds to the JSON property `rawValue`
3127
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3128
+ # @return [String]
3129
+ attr_accessor :raw_value
3130
+
3131
+ def initialize(**args)
3132
+ update!(**args)
3133
+ end
3134
+
3135
+ # Update properties of this object
3136
+ def update!(**args)
3137
+ @display_name = args[:display_name] if args.key?(:display_name)
3138
+ @raw_value = args[:raw_value] if args.key?(:raw_value)
3139
+ end
3140
+ end
3141
+
3142
+ # The SearchResources method's request.
3143
+ class GoogleCloudApihubV1SearchResourcesRequest
3144
+ include Google::Apis::Core::Hashable
3145
+
3146
+ # Optional. An expression that filters the list of search results. A filter
3147
+ # expression consists of a field name, a comparison operator, and a value for
3148
+ # filtering. The value must be a string, a number, or a boolean. The comparison
3149
+ # operator must be `=`. Filters are not case sensitive. The following field
3150
+ # names are eligible for filtering: * `resource_type` - The type of resource in
3151
+ # the search results. Must be one of the following: `Api`, `ApiOperation`, `
3152
+ # Deployment`, `Definition`, `Spec` or `Version`. This field can only be
3153
+ # specified once in the filter. Here are is an example: * `resource_type = Api` -
3154
+ # The resource_type is _Api_.
3155
+ # Corresponds to the JSON property `filter`
3156
+ # @return [String]
3157
+ attr_accessor :filter
3158
+
3159
+ # Optional. The maximum number of search results to return. The service may
3160
+ # return fewer than this value. If unspecified at most 10 search results will be
3161
+ # returned. If value is negative then `INVALID_ARGUMENT` error is returned. The
3162
+ # maximum value is 25; values above 25 will be coerced to 25. While paginating,
3163
+ # you can specify a new page size parameter for each page of search results to
3164
+ # be listed.
3165
+ # Corresponds to the JSON property `pageSize`
3166
+ # @return [Fixnum]
3167
+ attr_accessor :page_size
3168
+
3169
+ # Optional. A page token, received from a previous SearchResources call. Specify
3170
+ # this parameter to retrieve the next page of transactions. When paginating, you
3171
+ # must specify the `page_token` parameter and all the other parameters except
3172
+ # page_size should be specified with the same value which was used in the
3173
+ # previous call. If the other fields are set with a different value than the
3174
+ # previous call then `INVALID_ARGUMENT` error is returned.
3175
+ # Corresponds to the JSON property `pageToken`
3176
+ # @return [String]
3177
+ attr_accessor :page_token
3178
+
3179
+ # Required. The free text search query. This query can contain keywords which
3180
+ # could be related to any detail of the API-Hub resources such display names,
3181
+ # descriptions, attributes etc.
3182
+ # Corresponds to the JSON property `query`
3183
+ # @return [String]
3184
+ attr_accessor :query
3185
+
3186
+ def initialize(**args)
3187
+ update!(**args)
3188
+ end
3189
+
3190
+ # Update properties of this object
3191
+ def update!(**args)
3192
+ @filter = args[:filter] if args.key?(:filter)
3193
+ @page_size = args[:page_size] if args.key?(:page_size)
3194
+ @page_token = args[:page_token] if args.key?(:page_token)
3195
+ @query = args[:query] if args.key?(:query)
3196
+ end
3197
+ end
3198
+
3199
+ # Response for the SearchResources method.
3200
+ class GoogleCloudApihubV1SearchResourcesResponse
3201
+ include Google::Apis::Core::Hashable
3202
+
3203
+ # Pass this token in the SearchResourcesRequest to continue to list results. If
3204
+ # all results have been returned, this field is an empty string or not present
3205
+ # in the response.
3206
+ # Corresponds to the JSON property `nextPageToken`
3207
+ # @return [String]
3208
+ attr_accessor :next_page_token
3209
+
3210
+ # List of search results according to the filter and search query specified. The
3211
+ # order of search results represents the ranking.
3212
+ # Corresponds to the JSON property `searchResults`
3213
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SearchResult>]
3214
+ attr_accessor :search_results
3215
+
3216
+ def initialize(**args)
3217
+ update!(**args)
3218
+ end
3219
+
3220
+ # Update properties of this object
3221
+ def update!(**args)
3222
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3223
+ @search_results = args[:search_results] if args.key?(:search_results)
3224
+ end
3225
+ end
3226
+
3227
+ # Represents the search results.
3228
+ class GoogleCloudApihubV1SearchResult
3229
+ include Google::Apis::Core::Hashable
3230
+
3231
+ # ApiHubResource is one of the resources such as Api, Operation, Deployment,
3232
+ # Definition, Spec and Version resources stored in API-Hub.
3233
+ # Corresponds to the JSON property `resource`
3234
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1ApiHubResource]
3235
+ attr_accessor :resource
3236
+
3237
+ def initialize(**args)
3238
+ update!(**args)
3239
+ end
3240
+
3241
+ # Update properties of this object
3242
+ def update!(**args)
3243
+ @resource = args[:resource] if args.key?(:resource)
3244
+ end
3245
+ end
3246
+
3247
+ # Secret provides a reference to entries in Secret Manager.
3248
+ class GoogleCloudApihubV1Secret
3249
+ include Google::Apis::Core::Hashable
3250
+
3251
+ # Required. The resource name of the secret version in the format, format as: `
3252
+ # projects/*/secrets/*/versions/*`.
3253
+ # Corresponds to the JSON property `secretVersion`
3254
+ # @return [String]
3255
+ attr_accessor :secret_version
3256
+
3257
+ def initialize(**args)
3258
+ update!(**args)
3259
+ end
3260
+
3261
+ # Update properties of this object
3262
+ def update!(**args)
3263
+ @secret_version = args[:secret_version] if args.key?(:secret_version)
3264
+ end
3265
+ end
3266
+
3267
+ # SourceMetadata represents the metadata for a resource at the source.
3268
+ class GoogleCloudApihubV1SourceMetadata
3269
+ include Google::Apis::Core::Hashable
3270
+
3271
+ # Output only. The time at which the resource was created at the source.
3272
+ # Corresponds to the JSON property `originalResourceCreateTime`
3273
+ # @return [String]
3274
+ attr_accessor :original_resource_create_time
3275
+
3276
+ # Output only. The unique identifier of the resource at the source.
3277
+ # Corresponds to the JSON property `originalResourceId`
3278
+ # @return [String]
3279
+ attr_accessor :original_resource_id
3280
+
3281
+ # Output only. The time at which the resource was last updated at the source.
3282
+ # Corresponds to the JSON property `originalResourceUpdateTime`
3283
+ # @return [String]
3284
+ attr_accessor :original_resource_update_time
3285
+
3286
+ # PluginInstanceActionSource represents the plugin instance action source.
3287
+ # Corresponds to the JSON property `pluginInstanceActionSource`
3288
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1PluginInstanceActionSource]
3289
+ attr_accessor :plugin_instance_action_source
3290
+
3291
+ # Output only. The type of the source.
3292
+ # Corresponds to the JSON property `sourceType`
3293
+ # @return [String]
3294
+ attr_accessor :source_type
3295
+
3296
+ def initialize(**args)
3297
+ update!(**args)
3298
+ end
3299
+
3300
+ # Update properties of this object
3301
+ def update!(**args)
3302
+ @original_resource_create_time = args[:original_resource_create_time] if args.key?(:original_resource_create_time)
3303
+ @original_resource_id = args[:original_resource_id] if args.key?(:original_resource_id)
3304
+ @original_resource_update_time = args[:original_resource_update_time] if args.key?(:original_resource_update_time)
3305
+ @plugin_instance_action_source = args[:plugin_instance_action_source] if args.key?(:plugin_instance_action_source)
3306
+ @source_type = args[:source_type] if args.key?(:source_type)
3307
+ end
3308
+ end
3309
+
3310
+ # Represents a spec associated with an API version in the API Hub. Note that
3311
+ # specs of various types can be uploaded, however parsing of details is
3312
+ # supported for OpenAPI spec currently.
3313
+ class GoogleCloudApihubV1Spec
3314
+ include Google::Apis::Core::Hashable
3315
+
3316
+ # Optional. The list of user defined attributes associated with the spec. The
3317
+ # key is the attribute name. It will be of the format: `projects/`project`/
3318
+ # locations/`location`/attributes/`attribute``. The value is the attribute
3319
+ # values associated with the resource.
3320
+ # Corresponds to the JSON property `attributes`
3321
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
3322
+ attr_accessor :attributes
3323
+
3324
+ # The spec contents.
3325
+ # Corresponds to the JSON property `contents`
3326
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1SpecContents]
3327
+ attr_accessor :contents
3328
+
3329
+ # Output only. The time at which the spec was created.
3330
+ # Corresponds to the JSON property `createTime`
3331
+ # @return [String]
3332
+ attr_accessor :create_time
3333
+
3334
+ # SpecDetails contains the details parsed from supported spec types.
3335
+ # Corresponds to the JSON property `details`
3336
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1SpecDetails]
3337
+ attr_accessor :details
3338
+
3339
+ # Required. The display name of the spec. This can contain the file name of the
3340
+ # spec.
3341
+ # Corresponds to the JSON property `displayName`
3342
+ # @return [String]
3343
+ attr_accessor :display_name
3344
+
3345
+ # Documentation details.
3346
+ # Corresponds to the JSON property `documentation`
3347
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
3348
+ attr_accessor :documentation
3349
+
3350
+ # LintResponse contains the response from the linter.
3351
+ # Corresponds to the JSON property `lintResponse`
3352
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1LintResponse]
3353
+ attr_accessor :lint_response
3354
+
3355
+ # Identifier. The name of the spec. Format: `projects/`project`/locations/`
3356
+ # location`/apis/`api`/versions/`version`/specs/`spec``
3357
+ # Corresponds to the JSON property `name`
3358
+ # @return [String]
3359
+ attr_accessor :name
3360
+
3361
+ # Optional. Input only. Enum specifying the parsing mode for OpenAPI
3362
+ # Specification (OAS) parsing.
3363
+ # Corresponds to the JSON property `parsingMode`
3364
+ # @return [String]
3365
+ attr_accessor :parsing_mode
3366
+
3367
+ # Output only. The list of sources and metadata from the sources of the spec.
3368
+ # Corresponds to the JSON property `sourceMetadata`
3369
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SourceMetadata>]
3370
+ attr_accessor :source_metadata
3371
+
3372
+ # Optional. The URI of the spec source in case file is uploaded from an external
3373
+ # version control system.
3374
+ # Corresponds to the JSON property `sourceUri`
3375
+ # @return [String]
3376
+ attr_accessor :source_uri
3377
+
3378
+ # The attribute values associated with resource.
3379
+ # Corresponds to the JSON property `specType`
3380
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
3381
+ attr_accessor :spec_type
3382
+
3383
+ # Output only. The time at which the spec was last updated.
3384
+ # Corresponds to the JSON property `updateTime`
3385
+ # @return [String]
3386
+ attr_accessor :update_time
3387
+
3388
+ def initialize(**args)
3389
+ update!(**args)
3390
+ end
3391
+
3392
+ # Update properties of this object
3393
+ def update!(**args)
3394
+ @attributes = args[:attributes] if args.key?(:attributes)
3395
+ @contents = args[:contents] if args.key?(:contents)
3396
+ @create_time = args[:create_time] if args.key?(:create_time)
3397
+ @details = args[:details] if args.key?(:details)
3398
+ @display_name = args[:display_name] if args.key?(:display_name)
3399
+ @documentation = args[:documentation] if args.key?(:documentation)
3400
+ @lint_response = args[:lint_response] if args.key?(:lint_response)
3401
+ @name = args[:name] if args.key?(:name)
3402
+ @parsing_mode = args[:parsing_mode] if args.key?(:parsing_mode)
3403
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
3404
+ @source_uri = args[:source_uri] if args.key?(:source_uri)
3405
+ @spec_type = args[:spec_type] if args.key?(:spec_type)
3406
+ @update_time = args[:update_time] if args.key?(:update_time)
3407
+ end
3408
+ end
3409
+
3410
+ # The spec contents.
3411
+ class GoogleCloudApihubV1SpecContents
3412
+ include Google::Apis::Core::Hashable
3413
+
3414
+ # Required. The contents of the spec.
3415
+ # Corresponds to the JSON property `contents`
3416
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3417
+ # @return [String]
3418
+ attr_accessor :contents
3419
+
3420
+ # Required. The mime type of the content for example application/json,
3421
+ # application/yaml, application/wsdl etc.
3422
+ # Corresponds to the JSON property `mimeType`
3423
+ # @return [String]
3424
+ attr_accessor :mime_type
3425
+
3426
+ def initialize(**args)
3427
+ update!(**args)
3428
+ end
3429
+
3430
+ # Update properties of this object
3431
+ def update!(**args)
3432
+ @contents = args[:contents] if args.key?(:contents)
3433
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
3434
+ end
3435
+ end
3436
+
3437
+ # SpecDetails contains the details parsed from supported spec types.
3438
+ class GoogleCloudApihubV1SpecDetails
3439
+ include Google::Apis::Core::Hashable
3440
+
3441
+ # Output only. The description of the spec.
3442
+ # Corresponds to the JSON property `description`
3443
+ # @return [String]
3444
+ attr_accessor :description
3445
+
3446
+ # OpenApiSpecDetails contains the details parsed from an OpenAPI spec in
3447
+ # addition to the fields mentioned in SpecDetails.
3448
+ # Corresponds to the JSON property `openApiSpecDetails`
3449
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1OpenApiSpecDetails]
3450
+ attr_accessor :open_api_spec_details
3451
+
3452
+ def initialize(**args)
3453
+ update!(**args)
3454
+ end
3455
+
3456
+ # Update properties of this object
3457
+ def update!(**args)
3458
+ @description = args[:description] if args.key?(:description)
3459
+ @open_api_spec_details = args[:open_api_spec_details] if args.key?(:open_api_spec_details)
3460
+ end
3461
+ end
3462
+
3463
+ # The metadata associated with a spec of the API version.
3464
+ class GoogleCloudApihubV1SpecMetadata
3465
+ include Google::Apis::Core::Hashable
3466
+
3467
+ # Optional. Timestamp indicating when the spec was created at the source.
3468
+ # Corresponds to the JSON property `originalCreateTime`
3469
+ # @return [String]
3470
+ attr_accessor :original_create_time
3471
+
3472
+ # Optional. The unique identifier of the spec in the system where it was
3473
+ # originally created.
3474
+ # Corresponds to the JSON property `originalId`
3475
+ # @return [String]
3476
+ attr_accessor :original_id
3477
+
3478
+ # Required. Timestamp indicating when the spec was last updated at the source.
3479
+ # Corresponds to the JSON property `originalUpdateTime`
3480
+ # @return [String]
3481
+ attr_accessor :original_update_time
3482
+
3483
+ # Represents a spec associated with an API version in the API Hub. Note that
3484
+ # specs of various types can be uploaded, however parsing of details is
3485
+ # supported for OpenAPI spec currently.
3486
+ # Corresponds to the JSON property `spec`
3487
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Spec]
3488
+ attr_accessor :spec
3489
+
3490
+ def initialize(**args)
3491
+ update!(**args)
3492
+ end
3493
+
3494
+ # Update properties of this object
3495
+ def update!(**args)
3496
+ @original_create_time = args[:original_create_time] if args.key?(:original_create_time)
3497
+ @original_id = args[:original_id] if args.key?(:original_id)
3498
+ @original_update_time = args[:original_update_time] if args.key?(:original_update_time)
3499
+ @spec = args[:spec] if args.key?(:spec)
3500
+ end
3501
+ end
3502
+
3503
+ # The attribute values of data type string or JSON.
3504
+ class GoogleCloudApihubV1StringAttributeValues
3505
+ include Google::Apis::Core::Hashable
3506
+
3507
+ # Required. The attribute values in case attribute data type is string or JSON.
3508
+ # Corresponds to the JSON property `values`
3509
+ # @return [Array<String>]
3510
+ attr_accessor :values
3511
+
3512
+ def initialize(**args)
3513
+ update!(**args)
3514
+ end
3515
+
3516
+ # Update properties of this object
3517
+ def update!(**args)
3518
+ @values = args[:values] if args.key?(:values)
3519
+ end
3520
+ end
3521
+
3522
+ # Represents a singleton style guide resource to be used for linting Open API
3523
+ # specs.
3524
+ class GoogleCloudApihubV1StyleGuide
3525
+ include Google::Apis::Core::Hashable
3526
+
3527
+ # The style guide contents.
3528
+ # Corresponds to the JSON property `contents`
3529
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1StyleGuideContents]
3530
+ attr_accessor :contents
3531
+
3532
+ # Required. Target linter for the style guide.
3533
+ # Corresponds to the JSON property `linter`
3534
+ # @return [String]
3535
+ attr_accessor :linter
3536
+
3537
+ # Identifier. The name of the style guide. Format: `projects/`project`/locations/
3538
+ # `location`/plugins/`plugin`/styleGuide`
3539
+ # Corresponds to the JSON property `name`
3540
+ # @return [String]
3541
+ attr_accessor :name
3542
+
3543
+ def initialize(**args)
3544
+ update!(**args)
3545
+ end
3546
+
3547
+ # Update properties of this object
3548
+ def update!(**args)
3549
+ @contents = args[:contents] if args.key?(:contents)
3550
+ @linter = args[:linter] if args.key?(:linter)
3551
+ @name = args[:name] if args.key?(:name)
3552
+ end
3553
+ end
3554
+
3555
+ # The style guide contents.
3556
+ class GoogleCloudApihubV1StyleGuideContents
3557
+ include Google::Apis::Core::Hashable
3558
+
3559
+ # Required. The contents of the style guide.
3560
+ # Corresponds to the JSON property `contents`
3561
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3562
+ # @return [String]
3563
+ attr_accessor :contents
3564
+
3565
+ # Required. The mime type of the content.
3566
+ # Corresponds to the JSON property `mimeType`
3567
+ # @return [String]
3568
+ attr_accessor :mime_type
3569
+
3570
+ def initialize(**args)
3571
+ update!(**args)
3572
+ end
3573
+
3574
+ # Update properties of this object
3575
+ def update!(**args)
3576
+ @contents = args[:contents] if args.key?(:contents)
3577
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
3578
+ end
3579
+ end
3580
+
3581
+ # Count of issues with a given severity.
3582
+ class GoogleCloudApihubV1SummaryEntry
3583
+ include Google::Apis::Core::Hashable
3584
+
3585
+ # Required. Count of issues with the given severity.
3586
+ # Corresponds to the JSON property `count`
3587
+ # @return [Fixnum]
3588
+ attr_accessor :count
3589
+
3590
+ # Required. Severity of the issue.
3591
+ # Corresponds to the JSON property `severity`
3592
+ # @return [String]
3593
+ attr_accessor :severity
3594
+
3595
+ def initialize(**args)
3596
+ update!(**args)
3597
+ end
3598
+
3599
+ # Update properties of this object
3600
+ def update!(**args)
3601
+ @count = args[:count] if args.key?(:count)
3602
+ @severity = args[:severity] if args.key?(:severity)
3603
+ end
3604
+ end
3605
+
3606
+ # Parameters to support Username and Password Authentication.
3607
+ class GoogleCloudApihubV1UserPasswordConfig
3608
+ include Google::Apis::Core::Hashable
3609
+
3610
+ # Secret provides a reference to entries in Secret Manager.
3611
+ # Corresponds to the JSON property `password`
3612
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Secret]
3613
+ attr_accessor :password
3614
+
3615
+ # Required. Username.
3616
+ # Corresponds to the JSON property `username`
3617
+ # @return [String]
3618
+ attr_accessor :username
3619
+
3620
+ def initialize(**args)
3621
+ update!(**args)
3622
+ end
3623
+
3624
+ # Update properties of this object
3625
+ def update!(**args)
3626
+ @password = args[:password] if args.key?(:password)
3627
+ @username = args[:username] if args.key?(:username)
3628
+ end
3629
+ end
3630
+
3631
+ # Represents a version of the API resource in API hub. This is also referred to
3632
+ # as the API version.
3633
+ class GoogleCloudApihubV1Version
3634
+ include Google::Apis::Core::Hashable
3635
+
3636
+ # The attribute values associated with resource.
3637
+ # Corresponds to the JSON property `accreditation`
3638
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
3639
+ attr_accessor :accreditation
3640
+
3641
+ # Output only. The operations contained in the API version. These operations
3642
+ # will be added to the version when a new spec is added or when an existing spec
3643
+ # is updated. Format is `projects/`project`/locations/`location`/apis/`api`/
3644
+ # versions/`version`/operations/`operation``
3645
+ # Corresponds to the JSON property `apiOperations`
3646
+ # @return [Array<String>]
3647
+ attr_accessor :api_operations
3648
+
3649
+ # Optional. The list of user defined attributes associated with the Version
3650
+ # resource. The key is the attribute name. It will be of the format: `projects/`
3651
+ # project`/locations/`location`/attributes/`attribute``. The value is the
3652
+ # attribute values associated with the resource.
3653
+ # Corresponds to the JSON property `attributes`
3654
+ # @return [Hash<String,Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues>]
3655
+ attr_accessor :attributes
3656
+
3657
+ # The attribute values associated with resource.
3658
+ # Corresponds to the JSON property `compliance`
3659
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
3660
+ attr_accessor :compliance
3661
+
3662
+ # Output only. The time at which the version was created.
3663
+ # Corresponds to the JSON property `createTime`
3664
+ # @return [String]
3665
+ attr_accessor :create_time
3666
+
3667
+ # Output only. The definitions contained in the API version. These definitions
3668
+ # will be added to the version when a new spec is added or when an existing spec
3669
+ # is updated. Format is `projects/`project`/locations/`location`/apis/`api`/
3670
+ # versions/`version`/definitions/`definition``
3671
+ # Corresponds to the JSON property `definitions`
3672
+ # @return [Array<String>]
3673
+ attr_accessor :definitions
3674
+
3675
+ # Optional. The deployments linked to this API version. Note: A particular API
3676
+ # version could be deployed to multiple deployments (for dev deployment, UAT
3677
+ # deployment, etc) Format is `projects/`project`/locations/`location`/
3678
+ # deployments/`deployment``
3679
+ # Corresponds to the JSON property `deployments`
3680
+ # @return [Array<String>]
3681
+ attr_accessor :deployments
3682
+
3683
+ # Optional. The description of the version.
3684
+ # Corresponds to the JSON property `description`
3685
+ # @return [String]
3686
+ attr_accessor :description
3687
+
3688
+ # Required. The display name of the version.
3689
+ # Corresponds to the JSON property `displayName`
3690
+ # @return [String]
3691
+ attr_accessor :display_name
3692
+
3693
+ # Documentation details.
3694
+ # Corresponds to the JSON property `documentation`
3695
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Documentation]
3696
+ attr_accessor :documentation
3697
+
3698
+ # The attribute values associated with resource.
3699
+ # Corresponds to the JSON property `lifecycle`
3700
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1AttributeValues]
3701
+ attr_accessor :lifecycle
3702
+
3703
+ # Identifier. The name of the version. Format: `projects/`project`/locations/`
3704
+ # location`/apis/`api`/versions/`version``
3705
+ # Corresponds to the JSON property `name`
3706
+ # @return [String]
3707
+ attr_accessor :name
3708
+
3709
+ # Optional. The selected deployment for a Version resource. This can be used
3710
+ # when special handling is needed on client side for a particular deployment
3711
+ # linked to the version. Format is `projects/`project`/locations/`location`/
3712
+ # deployments/`deployment``
3713
+ # Corresponds to the JSON property `selectedDeployment`
3714
+ # @return [String]
3715
+ attr_accessor :selected_deployment
3716
+
3717
+ # Output only. The list of sources and metadata from the sources of the version.
3718
+ # Corresponds to the JSON property `sourceMetadata`
3719
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SourceMetadata>]
3720
+ attr_accessor :source_metadata
3721
+
3722
+ # Output only. The specs associated with this version. Note that an API version
3723
+ # can be associated with multiple specs. Format is `projects/`project`/locations/
3724
+ # `location`/apis/`api`/versions/`version`/specs/`spec``
3725
+ # Corresponds to the JSON property `specs`
3726
+ # @return [Array<String>]
3727
+ attr_accessor :specs
3728
+
3729
+ # Output only. The time at which the version was last updated.
3730
+ # Corresponds to the JSON property `updateTime`
3731
+ # @return [String]
3732
+ attr_accessor :update_time
3733
+
3734
+ def initialize(**args)
3735
+ update!(**args)
3736
+ end
3737
+
3738
+ # Update properties of this object
3739
+ def update!(**args)
3740
+ @accreditation = args[:accreditation] if args.key?(:accreditation)
3741
+ @api_operations = args[:api_operations] if args.key?(:api_operations)
3742
+ @attributes = args[:attributes] if args.key?(:attributes)
3743
+ @compliance = args[:compliance] if args.key?(:compliance)
3744
+ @create_time = args[:create_time] if args.key?(:create_time)
3745
+ @definitions = args[:definitions] if args.key?(:definitions)
3746
+ @deployments = args[:deployments] if args.key?(:deployments)
3747
+ @description = args[:description] if args.key?(:description)
3748
+ @display_name = args[:display_name] if args.key?(:display_name)
3749
+ @documentation = args[:documentation] if args.key?(:documentation)
3750
+ @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
3751
+ @name = args[:name] if args.key?(:name)
3752
+ @selected_deployment = args[:selected_deployment] if args.key?(:selected_deployment)
3753
+ @source_metadata = args[:source_metadata] if args.key?(:source_metadata)
3754
+ @specs = args[:specs] if args.key?(:specs)
3755
+ @update_time = args[:update_time] if args.key?(:update_time)
3756
+ end
3757
+ end
3758
+
3759
+ # The metadata associated with a version of the API resource.
3760
+ class GoogleCloudApihubV1VersionMetadata
3761
+ include Google::Apis::Core::Hashable
3762
+
3763
+ # Optional. The deployments linked to this API version. Note: A particular API
3764
+ # version could be deployed to multiple deployments (for dev deployment, UAT
3765
+ # deployment, etc.)
3766
+ # Corresponds to the JSON property `deployments`
3767
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1DeploymentMetadata>]
3768
+ attr_accessor :deployments
3769
+
3770
+ # Optional. Timestamp indicating when the version was created at the source.
3771
+ # Corresponds to the JSON property `originalCreateTime`
3772
+ # @return [String]
3773
+ attr_accessor :original_create_time
3774
+
3775
+ # Optional. The unique identifier of the version in the system where it was
3776
+ # originally created.
3777
+ # Corresponds to the JSON property `originalId`
3778
+ # @return [String]
3779
+ attr_accessor :original_id
3780
+
3781
+ # Required. Timestamp indicating when the version was last updated at the source.
3782
+ # Corresponds to the JSON property `originalUpdateTime`
3783
+ # @return [String]
3784
+ attr_accessor :original_update_time
3785
+
3786
+ # Optional. The specs associated with this version. Note that an API version can
3787
+ # be associated with multiple specs.
3788
+ # Corresponds to the JSON property `specs`
3789
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudApihubV1SpecMetadata>]
3790
+ attr_accessor :specs
3791
+
3792
+ # Represents a version of the API resource in API hub. This is also referred to
3793
+ # as the API version.
3794
+ # Corresponds to the JSON property `version`
3795
+ # @return [Google::Apis::ApihubV1::GoogleCloudApihubV1Version]
3796
+ attr_accessor :version
3797
+
3798
+ def initialize(**args)
3799
+ update!(**args)
3800
+ end
3801
+
3802
+ # Update properties of this object
3803
+ def update!(**args)
3804
+ @deployments = args[:deployments] if args.key?(:deployments)
3805
+ @original_create_time = args[:original_create_time] if args.key?(:original_create_time)
3806
+ @original_id = args[:original_id] if args.key?(:original_id)
3807
+ @original_update_time = args[:original_update_time] if args.key?(:original_update_time)
3808
+ @specs = args[:specs] if args.key?(:specs)
3809
+ @version = args[:version] if args.key?(:version)
3810
+ end
3811
+ end
3812
+
3813
+ # Represents the metadata of the long-running operation.
3814
+ class GoogleCloudCommonOperationMetadata
3815
+ include Google::Apis::Core::Hashable
3816
+
3817
+ # Output only. API version used to start the operation.
3818
+ # Corresponds to the JSON property `apiVersion`
3819
+ # @return [String]
3820
+ attr_accessor :api_version
3821
+
3822
+ # Output only. Identifies whether the user has requested cancellation of the
3823
+ # operation. Operations that have been cancelled successfully have google.
3824
+ # longrunning.Operation.error value with a google.rpc.Status.code of `1`,
3825
+ # corresponding to `Code.CANCELLED`.
3826
+ # Corresponds to the JSON property `cancelRequested`
3827
+ # @return [Boolean]
3828
+ attr_accessor :cancel_requested
3829
+ alias_method :cancel_requested?, :cancel_requested
3830
+
3831
+ # Output only. The time the operation was created.
3832
+ # Corresponds to the JSON property `createTime`
3833
+ # @return [String]
3834
+ attr_accessor :create_time
3835
+
3836
+ # Output only. The time the operation finished running.
3837
+ # Corresponds to the JSON property `endTime`
3838
+ # @return [String]
3839
+ attr_accessor :end_time
3840
+
3841
+ # Output only. Human-readable status of the operation, if any.
3842
+ # Corresponds to the JSON property `statusDetail`
3843
+ # @return [String]
3844
+ attr_accessor :status_detail
3845
+
3846
+ # Output only. Server-defined resource path for the target of the operation.
3847
+ # Corresponds to the JSON property `target`
3848
+ # @return [String]
3849
+ attr_accessor :target
3850
+
3851
+ # Output only. Name of the verb executed by the operation.
3852
+ # Corresponds to the JSON property `verb`
3853
+ # @return [String]
3854
+ attr_accessor :verb
3855
+
3856
+ def initialize(**args)
3857
+ update!(**args)
3858
+ end
3859
+
3860
+ # Update properties of this object
3861
+ def update!(**args)
3862
+ @api_version = args[:api_version] if args.key?(:api_version)
3863
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
3864
+ @create_time = args[:create_time] if args.key?(:create_time)
3865
+ @end_time = args[:end_time] if args.key?(:end_time)
3866
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
3867
+ @target = args[:target] if args.key?(:target)
3868
+ @verb = args[:verb] if args.key?(:verb)
3869
+ end
3870
+ end
3871
+
3872
+ # The response message for Locations.ListLocations.
3873
+ class GoogleCloudLocationListLocationsResponse
3874
+ include Google::Apis::Core::Hashable
3875
+
3876
+ # A list of locations that matches the specified filter in the request.
3877
+ # Corresponds to the JSON property `locations`
3878
+ # @return [Array<Google::Apis::ApihubV1::GoogleCloudLocationLocation>]
3879
+ attr_accessor :locations
3880
+
3881
+ # The standard List next-page token.
3882
+ # Corresponds to the JSON property `nextPageToken`
3883
+ # @return [String]
3884
+ attr_accessor :next_page_token
3885
+
3886
+ def initialize(**args)
3887
+ update!(**args)
3888
+ end
3889
+
3890
+ # Update properties of this object
3891
+ def update!(**args)
3892
+ @locations = args[:locations] if args.key?(:locations)
3893
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3894
+ end
3895
+ end
3896
+
3897
+ # A resource that represents a Google Cloud location.
3898
+ class GoogleCloudLocationLocation
3899
+ include Google::Apis::Core::Hashable
3900
+
3901
+ # The friendly name for this location, typically a nearby city name. For example,
3902
+ # "Tokyo".
3903
+ # Corresponds to the JSON property `displayName`
3904
+ # @return [String]
3905
+ attr_accessor :display_name
3906
+
3907
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
3908
+ # region": "us-east1"`
3909
+ # Corresponds to the JSON property `labels`
3910
+ # @return [Hash<String,String>]
3911
+ attr_accessor :labels
3912
+
3913
+ # The canonical id for this location. For example: `"us-east1"`.
3914
+ # Corresponds to the JSON property `locationId`
3915
+ # @return [String]
3916
+ attr_accessor :location_id
3917
+
3918
+ # Service-specific metadata. For example the available capacity at the given
3919
+ # location.
3920
+ # Corresponds to the JSON property `metadata`
3921
+ # @return [Hash<String,Object>]
3922
+ attr_accessor :metadata
3923
+
3924
+ # Resource name for the location, which may vary between implementations. For
3925
+ # example: `"projects/example-project/locations/us-east1"`
3926
+ # Corresponds to the JSON property `name`
3927
+ # @return [String]
3928
+ attr_accessor :name
3929
+
3930
+ def initialize(**args)
3931
+ update!(**args)
3932
+ end
3933
+
3934
+ # Update properties of this object
3935
+ def update!(**args)
3936
+ @display_name = args[:display_name] if args.key?(:display_name)
3937
+ @labels = args[:labels] if args.key?(:labels)
3938
+ @location_id = args[:location_id] if args.key?(:location_id)
3939
+ @metadata = args[:metadata] if args.key?(:metadata)
3940
+ @name = args[:name] if args.key?(:name)
3941
+ end
3942
+ end
3943
+
3944
+ # The request message for Operations.CancelOperation.
3945
+ class GoogleLongrunningCancelOperationRequest
3946
+ include Google::Apis::Core::Hashable
3947
+
3948
+ def initialize(**args)
3949
+ update!(**args)
3950
+ end
3951
+
3952
+ # Update properties of this object
3953
+ def update!(**args)
3954
+ end
3955
+ end
3956
+
3957
+ # The response message for Operations.ListOperations.
3958
+ class GoogleLongrunningListOperationsResponse
3959
+ include Google::Apis::Core::Hashable
3960
+
3961
+ # The standard List next-page token.
3962
+ # Corresponds to the JSON property `nextPageToken`
3963
+ # @return [String]
3964
+ attr_accessor :next_page_token
3965
+
3966
+ # A list of operations that matches the specified filter in the request.
3967
+ # Corresponds to the JSON property `operations`
3968
+ # @return [Array<Google::Apis::ApihubV1::GoogleLongrunningOperation>]
3969
+ attr_accessor :operations
3970
+
3971
+ def initialize(**args)
3972
+ update!(**args)
3973
+ end
3974
+
3975
+ # Update properties of this object
3976
+ def update!(**args)
3977
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3978
+ @operations = args[:operations] if args.key?(:operations)
3979
+ end
3980
+ end
3981
+
3982
+ # This resource represents a long-running operation that is the result of a
3983
+ # network API call.
3984
+ class GoogleLongrunningOperation
3985
+ include Google::Apis::Core::Hashable
3986
+
3987
+ # If the value is `false`, it means the operation is still in progress. If `true`
3988
+ # , the operation is completed, and either `error` or `response` is available.
3989
+ # Corresponds to the JSON property `done`
3990
+ # @return [Boolean]
3991
+ attr_accessor :done
3992
+ alias_method :done?, :done
3993
+
3994
+ # The `Status` type defines a logical error model that is suitable for different
3995
+ # programming environments, including REST APIs and RPC APIs. It is used by [
3996
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
3997
+ # data: error code, error message, and error details. You can find out more
3998
+ # about this error model and how to work with it in the [API Design Guide](https:
3999
+ # //cloud.google.com/apis/design/errors).
4000
+ # Corresponds to the JSON property `error`
4001
+ # @return [Google::Apis::ApihubV1::GoogleRpcStatus]
4002
+ attr_accessor :error
4003
+
4004
+ # Service-specific metadata associated with the operation. It typically contains
4005
+ # progress information and common metadata such as create time. Some services
4006
+ # might not provide such metadata. Any method that returns a long-running
4007
+ # operation should document the metadata type, if any.
4008
+ # Corresponds to the JSON property `metadata`
4009
+ # @return [Hash<String,Object>]
4010
+ attr_accessor :metadata
4011
+
4012
+ # The server-assigned name, which is only unique within the same service that
4013
+ # originally returns it. If you use the default HTTP mapping, the `name` should
4014
+ # be a resource name ending with `operations/`unique_id``.
4015
+ # Corresponds to the JSON property `name`
4016
+ # @return [String]
4017
+ attr_accessor :name
4018
+
4019
+ # The normal, successful response of the operation. If the original method
4020
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4021
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4022
+ # response should be the resource. For other methods, the response should have
4023
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4024
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4025
+ # `TakeSnapshotResponse`.
4026
+ # Corresponds to the JSON property `response`
4027
+ # @return [Hash<String,Object>]
4028
+ attr_accessor :response
4029
+
4030
+ def initialize(**args)
4031
+ update!(**args)
4032
+ end
4033
+
4034
+ # Update properties of this object
4035
+ def update!(**args)
4036
+ @done = args[:done] if args.key?(:done)
4037
+ @error = args[:error] if args.key?(:error)
4038
+ @metadata = args[:metadata] if args.key?(:metadata)
4039
+ @name = args[:name] if args.key?(:name)
4040
+ @response = args[:response] if args.key?(:response)
4041
+ end
4042
+ end
4043
+
4044
+ # The `Status` type defines a logical error model that is suitable for different
4045
+ # programming environments, including REST APIs and RPC APIs. It is used by [
4046
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
4047
+ # data: error code, error message, and error details. You can find out more
4048
+ # about this error model and how to work with it in the [API Design Guide](https:
4049
+ # //cloud.google.com/apis/design/errors).
4050
+ class GoogleRpcStatus
4051
+ include Google::Apis::Core::Hashable
4052
+
4053
+ # The status code, which should be an enum value of google.rpc.Code.
4054
+ # Corresponds to the JSON property `code`
4055
+ # @return [Fixnum]
4056
+ attr_accessor :code
4057
+
4058
+ # A list of messages that carry the error details. There is a common set of
4059
+ # message types for APIs to use.
4060
+ # Corresponds to the JSON property `details`
4061
+ # @return [Array<Hash<String,Object>>]
4062
+ attr_accessor :details
4063
+
4064
+ # A developer-facing error message, which should be in English. Any user-facing
4065
+ # error message should be localized and sent in the google.rpc.Status.details
4066
+ # field, or localized by the client.
4067
+ # Corresponds to the JSON property `message`
4068
+ # @return [String]
4069
+ attr_accessor :message
4070
+
4071
+ def initialize(**args)
4072
+ update!(**args)
4073
+ end
4074
+
4075
+ # Update properties of this object
4076
+ def update!(**args)
4077
+ @code = args[:code] if args.key?(:code)
4078
+ @details = args[:details] if args.key?(:details)
4079
+ @message = args[:message] if args.key?(:message)
4080
+ end
4081
+ end
4082
+ end
4083
+ end
4084
+ end