google-apis-developerconnect_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,858 @@
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 DeveloperconnectV1
24
+
25
+ # The request message for Operations.CancelOperation.
26
+ class CancelOperationRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # Message describing Connection object
39
+ class Connection
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # Optional. Allows clients to store small amounts of arbitrary data.
43
+ # Corresponds to the JSON property `annotations`
44
+ # @return [Hash<String,String>]
45
+ attr_accessor :annotations
46
+
47
+ # Output only. [Output only] Create timestamp
48
+ # Corresponds to the JSON property `createTime`
49
+ # @return [String]
50
+ attr_accessor :create_time
51
+
52
+ # Output only. [Output only] Delete timestamp
53
+ # Corresponds to the JSON property `deleteTime`
54
+ # @return [String]
55
+ attr_accessor :delete_time
56
+
57
+ # Optional. If disabled is set to true, functionality is disabled for this
58
+ # connection. Repository based API methods and webhooks processing for
59
+ # repositories in this connection will be disabled.
60
+ # Corresponds to the JSON property `disabled`
61
+ # @return [Boolean]
62
+ attr_accessor :disabled
63
+ alias_method :disabled?, :disabled
64
+
65
+ # Optional. This checksum is computed by the server based on the value of other
66
+ # fields, and may be sent on update and delete requests to ensure the client has
67
+ # an up-to-date value before proceeding.
68
+ # Corresponds to the JSON property `etag`
69
+ # @return [String]
70
+ attr_accessor :etag
71
+
72
+ # Configuration for connections to github.com.
73
+ # Corresponds to the JSON property `githubConfig`
74
+ # @return [Google::Apis::DeveloperconnectV1::GitHubConfig]
75
+ attr_accessor :github_config
76
+
77
+ # Describes stage and necessary actions to be taken by the user to complete the
78
+ # installation. Used for GitHub and GitHub Enterprise based connections.
79
+ # Corresponds to the JSON property `installationState`
80
+ # @return [Google::Apis::DeveloperconnectV1::InstallationState]
81
+ attr_accessor :installation_state
82
+
83
+ # Optional. Labels as key value pairs
84
+ # Corresponds to the JSON property `labels`
85
+ # @return [Hash<String,String>]
86
+ attr_accessor :labels
87
+
88
+ # Identifier. The resource name of the connection, in the format `projects/`
89
+ # project`/locations/`location`/connections/`connection_id``.
90
+ # Corresponds to the JSON property `name`
91
+ # @return [String]
92
+ attr_accessor :name
93
+
94
+ # Output only. Set to true when the connection is being set up or updated in the
95
+ # background.
96
+ # Corresponds to the JSON property `reconciling`
97
+ # @return [Boolean]
98
+ attr_accessor :reconciling
99
+ alias_method :reconciling?, :reconciling
100
+
101
+ # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
102
+ # Corresponds to the JSON property `uid`
103
+ # @return [String]
104
+ attr_accessor :uid
105
+
106
+ # Output only. [Output only] Update timestamp
107
+ # Corresponds to the JSON property `updateTime`
108
+ # @return [String]
109
+ attr_accessor :update_time
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @annotations = args[:annotations] if args.key?(:annotations)
118
+ @create_time = args[:create_time] if args.key?(:create_time)
119
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
120
+ @disabled = args[:disabled] if args.key?(:disabled)
121
+ @etag = args[:etag] if args.key?(:etag)
122
+ @github_config = args[:github_config] if args.key?(:github_config)
123
+ @installation_state = args[:installation_state] if args.key?(:installation_state)
124
+ @labels = args[:labels] if args.key?(:labels)
125
+ @name = args[:name] if args.key?(:name)
126
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
127
+ @uid = args[:uid] if args.key?(:uid)
128
+ @update_time = args[:update_time] if args.key?(:update_time)
129
+ end
130
+ end
131
+
132
+ # A generic empty message that you can re-use to avoid defining duplicated empty
133
+ # messages in your APIs. A typical example is to use it as the request or the
134
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
135
+ # protobuf.Empty) returns (google.protobuf.Empty); `
136
+ class Empty
137
+ include Google::Apis::Core::Hashable
138
+
139
+ def initialize(**args)
140
+ update!(**args)
141
+ end
142
+
143
+ # Update properties of this object
144
+ def update!(**args)
145
+ end
146
+ end
147
+
148
+ # Response of fetching github installations.
149
+ class FetchGitHubInstallationsResponse
150
+ include Google::Apis::Core::Hashable
151
+
152
+ # List of installations available to the OAuth user (for github.com) or all the
153
+ # installations (for GitHub enterprise).
154
+ # Corresponds to the JSON property `installations`
155
+ # @return [Array<Google::Apis::DeveloperconnectV1::Installation>]
156
+ attr_accessor :installations
157
+
158
+ def initialize(**args)
159
+ update!(**args)
160
+ end
161
+
162
+ # Update properties of this object
163
+ def update!(**args)
164
+ @installations = args[:installations] if args.key?(:installations)
165
+ end
166
+ end
167
+
168
+ # Response for fetching git refs.
169
+ class FetchGitRefsResponse
170
+ include Google::Apis::Core::Hashable
171
+
172
+ # A token identifying a page of results the server should return.
173
+ # Corresponds to the JSON property `nextPageToken`
174
+ # @return [String]
175
+ attr_accessor :next_page_token
176
+
177
+ # Name of the refs fetched.
178
+ # Corresponds to the JSON property `refNames`
179
+ # @return [Array<String>]
180
+ attr_accessor :ref_names
181
+
182
+ def initialize(**args)
183
+ update!(**args)
184
+ end
185
+
186
+ # Update properties of this object
187
+ def update!(**args)
188
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
189
+ @ref_names = args[:ref_names] if args.key?(:ref_names)
190
+ end
191
+ end
192
+
193
+ # Response message for FetchLinkableGitRepositories.
194
+ class FetchLinkableGitRepositoriesResponse
195
+ include Google::Apis::Core::Hashable
196
+
197
+ # The git repositories that can be linked to the connection.
198
+ # Corresponds to the JSON property `linkableGitRepositories`
199
+ # @return [Array<Google::Apis::DeveloperconnectV1::LinkableGitRepository>]
200
+ attr_accessor :linkable_git_repositories
201
+
202
+ # A token identifying a page of results the server should return.
203
+ # Corresponds to the JSON property `nextPageToken`
204
+ # @return [String]
205
+ attr_accessor :next_page_token
206
+
207
+ def initialize(**args)
208
+ update!(**args)
209
+ end
210
+
211
+ # Update properties of this object
212
+ def update!(**args)
213
+ @linkable_git_repositories = args[:linkable_git_repositories] if args.key?(:linkable_git_repositories)
214
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
215
+ end
216
+ end
217
+
218
+ # Message for fetching SCM read token.
219
+ class FetchReadTokenRequest
220
+ include Google::Apis::Core::Hashable
221
+
222
+ def initialize(**args)
223
+ update!(**args)
224
+ end
225
+
226
+ # Update properties of this object
227
+ def update!(**args)
228
+ end
229
+ end
230
+
231
+ # Message for responding to get read token.
232
+ class FetchReadTokenResponse
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # Expiration timestamp. Can be empty if unknown or non-expiring.
236
+ # Corresponds to the JSON property `expirationTime`
237
+ # @return [String]
238
+ attr_accessor :expiration_time
239
+
240
+ # The git_username to specify when making a git clone with the token. For
241
+ # example, for GitHub GitRepositoryLinks, this would be "x-access-token"
242
+ # Corresponds to the JSON property `gitUsername`
243
+ # @return [String]
244
+ attr_accessor :git_username
245
+
246
+ # The token content.
247
+ # Corresponds to the JSON property `token`
248
+ # @return [String]
249
+ attr_accessor :token
250
+
251
+ def initialize(**args)
252
+ update!(**args)
253
+ end
254
+
255
+ # Update properties of this object
256
+ def update!(**args)
257
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
258
+ @git_username = args[:git_username] if args.key?(:git_username)
259
+ @token = args[:token] if args.key?(:token)
260
+ end
261
+ end
262
+
263
+ # Message for fetching SCM read/write token.
264
+ class FetchReadWriteTokenRequest
265
+ include Google::Apis::Core::Hashable
266
+
267
+ def initialize(**args)
268
+ update!(**args)
269
+ end
270
+
271
+ # Update properties of this object
272
+ def update!(**args)
273
+ end
274
+ end
275
+
276
+ # Message for responding to get read/write token.
277
+ class FetchReadWriteTokenResponse
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # Expiration timestamp. Can be empty if unknown or non-expiring.
281
+ # Corresponds to the JSON property `expirationTime`
282
+ # @return [String]
283
+ attr_accessor :expiration_time
284
+
285
+ # The git_username to specify when making a git clone with the token. For
286
+ # example, for GitHub GitRepositoryLinks, this would be "x-access-token"
287
+ # Corresponds to the JSON property `gitUsername`
288
+ # @return [String]
289
+ attr_accessor :git_username
290
+
291
+ # The token content.
292
+ # Corresponds to the JSON property `token`
293
+ # @return [String]
294
+ attr_accessor :token
295
+
296
+ def initialize(**args)
297
+ update!(**args)
298
+ end
299
+
300
+ # Update properties of this object
301
+ def update!(**args)
302
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
303
+ @git_username = args[:git_username] if args.key?(:git_username)
304
+ @token = args[:token] if args.key?(:token)
305
+ end
306
+ end
307
+
308
+ # Configuration for connections to github.com.
309
+ class GitHubConfig
310
+ include Google::Apis::Core::Hashable
311
+
312
+ # Optional. GitHub App installation id.
313
+ # Corresponds to the JSON property `appInstallationId`
314
+ # @return [Fixnum]
315
+ attr_accessor :app_installation_id
316
+
317
+ # Represents an OAuth token of the account that authorized the Connection, and
318
+ # associated metadata.
319
+ # Corresponds to the JSON property `authorizerCredential`
320
+ # @return [Google::Apis::DeveloperconnectV1::OAuthCredential]
321
+ attr_accessor :authorizer_credential
322
+
323
+ # Required. Immutable. The GitHub Application that was installed to the GitHub
324
+ # user or organization.
325
+ # Corresponds to the JSON property `githubApp`
326
+ # @return [String]
327
+ attr_accessor :github_app
328
+
329
+ # Output only. The URI to navigate to in order to manage the installation
330
+ # associated with this GitHubConfig.
331
+ # Corresponds to the JSON property `installationUri`
332
+ # @return [String]
333
+ attr_accessor :installation_uri
334
+
335
+ def initialize(**args)
336
+ update!(**args)
337
+ end
338
+
339
+ # Update properties of this object
340
+ def update!(**args)
341
+ @app_installation_id = args[:app_installation_id] if args.key?(:app_installation_id)
342
+ @authorizer_credential = args[:authorizer_credential] if args.key?(:authorizer_credential)
343
+ @github_app = args[:github_app] if args.key?(:github_app)
344
+ @installation_uri = args[:installation_uri] if args.key?(:installation_uri)
345
+ end
346
+ end
347
+
348
+ # Message describing the GitRepositoryLink object
349
+ class GitRepositoryLink
350
+ include Google::Apis::Core::Hashable
351
+
352
+ # Optional. Allows clients to store small amounts of arbitrary data.
353
+ # Corresponds to the JSON property `annotations`
354
+ # @return [Hash<String,String>]
355
+ attr_accessor :annotations
356
+
357
+ # Required. Git Clone URI.
358
+ # Corresponds to the JSON property `cloneUri`
359
+ # @return [String]
360
+ attr_accessor :clone_uri
361
+
362
+ # Output only. [Output only] Create timestamp
363
+ # Corresponds to the JSON property `createTime`
364
+ # @return [String]
365
+ attr_accessor :create_time
366
+
367
+ # Output only. [Output only] Delete timestamp
368
+ # Corresponds to the JSON property `deleteTime`
369
+ # @return [String]
370
+ attr_accessor :delete_time
371
+
372
+ # Optional. This checksum is computed by the server based on the value of other
373
+ # fields, and may be sent on update and delete requests to ensure the client has
374
+ # an up-to-date value before proceeding.
375
+ # Corresponds to the JSON property `etag`
376
+ # @return [String]
377
+ attr_accessor :etag
378
+
379
+ # Optional. Labels as key value pairs
380
+ # Corresponds to the JSON property `labels`
381
+ # @return [Hash<String,String>]
382
+ attr_accessor :labels
383
+
384
+ # Identifier. Resource name of the repository, in the format `projects/*/
385
+ # locations/*/connections/*/gitRepositoryLinks/*`.
386
+ # Corresponds to the JSON property `name`
387
+ # @return [String]
388
+ attr_accessor :name
389
+
390
+ # Output only. Set to true when the connection is being set up or updated in the
391
+ # background.
392
+ # Corresponds to the JSON property `reconciling`
393
+ # @return [Boolean]
394
+ attr_accessor :reconciling
395
+ alias_method :reconciling?, :reconciling
396
+
397
+ # Output only. A system-assigned unique identifier for a the GitRepositoryLink.
398
+ # Corresponds to the JSON property `uid`
399
+ # @return [String]
400
+ attr_accessor :uid
401
+
402
+ # Output only. [Output only] Update timestamp
403
+ # Corresponds to the JSON property `updateTime`
404
+ # @return [String]
405
+ attr_accessor :update_time
406
+
407
+ def initialize(**args)
408
+ update!(**args)
409
+ end
410
+
411
+ # Update properties of this object
412
+ def update!(**args)
413
+ @annotations = args[:annotations] if args.key?(:annotations)
414
+ @clone_uri = args[:clone_uri] if args.key?(:clone_uri)
415
+ @create_time = args[:create_time] if args.key?(:create_time)
416
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
417
+ @etag = args[:etag] if args.key?(:etag)
418
+ @labels = args[:labels] if args.key?(:labels)
419
+ @name = args[:name] if args.key?(:name)
420
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
421
+ @uid = args[:uid] if args.key?(:uid)
422
+ @update_time = args[:update_time] if args.key?(:update_time)
423
+ end
424
+ end
425
+
426
+ # Represents an installation of the GitHub App.
427
+ class Installation
428
+ include Google::Apis::Core::Hashable
429
+
430
+ # ID of the installation in GitHub.
431
+ # Corresponds to the JSON property `id`
432
+ # @return [Fixnum]
433
+ attr_accessor :id
434
+
435
+ # Name of the GitHub user or organization that owns this installation.
436
+ # Corresponds to the JSON property `name`
437
+ # @return [String]
438
+ attr_accessor :name
439
+
440
+ # Either "user" or "organization".
441
+ # Corresponds to the JSON property `type`
442
+ # @return [String]
443
+ attr_accessor :type
444
+
445
+ def initialize(**args)
446
+ update!(**args)
447
+ end
448
+
449
+ # Update properties of this object
450
+ def update!(**args)
451
+ @id = args[:id] if args.key?(:id)
452
+ @name = args[:name] if args.key?(:name)
453
+ @type = args[:type] if args.key?(:type)
454
+ end
455
+ end
456
+
457
+ # Describes stage and necessary actions to be taken by the user to complete the
458
+ # installation. Used for GitHub and GitHub Enterprise based connections.
459
+ class InstallationState
460
+ include Google::Apis::Core::Hashable
461
+
462
+ # Output only. Link to follow for next action. Empty string if the installation
463
+ # is already complete.
464
+ # Corresponds to the JSON property `actionUri`
465
+ # @return [String]
466
+ attr_accessor :action_uri
467
+
468
+ # Output only. Message of what the user should do next to continue the
469
+ # installation. Empty string if the installation is already complete.
470
+ # Corresponds to the JSON property `message`
471
+ # @return [String]
472
+ attr_accessor :message
473
+
474
+ # Output only. Current step of the installation process.
475
+ # Corresponds to the JSON property `stage`
476
+ # @return [String]
477
+ attr_accessor :stage
478
+
479
+ def initialize(**args)
480
+ update!(**args)
481
+ end
482
+
483
+ # Update properties of this object
484
+ def update!(**args)
485
+ @action_uri = args[:action_uri] if args.key?(:action_uri)
486
+ @message = args[:message] if args.key?(:message)
487
+ @stage = args[:stage] if args.key?(:stage)
488
+ end
489
+ end
490
+
491
+ # LinkableGitRepository represents a git repository that can be linked to a
492
+ # connection.
493
+ class LinkableGitRepository
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The clone uri of the repository.
497
+ # Corresponds to the JSON property `cloneUri`
498
+ # @return [String]
499
+ attr_accessor :clone_uri
500
+
501
+ def initialize(**args)
502
+ update!(**args)
503
+ end
504
+
505
+ # Update properties of this object
506
+ def update!(**args)
507
+ @clone_uri = args[:clone_uri] if args.key?(:clone_uri)
508
+ end
509
+ end
510
+
511
+ # Message for response to listing Connections
512
+ class ListConnectionsResponse
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # The list of Connection
516
+ # Corresponds to the JSON property `connections`
517
+ # @return [Array<Google::Apis::DeveloperconnectV1::Connection>]
518
+ attr_accessor :connections
519
+
520
+ # A token identifying a page of results the server should return.
521
+ # Corresponds to the JSON property `nextPageToken`
522
+ # @return [String]
523
+ attr_accessor :next_page_token
524
+
525
+ # Locations that could not be reached.
526
+ # Corresponds to the JSON property `unreachable`
527
+ # @return [Array<String>]
528
+ attr_accessor :unreachable
529
+
530
+ def initialize(**args)
531
+ update!(**args)
532
+ end
533
+
534
+ # Update properties of this object
535
+ def update!(**args)
536
+ @connections = args[:connections] if args.key?(:connections)
537
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
538
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
539
+ end
540
+ end
541
+
542
+ # Message for response to listing GitRepositoryLinks
543
+ class ListGitRepositoryLinksResponse
544
+ include Google::Apis::Core::Hashable
545
+
546
+ # The list of GitRepositoryLinks
547
+ # Corresponds to the JSON property `gitRepositoryLinks`
548
+ # @return [Array<Google::Apis::DeveloperconnectV1::GitRepositoryLink>]
549
+ attr_accessor :git_repository_links
550
+
551
+ # A token identifying a page of results the server should return.
552
+ # Corresponds to the JSON property `nextPageToken`
553
+ # @return [String]
554
+ attr_accessor :next_page_token
555
+
556
+ # Locations that could not be reached.
557
+ # Corresponds to the JSON property `unreachable`
558
+ # @return [Array<String>]
559
+ attr_accessor :unreachable
560
+
561
+ def initialize(**args)
562
+ update!(**args)
563
+ end
564
+
565
+ # Update properties of this object
566
+ def update!(**args)
567
+ @git_repository_links = args[:git_repository_links] if args.key?(:git_repository_links)
568
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
569
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
570
+ end
571
+ end
572
+
573
+ # The response message for Locations.ListLocations.
574
+ class ListLocationsResponse
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # A list of locations that matches the specified filter in the request.
578
+ # Corresponds to the JSON property `locations`
579
+ # @return [Array<Google::Apis::DeveloperconnectV1::Location>]
580
+ attr_accessor :locations
581
+
582
+ # The standard List next-page token.
583
+ # Corresponds to the JSON property `nextPageToken`
584
+ # @return [String]
585
+ attr_accessor :next_page_token
586
+
587
+ def initialize(**args)
588
+ update!(**args)
589
+ end
590
+
591
+ # Update properties of this object
592
+ def update!(**args)
593
+ @locations = args[:locations] if args.key?(:locations)
594
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
595
+ end
596
+ end
597
+
598
+ # The response message for Operations.ListOperations.
599
+ class ListOperationsResponse
600
+ include Google::Apis::Core::Hashable
601
+
602
+ # The standard List next-page token.
603
+ # Corresponds to the JSON property `nextPageToken`
604
+ # @return [String]
605
+ attr_accessor :next_page_token
606
+
607
+ # A list of operations that matches the specified filter in the request.
608
+ # Corresponds to the JSON property `operations`
609
+ # @return [Array<Google::Apis::DeveloperconnectV1::Operation>]
610
+ attr_accessor :operations
611
+
612
+ def initialize(**args)
613
+ update!(**args)
614
+ end
615
+
616
+ # Update properties of this object
617
+ def update!(**args)
618
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
619
+ @operations = args[:operations] if args.key?(:operations)
620
+ end
621
+ end
622
+
623
+ # A resource that represents a Google Cloud location.
624
+ class Location
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # The friendly name for this location, typically a nearby city name. For example,
628
+ # "Tokyo".
629
+ # Corresponds to the JSON property `displayName`
630
+ # @return [String]
631
+ attr_accessor :display_name
632
+
633
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
634
+ # region": "us-east1"`
635
+ # Corresponds to the JSON property `labels`
636
+ # @return [Hash<String,String>]
637
+ attr_accessor :labels
638
+
639
+ # The canonical id for this location. For example: `"us-east1"`.
640
+ # Corresponds to the JSON property `locationId`
641
+ # @return [String]
642
+ attr_accessor :location_id
643
+
644
+ # Service-specific metadata. For example the available capacity at the given
645
+ # location.
646
+ # Corresponds to the JSON property `metadata`
647
+ # @return [Hash<String,Object>]
648
+ attr_accessor :metadata
649
+
650
+ # Resource name for the location, which may vary between implementations. For
651
+ # example: `"projects/example-project/locations/us-east1"`
652
+ # Corresponds to the JSON property `name`
653
+ # @return [String]
654
+ attr_accessor :name
655
+
656
+ def initialize(**args)
657
+ update!(**args)
658
+ end
659
+
660
+ # Update properties of this object
661
+ def update!(**args)
662
+ @display_name = args[:display_name] if args.key?(:display_name)
663
+ @labels = args[:labels] if args.key?(:labels)
664
+ @location_id = args[:location_id] if args.key?(:location_id)
665
+ @metadata = args[:metadata] if args.key?(:metadata)
666
+ @name = args[:name] if args.key?(:name)
667
+ end
668
+ end
669
+
670
+ # Represents an OAuth token of the account that authorized the Connection, and
671
+ # associated metadata.
672
+ class OAuthCredential
673
+ include Google::Apis::Core::Hashable
674
+
675
+ # Required. A SecretManager resource containing the OAuth token that authorizes
676
+ # the connection. Format: `projects/*/secrets/*/versions/*`.
677
+ # Corresponds to the JSON property `oauthTokenSecretVersion`
678
+ # @return [String]
679
+ attr_accessor :oauth_token_secret_version
680
+
681
+ # Output only. The username associated with this token.
682
+ # Corresponds to the JSON property `username`
683
+ # @return [String]
684
+ attr_accessor :username
685
+
686
+ def initialize(**args)
687
+ update!(**args)
688
+ end
689
+
690
+ # Update properties of this object
691
+ def update!(**args)
692
+ @oauth_token_secret_version = args[:oauth_token_secret_version] if args.key?(:oauth_token_secret_version)
693
+ @username = args[:username] if args.key?(:username)
694
+ end
695
+ end
696
+
697
+ # This resource represents a long-running operation that is the result of a
698
+ # network API call.
699
+ class Operation
700
+ include Google::Apis::Core::Hashable
701
+
702
+ # If the value is `false`, it means the operation is still in progress. If `true`
703
+ # , the operation is completed, and either `error` or `response` is available.
704
+ # Corresponds to the JSON property `done`
705
+ # @return [Boolean]
706
+ attr_accessor :done
707
+ alias_method :done?, :done
708
+
709
+ # The `Status` type defines a logical error model that is suitable for different
710
+ # programming environments, including REST APIs and RPC APIs. It is used by [
711
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
712
+ # data: error code, error message, and error details. You can find out more
713
+ # about this error model and how to work with it in the [API Design Guide](https:
714
+ # //cloud.google.com/apis/design/errors).
715
+ # Corresponds to the JSON property `error`
716
+ # @return [Google::Apis::DeveloperconnectV1::Status]
717
+ attr_accessor :error
718
+
719
+ # Service-specific metadata associated with the operation. It typically contains
720
+ # progress information and common metadata such as create time. Some services
721
+ # might not provide such metadata. Any method that returns a long-running
722
+ # operation should document the metadata type, if any.
723
+ # Corresponds to the JSON property `metadata`
724
+ # @return [Hash<String,Object>]
725
+ attr_accessor :metadata
726
+
727
+ # The server-assigned name, which is only unique within the same service that
728
+ # originally returns it. If you use the default HTTP mapping, the `name` should
729
+ # be a resource name ending with `operations/`unique_id``.
730
+ # Corresponds to the JSON property `name`
731
+ # @return [String]
732
+ attr_accessor :name
733
+
734
+ # The normal, successful response of the operation. If the original method
735
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
736
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
737
+ # response should be the resource. For other methods, the response should have
738
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
739
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
740
+ # `TakeSnapshotResponse`.
741
+ # Corresponds to the JSON property `response`
742
+ # @return [Hash<String,Object>]
743
+ attr_accessor :response
744
+
745
+ def initialize(**args)
746
+ update!(**args)
747
+ end
748
+
749
+ # Update properties of this object
750
+ def update!(**args)
751
+ @done = args[:done] if args.key?(:done)
752
+ @error = args[:error] if args.key?(:error)
753
+ @metadata = args[:metadata] if args.key?(:metadata)
754
+ @name = args[:name] if args.key?(:name)
755
+ @response = args[:response] if args.key?(:response)
756
+ end
757
+ end
758
+
759
+ # Represents the metadata of the long-running operation.
760
+ class OperationMetadata
761
+ include Google::Apis::Core::Hashable
762
+
763
+ # Output only. API version used to start the operation.
764
+ # Corresponds to the JSON property `apiVersion`
765
+ # @return [String]
766
+ attr_accessor :api_version
767
+
768
+ # Output only. The time the operation was created.
769
+ # Corresponds to the JSON property `createTime`
770
+ # @return [String]
771
+ attr_accessor :create_time
772
+
773
+ # Output only. The time the operation finished running.
774
+ # Corresponds to the JSON property `endTime`
775
+ # @return [String]
776
+ attr_accessor :end_time
777
+
778
+ # Output only. Identifies whether the user has requested cancellation of the
779
+ # operation. Operations that have been cancelled successfully have Operation.
780
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
781
+ # CANCELLED`.
782
+ # Corresponds to the JSON property `requestedCancellation`
783
+ # @return [Boolean]
784
+ attr_accessor :requested_cancellation
785
+ alias_method :requested_cancellation?, :requested_cancellation
786
+
787
+ # Output only. Human-readable status of the operation, if any.
788
+ # Corresponds to the JSON property `statusMessage`
789
+ # @return [String]
790
+ attr_accessor :status_message
791
+
792
+ # Output only. Server-defined resource path for the target of the operation.
793
+ # Corresponds to the JSON property `target`
794
+ # @return [String]
795
+ attr_accessor :target
796
+
797
+ # Output only. Name of the verb executed by the operation.
798
+ # Corresponds to the JSON property `verb`
799
+ # @return [String]
800
+ attr_accessor :verb
801
+
802
+ def initialize(**args)
803
+ update!(**args)
804
+ end
805
+
806
+ # Update properties of this object
807
+ def update!(**args)
808
+ @api_version = args[:api_version] if args.key?(:api_version)
809
+ @create_time = args[:create_time] if args.key?(:create_time)
810
+ @end_time = args[:end_time] if args.key?(:end_time)
811
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
812
+ @status_message = args[:status_message] if args.key?(:status_message)
813
+ @target = args[:target] if args.key?(:target)
814
+ @verb = args[:verb] if args.key?(:verb)
815
+ end
816
+ end
817
+
818
+ # The `Status` type defines a logical error model that is suitable for different
819
+ # programming environments, including REST APIs and RPC APIs. It is used by [
820
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
821
+ # data: error code, error message, and error details. You can find out more
822
+ # about this error model and how to work with it in the [API Design Guide](https:
823
+ # //cloud.google.com/apis/design/errors).
824
+ class Status
825
+ include Google::Apis::Core::Hashable
826
+
827
+ # The status code, which should be an enum value of google.rpc.Code.
828
+ # Corresponds to the JSON property `code`
829
+ # @return [Fixnum]
830
+ attr_accessor :code
831
+
832
+ # A list of messages that carry the error details. There is a common set of
833
+ # message types for APIs to use.
834
+ # Corresponds to the JSON property `details`
835
+ # @return [Array<Hash<String,Object>>]
836
+ attr_accessor :details
837
+
838
+ # A developer-facing error message, which should be in English. Any user-facing
839
+ # error message should be localized and sent in the google.rpc.Status.details
840
+ # field, or localized by the client.
841
+ # Corresponds to the JSON property `message`
842
+ # @return [String]
843
+ attr_accessor :message
844
+
845
+ def initialize(**args)
846
+ update!(**args)
847
+ end
848
+
849
+ # Update properties of this object
850
+ def update!(**args)
851
+ @code = args[:code] if args.key?(:code)
852
+ @details = args[:details] if args.key?(:details)
853
+ @message = args[:message] if args.key?(:message)
854
+ end
855
+ end
856
+ end
857
+ end
858
+ end