google-apis-cloudbuild_v2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2643 @@
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 CloudbuildV2
24
+
25
+ # Specifies the audit configuration for a service. The configuration determines
26
+ # which permission types are logged, and what identities, if any, are exempted
27
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
28
+ # are AuditConfigs for both `allServices` and a specific service, the union of
29
+ # the two AuditConfigs is used for that service: the log_types specified in each
30
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
31
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
32
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
33
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
34
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
35
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
36
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
37
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
38
+ # exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com`
39
+ # from DATA_WRITE logging.
40
+ class AuditConfig
41
+ include Google::Apis::Core::Hashable
42
+
43
+ # The configuration for logging of each type of permission.
44
+ # Corresponds to the JSON property `auditLogConfigs`
45
+ # @return [Array<Google::Apis::CloudbuildV2::AuditLogConfig>]
46
+ attr_accessor :audit_log_configs
47
+
48
+ # Specifies a service that will be enabled for audit logging. For example, `
49
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
50
+ # value that covers all services.
51
+ # Corresponds to the JSON property `service`
52
+ # @return [String]
53
+ attr_accessor :service
54
+
55
+ def initialize(**args)
56
+ update!(**args)
57
+ end
58
+
59
+ # Update properties of this object
60
+ def update!(**args)
61
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
62
+ @service = args[:service] if args.key?(:service)
63
+ end
64
+ end
65
+
66
+ # Provides the configuration for logging a type of permissions. Example: ` "
67
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
68
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
69
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
70
+ # DATA_READ logging.
71
+ class AuditLogConfig
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # Specifies the identities that do not cause logging for this type of permission.
75
+ # Follows the same format of Binding.members.
76
+ # Corresponds to the JSON property `exemptedMembers`
77
+ # @return [Array<String>]
78
+ attr_accessor :exempted_members
79
+
80
+ # The log type that this config enables.
81
+ # Corresponds to the JSON property `logType`
82
+ # @return [String]
83
+ attr_accessor :log_type
84
+
85
+ def initialize(**args)
86
+ update!(**args)
87
+ end
88
+
89
+ # Update properties of this object
90
+ def update!(**args)
91
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
92
+ @log_type = args[:log_type] if args.key?(:log_type)
93
+ end
94
+ end
95
+
96
+ # Message for creating repositoritories in batch.
97
+ class BatchCreateRepositoriesRequest
98
+ include Google::Apis::Core::Hashable
99
+
100
+ # Required. The request messages specifying the repositories to create.
101
+ # Corresponds to the JSON property `requests`
102
+ # @return [Array<Google::Apis::CloudbuildV2::CreateRepositoryRequest>]
103
+ attr_accessor :requests
104
+
105
+ def initialize(**args)
106
+ update!(**args)
107
+ end
108
+
109
+ # Update properties of this object
110
+ def update!(**args)
111
+ @requests = args[:requests] if args.key?(:requests)
112
+ end
113
+ end
114
+
115
+ # Message for response of creating repositories in batch.
116
+ class BatchCreateRepositoriesResponse
117
+ include Google::Apis::Core::Hashable
118
+
119
+ # Repository resources created.
120
+ # Corresponds to the JSON property `repositories`
121
+ # @return [Array<Google::Apis::CloudbuildV2::Repository>]
122
+ attr_accessor :repositories
123
+
124
+ def initialize(**args)
125
+ update!(**args)
126
+ end
127
+
128
+ # Update properties of this object
129
+ def update!(**args)
130
+ @repositories = args[:repositories] if args.key?(:repositories)
131
+ end
132
+ end
133
+
134
+ # Associates `members`, or principals, with a `role`.
135
+ class Binding
136
+ include Google::Apis::Core::Hashable
137
+
138
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
139
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
140
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
141
+ # "Summary size limit" description: "Determines if a summary is less than 100
142
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
143
+ # Requestor is owner" description: "Determines if requestor is the document
144
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
145
+ # Logic): title: "Public documents" description: "Determine whether the document
146
+ # should be publicly visible" expression: "document.type != 'private' &&
147
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
148
+ # string" description: "Create a notification string with a timestamp."
149
+ # expression: "'New message received at ' + string(document.create_time)" The
150
+ # exact variables and functions that may be referenced within an expression are
151
+ # determined by the service that evaluates it. See the service documentation for
152
+ # additional information.
153
+ # Corresponds to the JSON property `condition`
154
+ # @return [Google::Apis::CloudbuildV2::Expr]
155
+ attr_accessor :condition
156
+
157
+ # Specifies the principals requesting access for a Google Cloud resource. `
158
+ # members` can have the following values: * `allUsers`: A special identifier
159
+ # that represents anyone who is on the internet; with or without a Google
160
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
161
+ # anyone who is authenticated with a Google account or a service account. Does
162
+ # not include identities that come from external identity providers (IdPs)
163
+ # through identity federation. * `user:`emailid``: An email address that
164
+ # represents a specific Google account. For example, `alice@example.com` . * `
165
+ # serviceAccount:`emailid``: An email address that represents a Google service
166
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`. * `
167
+ # serviceAccount:`projectid`.svc.id.goog[`namespace`/`kubernetes-sa`]`: An
168
+ # identifier for a [Kubernetes service account](https://cloud.google.com/
169
+ # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
170
+ # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
171
+ # email address that represents a Google group. For example, `admins@example.com`
172
+ # . * `domain:`domain``: The G Suite domain (primary) that represents all the
173
+ # users of that domain. For example, `google.com` or `example.com`. * `deleted:
174
+ # user:`emailid`?uid=`uniqueid``: An email address (plus unique identifier)
175
+ # representing a user that has been recently deleted. For example, `alice@
176
+ # example.com?uid=123456789012345678901`. If the user is recovered, this value
177
+ # reverts to `user:`emailid`` and the recovered user retains the role in the
178
+ # binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address
179
+ # (plus unique identifier) representing a service account that has been recently
180
+ # deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=
181
+ # 123456789012345678901`. If the service account is undeleted, this value
182
+ # reverts to `serviceAccount:`emailid`` and the undeleted service account
183
+ # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``:
184
+ # An email address (plus unique identifier) representing a Google group that has
185
+ # been recently deleted. For example, `admins@example.com?uid=
186
+ # 123456789012345678901`. If the group is recovered, this value reverts to `
187
+ # group:`emailid`` and the recovered group retains the role in the binding.
188
+ # Corresponds to the JSON property `members`
189
+ # @return [Array<String>]
190
+ attr_accessor :members
191
+
192
+ # Role that is assigned to the list of `members`, or principals. For example, `
193
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
194
+ # Corresponds to the JSON property `role`
195
+ # @return [String]
196
+ attr_accessor :role
197
+
198
+ def initialize(**args)
199
+ update!(**args)
200
+ end
201
+
202
+ # Update properties of this object
203
+ def update!(**args)
204
+ @condition = args[:condition] if args.key?(:condition)
205
+ @members = args[:members] if args.key?(:members)
206
+ @role = args[:role] if args.key?(:role)
207
+ end
208
+ end
209
+
210
+ # The request message for Operations.CancelOperation.
211
+ class CancelOperationRequest
212
+ include Google::Apis::Core::Hashable
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ end
221
+ end
222
+
223
+ # ChildStatusReference is used to point to the statuses of individual TaskRuns
224
+ # and Runs within this PipelineRun.
225
+ class ChildStatusReference
226
+ include Google::Apis::Core::Hashable
227
+
228
+ # Name is the name of the TaskRun or Run this is referencing.
229
+ # Corresponds to the JSON property `name`
230
+ # @return [String]
231
+ attr_accessor :name
232
+
233
+ # PipelineTaskName is the name of the PipelineTask this is referencing.
234
+ # Corresponds to the JSON property `pipelineTaskName`
235
+ # @return [String]
236
+ attr_accessor :pipeline_task_name
237
+
238
+ # Output only. Type of the child reference.
239
+ # Corresponds to the JSON property `type`
240
+ # @return [String]
241
+ attr_accessor :type
242
+
243
+ # WhenExpressions is the list of checks guarding the execution of the
244
+ # PipelineTask
245
+ # Corresponds to the JSON property `whenExpressions`
246
+ # @return [Array<Google::Apis::CloudbuildV2::WhenExpression>]
247
+ attr_accessor :when_expressions
248
+
249
+ def initialize(**args)
250
+ update!(**args)
251
+ end
252
+
253
+ # Update properties of this object
254
+ def update!(**args)
255
+ @name = args[:name] if args.key?(:name)
256
+ @pipeline_task_name = args[:pipeline_task_name] if args.key?(:pipeline_task_name)
257
+ @type = args[:type] if args.key?(:type)
258
+ @when_expressions = args[:when_expressions] if args.key?(:when_expressions)
259
+ end
260
+ end
261
+
262
+ # A connection to a SCM like GitHub, GitHub Enterprise, Bitbucket Server or
263
+ # GitLab.
264
+ class Connection
265
+ include Google::Apis::Core::Hashable
266
+
267
+ # Allows clients to store small amounts of arbitrary data.
268
+ # Corresponds to the JSON property `annotations`
269
+ # @return [Hash<String,String>]
270
+ attr_accessor :annotations
271
+
272
+ # Output only. Server assigned timestamp for when the connection was created.
273
+ # Corresponds to the JSON property `createTime`
274
+ # @return [String]
275
+ attr_accessor :create_time
276
+
277
+ # If disabled is set to true, functionality is disabled for this connection.
278
+ # Repository based API methods and webhooks processing for repositories in this
279
+ # connection will be disabled.
280
+ # Corresponds to the JSON property `disabled`
281
+ # @return [Boolean]
282
+ attr_accessor :disabled
283
+ alias_method :disabled?, :disabled
284
+
285
+ # This checksum is computed by the server based on the value of other fields,
286
+ # and may be sent on update and delete requests to ensure the client has an up-
287
+ # to-date value before proceeding.
288
+ # Corresponds to the JSON property `etag`
289
+ # @return [String]
290
+ attr_accessor :etag
291
+
292
+ # Configuration for connections to github.com.
293
+ # Corresponds to the JSON property `githubConfig`
294
+ # @return [Google::Apis::CloudbuildV2::GitHubConfig]
295
+ attr_accessor :github_config
296
+
297
+ # Configuration for connections to an instance of GitHub Enterprise.
298
+ # Corresponds to the JSON property `githubEnterpriseConfig`
299
+ # @return [Google::Apis::CloudbuildV2::GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig]
300
+ attr_accessor :github_enterprise_config
301
+
302
+ # Configuration for connections to gitlab.com or an instance of GitLab
303
+ # Enterprise.
304
+ # Corresponds to the JSON property `gitlabConfig`
305
+ # @return [Google::Apis::CloudbuildV2::GoogleDevtoolsCloudbuildV2GitLabConfig]
306
+ attr_accessor :gitlab_config
307
+
308
+ # Describes stage and necessary actions to be taken by the user to complete the
309
+ # installation. Used for GitHub and GitHub Enterprise based connections.
310
+ # Corresponds to the JSON property `installationState`
311
+ # @return [Google::Apis::CloudbuildV2::InstallationState]
312
+ attr_accessor :installation_state
313
+
314
+ # Immutable. The resource name of the connection, in the format `projects/`
315
+ # project`/locations/`location`/connections/`connection_id``.
316
+ # Corresponds to the JSON property `name`
317
+ # @return [String]
318
+ attr_accessor :name
319
+
320
+ # Output only. Set to true when the connection is being set up or updated in the
321
+ # background.
322
+ # Corresponds to the JSON property `reconciling`
323
+ # @return [Boolean]
324
+ attr_accessor :reconciling
325
+ alias_method :reconciling?, :reconciling
326
+
327
+ # Output only. Server assigned timestamp for when the connection was updated.
328
+ # Corresponds to the JSON property `updateTime`
329
+ # @return [String]
330
+ attr_accessor :update_time
331
+
332
+ def initialize(**args)
333
+ update!(**args)
334
+ end
335
+
336
+ # Update properties of this object
337
+ def update!(**args)
338
+ @annotations = args[:annotations] if args.key?(:annotations)
339
+ @create_time = args[:create_time] if args.key?(:create_time)
340
+ @disabled = args[:disabled] if args.key?(:disabled)
341
+ @etag = args[:etag] if args.key?(:etag)
342
+ @github_config = args[:github_config] if args.key?(:github_config)
343
+ @github_enterprise_config = args[:github_enterprise_config] if args.key?(:github_enterprise_config)
344
+ @gitlab_config = args[:gitlab_config] if args.key?(:gitlab_config)
345
+ @installation_state = args[:installation_state] if args.key?(:installation_state)
346
+ @name = args[:name] if args.key?(:name)
347
+ @reconciling = args[:reconciling] if args.key?(:reconciling)
348
+ @update_time = args[:update_time] if args.key?(:update_time)
349
+ end
350
+ end
351
+
352
+ # Message for creating a Repository.
353
+ class CreateRepositoryRequest
354
+ include Google::Apis::Core::Hashable
355
+
356
+ # Required. The connection to contain the repository. If the request is part of
357
+ # a BatchCreateRepositoriesRequest, this field should be empty or match the
358
+ # parent specified there.
359
+ # Corresponds to the JSON property `parent`
360
+ # @return [String]
361
+ attr_accessor :parent
362
+
363
+ # A repository associated to a parent connection.
364
+ # Corresponds to the JSON property `repository`
365
+ # @return [Google::Apis::CloudbuildV2::Repository]
366
+ attr_accessor :repository
367
+
368
+ # Required. The ID to use for the repository, which will become the final
369
+ # component of the repository's resource name. This ID should be unique in the
370
+ # connection. Allows alphanumeric characters and any of -._~%!$&'()*+,;=@.
371
+ # Corresponds to the JSON property `repositoryId`
372
+ # @return [String]
373
+ attr_accessor :repository_id
374
+
375
+ def initialize(**args)
376
+ update!(**args)
377
+ end
378
+
379
+ # Update properties of this object
380
+ def update!(**args)
381
+ @parent = args[:parent] if args.key?(:parent)
382
+ @repository = args[:repository] if args.key?(:repository)
383
+ @repository_id = args[:repository_id] if args.key?(:repository_id)
384
+ end
385
+ end
386
+
387
+ # EmbeddedTask defines a Task that is embedded in a Pipeline.
388
+ class EmbeddedTask
389
+ include Google::Apis::Core::Hashable
390
+
391
+ # User annotations. See https://google.aip.dev/128#annotations
392
+ # Corresponds to the JSON property `annotations`
393
+ # @return [Hash<String,String>]
394
+ attr_accessor :annotations
395
+
396
+ # TaskSpec contains the Spec to instantiate a TaskRun.
397
+ # Corresponds to the JSON property `taskSpec`
398
+ # @return [Google::Apis::CloudbuildV2::TaskSpec]
399
+ attr_accessor :task_spec
400
+
401
+ def initialize(**args)
402
+ update!(**args)
403
+ end
404
+
405
+ # Update properties of this object
406
+ def update!(**args)
407
+ @annotations = args[:annotations] if args.key?(:annotations)
408
+ @task_spec = args[:task_spec] if args.key?(:task_spec)
409
+ end
410
+ end
411
+
412
+ # A generic empty message that you can re-use to avoid defining duplicated empty
413
+ # messages in your APIs. A typical example is to use it as the request or the
414
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
415
+ # protobuf.Empty) returns (google.protobuf.Empty); `
416
+ class Empty
417
+ include Google::Apis::Core::Hashable
418
+
419
+ def initialize(**args)
420
+ update!(**args)
421
+ end
422
+
423
+ # Update properties of this object
424
+ def update!(**args)
425
+ end
426
+ end
427
+
428
+ # Represents an empty Volume source.
429
+ class EmptyDirVolumeSource
430
+ include Google::Apis::Core::Hashable
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ end
439
+ end
440
+
441
+ # Environment variable.
442
+ class EnvVar
443
+ include Google::Apis::Core::Hashable
444
+
445
+ # Name of the environment variable.
446
+ # Corresponds to the JSON property `name`
447
+ # @return [String]
448
+ attr_accessor :name
449
+
450
+ # Value of the environment variable.
451
+ # Corresponds to the JSON property `value`
452
+ # @return [String]
453
+ attr_accessor :value
454
+
455
+ def initialize(**args)
456
+ update!(**args)
457
+ end
458
+
459
+ # Update properties of this object
460
+ def update!(**args)
461
+ @name = args[:name] if args.key?(:name)
462
+ @value = args[:value] if args.key?(:value)
463
+ end
464
+ end
465
+
466
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
467
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
468
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
469
+ # "Summary size limit" description: "Determines if a summary is less than 100
470
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
471
+ # Requestor is owner" description: "Determines if requestor is the document
472
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
473
+ # Logic): title: "Public documents" description: "Determine whether the document
474
+ # should be publicly visible" expression: "document.type != 'private' &&
475
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
476
+ # string" description: "Create a notification string with a timestamp."
477
+ # expression: "'New message received at ' + string(document.create_time)" The
478
+ # exact variables and functions that may be referenced within an expression are
479
+ # determined by the service that evaluates it. See the service documentation for
480
+ # additional information.
481
+ class Expr
482
+ include Google::Apis::Core::Hashable
483
+
484
+ # Optional. Description of the expression. This is a longer text which describes
485
+ # the expression, e.g. when hovered over it in a UI.
486
+ # Corresponds to the JSON property `description`
487
+ # @return [String]
488
+ attr_accessor :description
489
+
490
+ # Textual representation of an expression in Common Expression Language syntax.
491
+ # Corresponds to the JSON property `expression`
492
+ # @return [String]
493
+ attr_accessor :expression
494
+
495
+ # Optional. String indicating the location of the expression for error reporting,
496
+ # e.g. a file name and a position in the file.
497
+ # Corresponds to the JSON property `location`
498
+ # @return [String]
499
+ attr_accessor :location
500
+
501
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
502
+ # This can be used e.g. in UIs which allow to enter the expression.
503
+ # Corresponds to the JSON property `title`
504
+ # @return [String]
505
+ attr_accessor :title
506
+
507
+ def initialize(**args)
508
+ update!(**args)
509
+ end
510
+
511
+ # Update properties of this object
512
+ def update!(**args)
513
+ @description = args[:description] if args.key?(:description)
514
+ @expression = args[:expression] if args.key?(:expression)
515
+ @location = args[:location] if args.key?(:location)
516
+ @title = args[:title] if args.key?(:title)
517
+ end
518
+ end
519
+
520
+ # Response for fetching git refs
521
+ class FetchGitRefsResponse
522
+ include Google::Apis::Core::Hashable
523
+
524
+ # A token identifying a page of results the server should return.
525
+ # Corresponds to the JSON property `nextPageToken`
526
+ # @return [String]
527
+ attr_accessor :next_page_token
528
+
529
+ # Name of the refs fetched.
530
+ # Corresponds to the JSON property `refNames`
531
+ # @return [Array<String>]
532
+ attr_accessor :ref_names
533
+
534
+ def initialize(**args)
535
+ update!(**args)
536
+ end
537
+
538
+ # Update properties of this object
539
+ def update!(**args)
540
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
541
+ @ref_names = args[:ref_names] if args.key?(:ref_names)
542
+ end
543
+ end
544
+
545
+ # Response message for FetchLinkableRepositories.
546
+ class FetchLinkableRepositoriesResponse
547
+ include Google::Apis::Core::Hashable
548
+
549
+ # A token identifying a page of results the server should return.
550
+ # Corresponds to the JSON property `nextPageToken`
551
+ # @return [String]
552
+ attr_accessor :next_page_token
553
+
554
+ # repositories ready to be created.
555
+ # Corresponds to the JSON property `repositories`
556
+ # @return [Array<Google::Apis::CloudbuildV2::Repository>]
557
+ attr_accessor :repositories
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
566
+ @repositories = args[:repositories] if args.key?(:repositories)
567
+ end
568
+ end
569
+
570
+ # Message for fetching SCM read token.
571
+ class FetchReadTokenRequest
572
+ include Google::Apis::Core::Hashable
573
+
574
+ def initialize(**args)
575
+ update!(**args)
576
+ end
577
+
578
+ # Update properties of this object
579
+ def update!(**args)
580
+ end
581
+ end
582
+
583
+ # Message for responding to get read token.
584
+ class FetchReadTokenResponse
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # Expiration timestamp. Can be empty if unknown or non-expiring.
588
+ # Corresponds to the JSON property `expirationTime`
589
+ # @return [String]
590
+ attr_accessor :expiration_time
591
+
592
+ # The token content.
593
+ # Corresponds to the JSON property `token`
594
+ # @return [String]
595
+ attr_accessor :token
596
+
597
+ def initialize(**args)
598
+ update!(**args)
599
+ end
600
+
601
+ # Update properties of this object
602
+ def update!(**args)
603
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
604
+ @token = args[:token] if args.key?(:token)
605
+ end
606
+ end
607
+
608
+ # Message for fetching SCM read/write token.
609
+ class FetchReadWriteTokenRequest
610
+ include Google::Apis::Core::Hashable
611
+
612
+ def initialize(**args)
613
+ update!(**args)
614
+ end
615
+
616
+ # Update properties of this object
617
+ def update!(**args)
618
+ end
619
+ end
620
+
621
+ # Message for responding to get read/write token.
622
+ class FetchReadWriteTokenResponse
623
+ include Google::Apis::Core::Hashable
624
+
625
+ # Expiration timestamp. Can be empty if unknown or non-expiring.
626
+ # Corresponds to the JSON property `expirationTime`
627
+ # @return [String]
628
+ attr_accessor :expiration_time
629
+
630
+ # The token content.
631
+ # Corresponds to the JSON property `token`
632
+ # @return [String]
633
+ attr_accessor :token
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
642
+ @token = args[:token] if args.key?(:token)
643
+ end
644
+ end
645
+
646
+ # Configuration for connections to github.com.
647
+ class GitHubConfig
648
+ include Google::Apis::Core::Hashable
649
+
650
+ # GitHub App installation id.
651
+ # Corresponds to the JSON property `appInstallationId`
652
+ # @return [Fixnum]
653
+ attr_accessor :app_installation_id
654
+
655
+ # Represents an OAuth token of the account that authorized the Connection, and
656
+ # associated metadata.
657
+ # Corresponds to the JSON property `authorizerCredential`
658
+ # @return [Google::Apis::CloudbuildV2::OAuthCredential]
659
+ attr_accessor :authorizer_credential
660
+
661
+ def initialize(**args)
662
+ update!(**args)
663
+ end
664
+
665
+ # Update properties of this object
666
+ def update!(**args)
667
+ @app_installation_id = args[:app_installation_id] if args.key?(:app_installation_id)
668
+ @authorizer_credential = args[:authorizer_credential] if args.key?(:authorizer_credential)
669
+ end
670
+ end
671
+
672
+ # Conditions defines a readiness condition for a Knative resource.
673
+ class GoogleDevtoolsCloudbuildV2Condition
674
+ include Google::Apis::Core::Hashable
675
+
676
+ # LastTransitionTime is the last time the condition transitioned from one status
677
+ # to another.
678
+ # Corresponds to the JSON property `lastTransitionTime`
679
+ # @return [String]
680
+ attr_accessor :last_transition_time
681
+
682
+ # A human readable message indicating details about the transition.
683
+ # Corresponds to the JSON property `message`
684
+ # @return [String]
685
+ attr_accessor :message
686
+
687
+ # The reason for the condition's last transition.
688
+ # Corresponds to the JSON property `reason`
689
+ # @return [String]
690
+ attr_accessor :reason
691
+
692
+ # Severity with which to treat failures of this type of condition.
693
+ # Corresponds to the JSON property `severity`
694
+ # @return [String]
695
+ attr_accessor :severity
696
+
697
+ # Status of the condition.
698
+ # Corresponds to the JSON property `status`
699
+ # @return [String]
700
+ attr_accessor :status
701
+
702
+ # Type of condition.
703
+ # Corresponds to the JSON property `type`
704
+ # @return [String]
705
+ attr_accessor :type
706
+
707
+ def initialize(**args)
708
+ update!(**args)
709
+ end
710
+
711
+ # Update properties of this object
712
+ def update!(**args)
713
+ @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
714
+ @message = args[:message] if args.key?(:message)
715
+ @reason = args[:reason] if args.key?(:reason)
716
+ @severity = args[:severity] if args.key?(:severity)
717
+ @status = args[:status] if args.key?(:status)
718
+ @type = args[:type] if args.key?(:type)
719
+ end
720
+ end
721
+
722
+ # Configuration for connections to an instance of GitHub Enterprise.
723
+ class GoogleDevtoolsCloudbuildV2GitHubEnterpriseConfig
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # Required. API Key used for authentication of webhook events.
727
+ # Corresponds to the JSON property `apiKey`
728
+ # @return [String]
729
+ attr_accessor :api_key
730
+
731
+ # Id of the GitHub App created from the manifest.
732
+ # Corresponds to the JSON property `appId`
733
+ # @return [Fixnum]
734
+ attr_accessor :app_id
735
+
736
+ # ID of the installation of the GitHub App.
737
+ # Corresponds to the JSON property `appInstallationId`
738
+ # @return [Fixnum]
739
+ attr_accessor :app_installation_id
740
+
741
+ # The URL-friendly name of the GitHub App.
742
+ # Corresponds to the JSON property `appSlug`
743
+ # @return [String]
744
+ attr_accessor :app_slug
745
+
746
+ # Required. The URI of the GitHub Enterprise host this connection is for.
747
+ # Corresponds to the JSON property `hostUri`
748
+ # @return [String]
749
+ attr_accessor :host_uri
750
+
751
+ # SecretManager resource containing the private key of the GitHub App, formatted
752
+ # as `projects/*/secrets/*/versions/*`.
753
+ # Corresponds to the JSON property `privateKeySecretVersion`
754
+ # @return [String]
755
+ attr_accessor :private_key_secret_version
756
+
757
+ # Output only. GitHub Enterprise version installed at the host_uri.
758
+ # Corresponds to the JSON property `serverVersion`
759
+ # @return [String]
760
+ attr_accessor :server_version
761
+
762
+ # ServiceDirectoryConfig represents Service Directory configuration for a
763
+ # connection.
764
+ # Corresponds to the JSON property `serviceDirectoryConfig`
765
+ # @return [Google::Apis::CloudbuildV2::GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig]
766
+ attr_accessor :service_directory_config
767
+
768
+ # SSL certificate to use for requests to GitHub Enterprise.
769
+ # Corresponds to the JSON property `sslCa`
770
+ # @return [String]
771
+ attr_accessor :ssl_ca
772
+
773
+ # SecretManager resource containing the webhook secret of the GitHub App,
774
+ # formatted as `projects/*/secrets/*/versions/*`.
775
+ # Corresponds to the JSON property `webhookSecretSecretVersion`
776
+ # @return [String]
777
+ attr_accessor :webhook_secret_secret_version
778
+
779
+ def initialize(**args)
780
+ update!(**args)
781
+ end
782
+
783
+ # Update properties of this object
784
+ def update!(**args)
785
+ @api_key = args[:api_key] if args.key?(:api_key)
786
+ @app_id = args[:app_id] if args.key?(:app_id)
787
+ @app_installation_id = args[:app_installation_id] if args.key?(:app_installation_id)
788
+ @app_slug = args[:app_slug] if args.key?(:app_slug)
789
+ @host_uri = args[:host_uri] if args.key?(:host_uri)
790
+ @private_key_secret_version = args[:private_key_secret_version] if args.key?(:private_key_secret_version)
791
+ @server_version = args[:server_version] if args.key?(:server_version)
792
+ @service_directory_config = args[:service_directory_config] if args.key?(:service_directory_config)
793
+ @ssl_ca = args[:ssl_ca] if args.key?(:ssl_ca)
794
+ @webhook_secret_secret_version = args[:webhook_secret_secret_version] if args.key?(:webhook_secret_secret_version)
795
+ end
796
+ end
797
+
798
+ # Configuration for connections to gitlab.com or an instance of GitLab
799
+ # Enterprise.
800
+ class GoogleDevtoolsCloudbuildV2GitLabConfig
801
+ include Google::Apis::Core::Hashable
802
+
803
+ # Represents a personal access token that authorized the Connection, and
804
+ # associated metadata.
805
+ # Corresponds to the JSON property `authorizerCredential`
806
+ # @return [Google::Apis::CloudbuildV2::UserCredential]
807
+ attr_accessor :authorizer_credential
808
+
809
+ # The URI of the GitLab Enterprise host this connection is for. If not specified,
810
+ # the default value is https://gitlab.com.
811
+ # Corresponds to the JSON property `hostUri`
812
+ # @return [String]
813
+ attr_accessor :host_uri
814
+
815
+ # Represents a personal access token that authorized the Connection, and
816
+ # associated metadata.
817
+ # Corresponds to the JSON property `readAuthorizerCredential`
818
+ # @return [Google::Apis::CloudbuildV2::UserCredential]
819
+ attr_accessor :read_authorizer_credential
820
+
821
+ # Output only. Version of the GitLab Enterprise server running on the `host_uri`.
822
+ # Corresponds to the JSON property `serverVersion`
823
+ # @return [String]
824
+ attr_accessor :server_version
825
+
826
+ # ServiceDirectoryConfig represents Service Directory configuration for a
827
+ # connection.
828
+ # Corresponds to the JSON property `serviceDirectoryConfig`
829
+ # @return [Google::Apis::CloudbuildV2::GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig]
830
+ attr_accessor :service_directory_config
831
+
832
+ # SSL certificate to use for requests to GitLab Enterprise.
833
+ # Corresponds to the JSON property `sslCa`
834
+ # @return [String]
835
+ attr_accessor :ssl_ca
836
+
837
+ # Required. Immutable. SecretManager resource containing the webhook secret of a
838
+ # GitLab Enterprise project, formatted as `projects/*/secrets/*/versions/*`.
839
+ # Corresponds to the JSON property `webhookSecretSecretVersion`
840
+ # @return [String]
841
+ attr_accessor :webhook_secret_secret_version
842
+
843
+ def initialize(**args)
844
+ update!(**args)
845
+ end
846
+
847
+ # Update properties of this object
848
+ def update!(**args)
849
+ @authorizer_credential = args[:authorizer_credential] if args.key?(:authorizer_credential)
850
+ @host_uri = args[:host_uri] if args.key?(:host_uri)
851
+ @read_authorizer_credential = args[:read_authorizer_credential] if args.key?(:read_authorizer_credential)
852
+ @server_version = args[:server_version] if args.key?(:server_version)
853
+ @service_directory_config = args[:service_directory_config] if args.key?(:service_directory_config)
854
+ @ssl_ca = args[:ssl_ca] if args.key?(:ssl_ca)
855
+ @webhook_secret_secret_version = args[:webhook_secret_secret_version] if args.key?(:webhook_secret_secret_version)
856
+ end
857
+ end
858
+
859
+ # Represents the metadata of the long-running operation.
860
+ class GoogleDevtoolsCloudbuildV2OperationMetadata
861
+ include Google::Apis::Core::Hashable
862
+
863
+ # Output only. API version used to start the operation.
864
+ # Corresponds to the JSON property `apiVersion`
865
+ # @return [String]
866
+ attr_accessor :api_version
867
+
868
+ # Output only. The time the operation was created.
869
+ # Corresponds to the JSON property `createTime`
870
+ # @return [String]
871
+ attr_accessor :create_time
872
+
873
+ # Output only. The time the operation finished running.
874
+ # Corresponds to the JSON property `endTime`
875
+ # @return [String]
876
+ attr_accessor :end_time
877
+
878
+ # Output only. Identifies whether the user has requested cancellation of the
879
+ # operation. Operations that have successfully been cancelled have Operation.
880
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
881
+ # CANCELLED`.
882
+ # Corresponds to the JSON property `requestedCancellation`
883
+ # @return [Boolean]
884
+ attr_accessor :requested_cancellation
885
+ alias_method :requested_cancellation?, :requested_cancellation
886
+
887
+ # Output only. Human-readable status of the operation, if any.
888
+ # Corresponds to the JSON property `statusMessage`
889
+ # @return [String]
890
+ attr_accessor :status_message
891
+
892
+ # Output only. Server-defined resource path for the target of the operation.
893
+ # Corresponds to the JSON property `target`
894
+ # @return [String]
895
+ attr_accessor :target
896
+
897
+ # Output only. Name of the verb executed by the operation.
898
+ # Corresponds to the JSON property `verb`
899
+ # @return [String]
900
+ attr_accessor :verb
901
+
902
+ def initialize(**args)
903
+ update!(**args)
904
+ end
905
+
906
+ # Update properties of this object
907
+ def update!(**args)
908
+ @api_version = args[:api_version] if args.key?(:api_version)
909
+ @create_time = args[:create_time] if args.key?(:create_time)
910
+ @end_time = args[:end_time] if args.key?(:end_time)
911
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
912
+ @status_message = args[:status_message] if args.key?(:status_message)
913
+ @target = args[:target] if args.key?(:target)
914
+ @verb = args[:verb] if args.key?(:verb)
915
+ end
916
+ end
917
+
918
+ # ServiceDirectoryConfig represents Service Directory configuration for a
919
+ # connection.
920
+ class GoogleDevtoolsCloudbuildV2ServiceDirectoryConfig
921
+ include Google::Apis::Core::Hashable
922
+
923
+ # Required. The Service Directory service name. Format: projects/`project`/
924
+ # locations/`location`/namespaces/`namespace`/services/`service`.
925
+ # Corresponds to the JSON property `service`
926
+ # @return [String]
927
+ attr_accessor :service
928
+
929
+ def initialize(**args)
930
+ update!(**args)
931
+ end
932
+
933
+ # Update properties of this object
934
+ def update!(**args)
935
+ @service = args[:service] if args.key?(:service)
936
+ end
937
+ end
938
+
939
+ # Message that represents an arbitrary HTTP body. It should only be used for
940
+ # payload formats that can't be represented as JSON, such as raw binary or an
941
+ # HTML page. This message can be used both in streaming and non-streaming API
942
+ # methods in the request as well as the response. It can be used as a top-level
943
+ # request field, which is convenient if one wants to extract parameters from
944
+ # either the URL or HTTP template into the request fields and also want access
945
+ # to the raw HTTP body. Example: message GetResourceRequest ` // A unique
946
+ # request id. string request_id = 1; // The raw HTTP body is bound to this field.
947
+ # google.api.HttpBody http_body = 2; ` service ResourceService ` rpc
948
+ # GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc
949
+ # UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); ` Example
950
+ # with streaming methods: service CaldavService ` rpc GetCalendar(stream google.
951
+ # api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream
952
+ # google.api.HttpBody) returns (stream google.api.HttpBody); ` Use of this type
953
+ # only changes how the request and response bodies are handled, all other
954
+ # features will continue to work unchanged.
955
+ class HttpBody
956
+ include Google::Apis::Core::Hashable
957
+
958
+ # The HTTP Content-Type header value specifying the content type of the body.
959
+ # Corresponds to the JSON property `contentType`
960
+ # @return [String]
961
+ attr_accessor :content_type
962
+
963
+ # The HTTP request/response body as raw binary.
964
+ # Corresponds to the JSON property `data`
965
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
966
+ # @return [String]
967
+ attr_accessor :data
968
+
969
+ # Application specific response metadata. Must be set in the first response for
970
+ # streaming APIs.
971
+ # Corresponds to the JSON property `extensions`
972
+ # @return [Array<Hash<String,Object>>]
973
+ attr_accessor :extensions
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @content_type = args[:content_type] if args.key?(:content_type)
982
+ @data = args[:data] if args.key?(:data)
983
+ @extensions = args[:extensions] if args.key?(:extensions)
984
+ end
985
+ end
986
+
987
+ # Describes stage and necessary actions to be taken by the user to complete the
988
+ # installation. Used for GitHub and GitHub Enterprise based connections.
989
+ class InstallationState
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # Output only. Link to follow for next action. Empty string if the installation
993
+ # is already complete.
994
+ # Corresponds to the JSON property `actionUri`
995
+ # @return [String]
996
+ attr_accessor :action_uri
997
+
998
+ # Output only. Message of what the user should do next to continue the
999
+ # installation. Empty string if the installation is already complete.
1000
+ # Corresponds to the JSON property `message`
1001
+ # @return [String]
1002
+ attr_accessor :message
1003
+
1004
+ # Output only. Current step of the installation process.
1005
+ # Corresponds to the JSON property `stage`
1006
+ # @return [String]
1007
+ attr_accessor :stage
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @action_uri = args[:action_uri] if args.key?(:action_uri)
1016
+ @message = args[:message] if args.key?(:message)
1017
+ @stage = args[:stage] if args.key?(:stage)
1018
+ end
1019
+ end
1020
+
1021
+ # Message for response to listing Connections.
1022
+ class ListConnectionsResponse
1023
+ include Google::Apis::Core::Hashable
1024
+
1025
+ # The list of Connections.
1026
+ # Corresponds to the JSON property `connections`
1027
+ # @return [Array<Google::Apis::CloudbuildV2::Connection>]
1028
+ attr_accessor :connections
1029
+
1030
+ # A token identifying a page of results the server should return.
1031
+ # Corresponds to the JSON property `nextPageToken`
1032
+ # @return [String]
1033
+ attr_accessor :next_page_token
1034
+
1035
+ def initialize(**args)
1036
+ update!(**args)
1037
+ end
1038
+
1039
+ # Update properties of this object
1040
+ def update!(**args)
1041
+ @connections = args[:connections] if args.key?(:connections)
1042
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1043
+ end
1044
+ end
1045
+
1046
+ # Message for response to listing Repositories.
1047
+ class ListRepositoriesResponse
1048
+ include Google::Apis::Core::Hashable
1049
+
1050
+ # A token identifying a page of results the server should return.
1051
+ # Corresponds to the JSON property `nextPageToken`
1052
+ # @return [String]
1053
+ attr_accessor :next_page_token
1054
+
1055
+ # The list of Repositories.
1056
+ # Corresponds to the JSON property `repositories`
1057
+ # @return [Array<Google::Apis::CloudbuildV2::Repository>]
1058
+ attr_accessor :repositories
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1067
+ @repositories = args[:repositories] if args.key?(:repositories)
1068
+ end
1069
+ end
1070
+
1071
+ # Represents an OAuth token of the account that authorized the Connection, and
1072
+ # associated metadata.
1073
+ class OAuthCredential
1074
+ include Google::Apis::Core::Hashable
1075
+
1076
+ # A SecretManager resource containing the OAuth token that authorizes the Cloud
1077
+ # Build connection. Format: `projects/*/secrets/*/versions/*`.
1078
+ # Corresponds to the JSON property `oauthTokenSecretVersion`
1079
+ # @return [String]
1080
+ attr_accessor :oauth_token_secret_version
1081
+
1082
+ # Output only. The username associated to this token.
1083
+ # Corresponds to the JSON property `username`
1084
+ # @return [String]
1085
+ attr_accessor :username
1086
+
1087
+ def initialize(**args)
1088
+ update!(**args)
1089
+ end
1090
+
1091
+ # Update properties of this object
1092
+ def update!(**args)
1093
+ @oauth_token_secret_version = args[:oauth_token_secret_version] if args.key?(:oauth_token_secret_version)
1094
+ @username = args[:username] if args.key?(:username)
1095
+ end
1096
+ end
1097
+
1098
+ # This resource represents a long-running operation that is the result of a
1099
+ # network API call.
1100
+ class Operation
1101
+ include Google::Apis::Core::Hashable
1102
+
1103
+ # If the value is `false`, it means the operation is still in progress. If `true`
1104
+ # , the operation is completed, and either `error` or `response` is available.
1105
+ # Corresponds to the JSON property `done`
1106
+ # @return [Boolean]
1107
+ attr_accessor :done
1108
+ alias_method :done?, :done
1109
+
1110
+ # The `Status` type defines a logical error model that is suitable for different
1111
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1112
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1113
+ # data: error code, error message, and error details. You can find out more
1114
+ # about this error model and how to work with it in the [API Design Guide](https:
1115
+ # //cloud.google.com/apis/design/errors).
1116
+ # Corresponds to the JSON property `error`
1117
+ # @return [Google::Apis::CloudbuildV2::Status]
1118
+ attr_accessor :error
1119
+
1120
+ # Service-specific metadata associated with the operation. It typically contains
1121
+ # progress information and common metadata such as create time. Some services
1122
+ # might not provide such metadata. Any method that returns a long-running
1123
+ # operation should document the metadata type, if any.
1124
+ # Corresponds to the JSON property `metadata`
1125
+ # @return [Hash<String,Object>]
1126
+ attr_accessor :metadata
1127
+
1128
+ # The server-assigned name, which is only unique within the same service that
1129
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1130
+ # be a resource name ending with `operations/`unique_id``.
1131
+ # Corresponds to the JSON property `name`
1132
+ # @return [String]
1133
+ attr_accessor :name
1134
+
1135
+ # The normal, successful response of the operation. If the original method
1136
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
1137
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
1138
+ # response should be the resource. For other methods, the response should have
1139
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
1140
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
1141
+ # `TakeSnapshotResponse`.
1142
+ # Corresponds to the JSON property `response`
1143
+ # @return [Hash<String,Object>]
1144
+ attr_accessor :response
1145
+
1146
+ def initialize(**args)
1147
+ update!(**args)
1148
+ end
1149
+
1150
+ # Update properties of this object
1151
+ def update!(**args)
1152
+ @done = args[:done] if args.key?(:done)
1153
+ @error = args[:error] if args.key?(:error)
1154
+ @metadata = args[:metadata] if args.key?(:metadata)
1155
+ @name = args[:name] if args.key?(:name)
1156
+ @response = args[:response] if args.key?(:response)
1157
+ end
1158
+ end
1159
+
1160
+ # Represents the metadata of the long-running operation.
1161
+ class OperationMetadata
1162
+ include Google::Apis::Core::Hashable
1163
+
1164
+ # Output only. API version used to start the operation.
1165
+ # Corresponds to the JSON property `apiVersion`
1166
+ # @return [String]
1167
+ attr_accessor :api_version
1168
+
1169
+ # Output only. Identifies whether the user has requested cancellation of the
1170
+ # operation. Operations that have been cancelled successfully have Operation.
1171
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1172
+ # CANCELLED`.
1173
+ # Corresponds to the JSON property `cancelRequested`
1174
+ # @return [Boolean]
1175
+ attr_accessor :cancel_requested
1176
+ alias_method :cancel_requested?, :cancel_requested
1177
+
1178
+ # Output only. The time the operation was created.
1179
+ # Corresponds to the JSON property `createTime`
1180
+ # @return [String]
1181
+ attr_accessor :create_time
1182
+
1183
+ # Output only. The time the operation finished running.
1184
+ # Corresponds to the JSON property `endTime`
1185
+ # @return [String]
1186
+ attr_accessor :end_time
1187
+
1188
+ # Output only. Human-readable status of the operation, if any.
1189
+ # Corresponds to the JSON property `statusDetail`
1190
+ # @return [String]
1191
+ attr_accessor :status_detail
1192
+
1193
+ # Output only. Server-defined resource path for the target of the operation.
1194
+ # Corresponds to the JSON property `target`
1195
+ # @return [String]
1196
+ attr_accessor :target
1197
+
1198
+ # Output only. Name of the verb executed by the operation.
1199
+ # Corresponds to the JSON property `verb`
1200
+ # @return [String]
1201
+ attr_accessor :verb
1202
+
1203
+ def initialize(**args)
1204
+ update!(**args)
1205
+ end
1206
+
1207
+ # Update properties of this object
1208
+ def update!(**args)
1209
+ @api_version = args[:api_version] if args.key?(:api_version)
1210
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
1211
+ @create_time = args[:create_time] if args.key?(:create_time)
1212
+ @end_time = args[:end_time] if args.key?(:end_time)
1213
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1214
+ @target = args[:target] if args.key?(:target)
1215
+ @verb = args[:verb] if args.key?(:verb)
1216
+ end
1217
+ end
1218
+
1219
+ # Param defined with name and value. PipelineRef can be used to refer to a
1220
+ # specific instance of a Pipeline.
1221
+ class Param
1222
+ include Google::Apis::Core::Hashable
1223
+
1224
+ # Name of the parameter.
1225
+ # Corresponds to the JSON property `name`
1226
+ # @return [String]
1227
+ attr_accessor :name
1228
+
1229
+ # Parameter value.
1230
+ # Corresponds to the JSON property `value`
1231
+ # @return [Google::Apis::CloudbuildV2::ParamValue]
1232
+ attr_accessor :value
1233
+
1234
+ def initialize(**args)
1235
+ update!(**args)
1236
+ end
1237
+
1238
+ # Update properties of this object
1239
+ def update!(**args)
1240
+ @name = args[:name] if args.key?(:name)
1241
+ @value = args[:value] if args.key?(:value)
1242
+ end
1243
+ end
1244
+
1245
+ # ParamSpec defines parameters needed beyond typed inputs (such as resources).
1246
+ # Parameter values are provided by users as inputs on a TaskRun or PipelineRun.
1247
+ class ParamSpec
1248
+ include Google::Apis::Core::Hashable
1249
+
1250
+ # Parameter value.
1251
+ # Corresponds to the JSON property `default`
1252
+ # @return [Google::Apis::CloudbuildV2::ParamValue]
1253
+ attr_accessor :default
1254
+
1255
+ # Description of the ParamSpec
1256
+ # Corresponds to the JSON property `description`
1257
+ # @return [String]
1258
+ attr_accessor :description
1259
+
1260
+ # Name of the ParamSpec
1261
+ # Corresponds to the JSON property `name`
1262
+ # @return [String]
1263
+ attr_accessor :name
1264
+
1265
+ # Type of ParamSpec
1266
+ # Corresponds to the JSON property `type`
1267
+ # @return [String]
1268
+ attr_accessor :type
1269
+
1270
+ def initialize(**args)
1271
+ update!(**args)
1272
+ end
1273
+
1274
+ # Update properties of this object
1275
+ def update!(**args)
1276
+ @default = args[:default] if args.key?(:default)
1277
+ @description = args[:description] if args.key?(:description)
1278
+ @name = args[:name] if args.key?(:name)
1279
+ @type = args[:type] if args.key?(:type)
1280
+ end
1281
+ end
1282
+
1283
+ # Parameter value.
1284
+ class ParamValue
1285
+ include Google::Apis::Core::Hashable
1286
+
1287
+ # Value of the parameter if type is array.
1288
+ # Corresponds to the JSON property `arrayVal`
1289
+ # @return [Array<String>]
1290
+ attr_accessor :array_val
1291
+
1292
+ # Value of the parameter if type is string.
1293
+ # Corresponds to the JSON property `stringVal`
1294
+ # @return [String]
1295
+ attr_accessor :string_val
1296
+
1297
+ # Type of parameter.
1298
+ # Corresponds to the JSON property `type`
1299
+ # @return [String]
1300
+ attr_accessor :type
1301
+
1302
+ def initialize(**args)
1303
+ update!(**args)
1304
+ end
1305
+
1306
+ # Update properties of this object
1307
+ def update!(**args)
1308
+ @array_val = args[:array_val] if args.key?(:array_val)
1309
+ @string_val = args[:string_val] if args.key?(:string_val)
1310
+ @type = args[:type] if args.key?(:type)
1311
+ end
1312
+ end
1313
+
1314
+ # PipelineRef can be used to refer to a specific instance of a Pipeline.
1315
+ class PipelineRef
1316
+ include Google::Apis::Core::Hashable
1317
+
1318
+ # Name of the Pipeline.
1319
+ # Corresponds to the JSON property `name`
1320
+ # @return [String]
1321
+ attr_accessor :name
1322
+
1323
+ # Params contains the parameters used to identify the referenced Tekton resource.
1324
+ # Example entries might include "repo" or "path" but the set of params
1325
+ # ultimately depends on the chosen resolver.
1326
+ # Corresponds to the JSON property `params`
1327
+ # @return [Array<Google::Apis::CloudbuildV2::Param>]
1328
+ attr_accessor :params
1329
+
1330
+ # Resolver is the name of the resolver that should perform resolution of the
1331
+ # referenced Tekton resource.
1332
+ # Corresponds to the JSON property `resolver`
1333
+ # @return [String]
1334
+ attr_accessor :resolver
1335
+
1336
+ def initialize(**args)
1337
+ update!(**args)
1338
+ end
1339
+
1340
+ # Update properties of this object
1341
+ def update!(**args)
1342
+ @name = args[:name] if args.key?(:name)
1343
+ @params = args[:params] if args.key?(:params)
1344
+ @resolver = args[:resolver] if args.key?(:resolver)
1345
+ end
1346
+ end
1347
+
1348
+ # Message describing PipelineRun object
1349
+ class PipelineRun
1350
+ include Google::Apis::Core::Hashable
1351
+
1352
+ # User annotations. See https://google.aip.dev/128#annotations
1353
+ # Corresponds to the JSON property `annotations`
1354
+ # @return [Hash<String,String>]
1355
+ attr_accessor :annotations
1356
+
1357
+ # Output only. List of TaskRun and Run names and PipelineTask names for children
1358
+ # of this PipelineRun.
1359
+ # Corresponds to the JSON property `childReferences`
1360
+ # @return [Array<Google::Apis::CloudbuildV2::ChildStatusReference>]
1361
+ attr_accessor :child_references
1362
+
1363
+ # Output only. Time the pipeline completed.
1364
+ # Corresponds to the JSON property `completionTime`
1365
+ # @return [String]
1366
+ attr_accessor :completion_time
1367
+
1368
+ # Output only. Kubernetes Conditions convention for PipelineRun status and error.
1369
+ # Corresponds to the JSON property `conditions`
1370
+ # @return [Array<Google::Apis::CloudbuildV2::GoogleDevtoolsCloudbuildV2Condition>]
1371
+ attr_accessor :conditions
1372
+
1373
+ # Output only. Time at which the request to create the `PipelineRun` was
1374
+ # received.
1375
+ # Corresponds to the JSON property `createTime`
1376
+ # @return [String]
1377
+ attr_accessor :create_time
1378
+
1379
+ # Needed for declarative-friendly resources.
1380
+ # Corresponds to the JSON property `etag`
1381
+ # @return [String]
1382
+ attr_accessor :etag
1383
+
1384
+ # Output only. The `PipelineRun` name with format `projects/`project`/locations/`
1385
+ # location`/pipelineRuns/`pipeline_run``
1386
+ # Corresponds to the JSON property `name`
1387
+ # @return [String]
1388
+ attr_accessor :name
1389
+
1390
+ # Params is a list of parameter names and values.
1391
+ # Corresponds to the JSON property `params`
1392
+ # @return [Array<Google::Apis::CloudbuildV2::Param>]
1393
+ attr_accessor :params
1394
+
1395
+ # PipelineRef can be used to refer to a specific instance of a Pipeline.
1396
+ # Corresponds to the JSON property `pipelineRef`
1397
+ # @return [Google::Apis::CloudbuildV2::PipelineRef]
1398
+ attr_accessor :pipeline_ref
1399
+
1400
+ # Status of the PipelineRun.
1401
+ # Corresponds to the JSON property `pipelineRunStatus`
1402
+ # @return [String]
1403
+ attr_accessor :pipeline_run_status
1404
+
1405
+ # PipelineSpec defines the desired state of Pipeline.
1406
+ # Corresponds to the JSON property `pipelineSpec`
1407
+ # @return [Google::Apis::CloudbuildV2::PipelineSpec]
1408
+ attr_accessor :pipeline_spec
1409
+
1410
+ # PipelineSpec defines the desired state of Pipeline.
1411
+ # Corresponds to the JSON property `resolvedPipelineSpec`
1412
+ # @return [Google::Apis::CloudbuildV2::PipelineSpec]
1413
+ attr_accessor :resolved_pipeline_spec
1414
+
1415
+ # Service account used in the Pipeline.
1416
+ # Corresponds to the JSON property `serviceAccount`
1417
+ # @return [String]
1418
+ attr_accessor :service_account
1419
+
1420
+ # Output only. List of tasks that were skipped due to when expressions
1421
+ # evaluating to false.
1422
+ # Corresponds to the JSON property `skippedTasks`
1423
+ # @return [Array<Google::Apis::CloudbuildV2::SkippedTask>]
1424
+ attr_accessor :skipped_tasks
1425
+
1426
+ # Output only. Time the pipeline is actually started.
1427
+ # Corresponds to the JSON property `startTime`
1428
+ # @return [String]
1429
+ attr_accessor :start_time
1430
+
1431
+ # TimeoutFields allows granular specification of pipeline, task, and finally
1432
+ # timeouts
1433
+ # Corresponds to the JSON property `timeouts`
1434
+ # @return [Google::Apis::CloudbuildV2::TimeoutFields]
1435
+ attr_accessor :timeouts
1436
+
1437
+ # Output only. A unique identifier for the `PipelineRun`.
1438
+ # Corresponds to the JSON property `uid`
1439
+ # @return [String]
1440
+ attr_accessor :uid
1441
+
1442
+ # Output only. Time at which the request to update the `PipelineRun` was
1443
+ # received.
1444
+ # Corresponds to the JSON property `updateTime`
1445
+ # @return [String]
1446
+ attr_accessor :update_time
1447
+
1448
+ # Output only. The WorkerPool used to run this PipelineRun.
1449
+ # Corresponds to the JSON property `workerPool`
1450
+ # @return [String]
1451
+ attr_accessor :worker_pool
1452
+
1453
+ # Output only. The Workflow used to create this PipelineRun.
1454
+ # Corresponds to the JSON property `workflow`
1455
+ # @return [String]
1456
+ attr_accessor :workflow
1457
+
1458
+ # Workspaces is a list of WorkspaceBindings from volumes to workspaces.
1459
+ # Corresponds to the JSON property `workspaces`
1460
+ # @return [Array<Google::Apis::CloudbuildV2::WorkspaceBinding>]
1461
+ attr_accessor :workspaces
1462
+
1463
+ def initialize(**args)
1464
+ update!(**args)
1465
+ end
1466
+
1467
+ # Update properties of this object
1468
+ def update!(**args)
1469
+ @annotations = args[:annotations] if args.key?(:annotations)
1470
+ @child_references = args[:child_references] if args.key?(:child_references)
1471
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
1472
+ @conditions = args[:conditions] if args.key?(:conditions)
1473
+ @create_time = args[:create_time] if args.key?(:create_time)
1474
+ @etag = args[:etag] if args.key?(:etag)
1475
+ @name = args[:name] if args.key?(:name)
1476
+ @params = args[:params] if args.key?(:params)
1477
+ @pipeline_ref = args[:pipeline_ref] if args.key?(:pipeline_ref)
1478
+ @pipeline_run_status = args[:pipeline_run_status] if args.key?(:pipeline_run_status)
1479
+ @pipeline_spec = args[:pipeline_spec] if args.key?(:pipeline_spec)
1480
+ @resolved_pipeline_spec = args[:resolved_pipeline_spec] if args.key?(:resolved_pipeline_spec)
1481
+ @service_account = args[:service_account] if args.key?(:service_account)
1482
+ @skipped_tasks = args[:skipped_tasks] if args.key?(:skipped_tasks)
1483
+ @start_time = args[:start_time] if args.key?(:start_time)
1484
+ @timeouts = args[:timeouts] if args.key?(:timeouts)
1485
+ @uid = args[:uid] if args.key?(:uid)
1486
+ @update_time = args[:update_time] if args.key?(:update_time)
1487
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
1488
+ @workflow = args[:workflow] if args.key?(:workflow)
1489
+ @workspaces = args[:workspaces] if args.key?(:workspaces)
1490
+ end
1491
+ end
1492
+
1493
+ # PipelineSpec defines the desired state of Pipeline.
1494
+ class PipelineSpec
1495
+ include Google::Apis::Core::Hashable
1496
+
1497
+ # List of Tasks that execute just before leaving the Pipeline i.e. either after
1498
+ # all Tasks are finished executing successfully or after a failure which would
1499
+ # result in ending the Pipeline.
1500
+ # Corresponds to the JSON property `finallyTasks`
1501
+ # @return [Array<Google::Apis::CloudbuildV2::PipelineTask>]
1502
+ attr_accessor :finally_tasks
1503
+
1504
+ # List of parameters.
1505
+ # Corresponds to the JSON property `params`
1506
+ # @return [Array<Google::Apis::CloudbuildV2::ParamSpec>]
1507
+ attr_accessor :params
1508
+
1509
+ # List of Tasks that execute when this Pipeline is run.
1510
+ # Corresponds to the JSON property `tasks`
1511
+ # @return [Array<Google::Apis::CloudbuildV2::PipelineTask>]
1512
+ attr_accessor :tasks
1513
+
1514
+ # Workspaces declares a set of named workspaces that are expected to be provided
1515
+ # by a PipelineRun.
1516
+ # Corresponds to the JSON property `workspaces`
1517
+ # @return [Array<Google::Apis::CloudbuildV2::PipelineWorkspaceDeclaration>]
1518
+ attr_accessor :workspaces
1519
+
1520
+ def initialize(**args)
1521
+ update!(**args)
1522
+ end
1523
+
1524
+ # Update properties of this object
1525
+ def update!(**args)
1526
+ @finally_tasks = args[:finally_tasks] if args.key?(:finally_tasks)
1527
+ @params = args[:params] if args.key?(:params)
1528
+ @tasks = args[:tasks] if args.key?(:tasks)
1529
+ @workspaces = args[:workspaces] if args.key?(:workspaces)
1530
+ end
1531
+ end
1532
+
1533
+ # PipelineTask defines a task in a Pipeline.
1534
+ class PipelineTask
1535
+ include Google::Apis::Core::Hashable
1536
+
1537
+ # Name of the task.
1538
+ # Corresponds to the JSON property `name`
1539
+ # @return [String]
1540
+ attr_accessor :name
1541
+
1542
+ # Params is a list of parameter names and values.
1543
+ # Corresponds to the JSON property `params`
1544
+ # @return [Array<Google::Apis::CloudbuildV2::Param>]
1545
+ attr_accessor :params
1546
+
1547
+ # Retries represents how many times this task should be retried in case of task
1548
+ # failure.
1549
+ # Corresponds to the JSON property `retries`
1550
+ # @return [Fixnum]
1551
+ attr_accessor :retries
1552
+
1553
+ # RunAfter is the list of PipelineTask names that should be executed before this
1554
+ # Task executes. (Used to force a specific ordering in graph execution.)
1555
+ # Corresponds to the JSON property `runAfter`
1556
+ # @return [Array<String>]
1557
+ attr_accessor :run_after
1558
+
1559
+ # TaskRef can be used to refer to a specific instance of a task. PipelineRef can
1560
+ # be used to refer to a specific instance of a Pipeline.
1561
+ # Corresponds to the JSON property `taskRef`
1562
+ # @return [Google::Apis::CloudbuildV2::TaskRef]
1563
+ attr_accessor :task_ref
1564
+
1565
+ # EmbeddedTask defines a Task that is embedded in a Pipeline.
1566
+ # Corresponds to the JSON property `taskSpec`
1567
+ # @return [Google::Apis::CloudbuildV2::EmbeddedTask]
1568
+ attr_accessor :task_spec
1569
+
1570
+ # Time after which the TaskRun times out. Defaults to 1 hour. Specified TaskRun
1571
+ # timeout should be less than 24h.
1572
+ # Corresponds to the JSON property `timeout`
1573
+ # @return [String]
1574
+ attr_accessor :timeout
1575
+
1576
+ # Conditions that need to be true for the task to run.
1577
+ # Corresponds to the JSON property `whenExpressions`
1578
+ # @return [Array<Google::Apis::CloudbuildV2::WhenExpression>]
1579
+ attr_accessor :when_expressions
1580
+
1581
+ # Workspaces maps workspaces from the pipeline spec to the workspaces declared
1582
+ # in the Task.
1583
+ # Corresponds to the JSON property `workspaces`
1584
+ # @return [Array<Google::Apis::CloudbuildV2::WorkspacePipelineTaskBinding>]
1585
+ attr_accessor :workspaces
1586
+
1587
+ def initialize(**args)
1588
+ update!(**args)
1589
+ end
1590
+
1591
+ # Update properties of this object
1592
+ def update!(**args)
1593
+ @name = args[:name] if args.key?(:name)
1594
+ @params = args[:params] if args.key?(:params)
1595
+ @retries = args[:retries] if args.key?(:retries)
1596
+ @run_after = args[:run_after] if args.key?(:run_after)
1597
+ @task_ref = args[:task_ref] if args.key?(:task_ref)
1598
+ @task_spec = args[:task_spec] if args.key?(:task_spec)
1599
+ @timeout = args[:timeout] if args.key?(:timeout)
1600
+ @when_expressions = args[:when_expressions] if args.key?(:when_expressions)
1601
+ @workspaces = args[:workspaces] if args.key?(:workspaces)
1602
+ end
1603
+ end
1604
+
1605
+ # Workspaces declares a set of named workspaces that are expected to be provided
1606
+ # by a PipelineRun.
1607
+ class PipelineWorkspaceDeclaration
1608
+ include Google::Apis::Core::Hashable
1609
+
1610
+ # Description is a human readable string describing how the workspace will be
1611
+ # used in the Pipeline.
1612
+ # Corresponds to the JSON property `description`
1613
+ # @return [String]
1614
+ attr_accessor :description
1615
+
1616
+ # Name is the name of a workspace to be provided by a PipelineRun.
1617
+ # Corresponds to the JSON property `name`
1618
+ # @return [String]
1619
+ attr_accessor :name
1620
+
1621
+ # Optional marks a Workspace as not being required in PipelineRuns. By default
1622
+ # this field is false and so declared workspaces are required.
1623
+ # Corresponds to the JSON property `optional`
1624
+ # @return [Boolean]
1625
+ attr_accessor :optional
1626
+ alias_method :optional?, :optional
1627
+
1628
+ def initialize(**args)
1629
+ update!(**args)
1630
+ end
1631
+
1632
+ # Update properties of this object
1633
+ def update!(**args)
1634
+ @description = args[:description] if args.key?(:description)
1635
+ @name = args[:name] if args.key?(:name)
1636
+ @optional = args[:optional] if args.key?(:optional)
1637
+ end
1638
+ end
1639
+
1640
+ # An Identity and Access Management (IAM) policy, which specifies access
1641
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1642
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
1643
+ # Principals can be user accounts, service accounts, Google groups, and domains (
1644
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
1645
+ # an IAM predefined role or a user-created custom role. For some types of Google
1646
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
1647
+ # logical expression that allows access to a resource only if the expression
1648
+ # evaluates to `true`. A condition can add constraints based on attributes of
1649
+ # the request, the resource, or both. To learn which resources support
1650
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
1651
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
1652
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
1653
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1654
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1655
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1656
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
1657
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1658
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
1659
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
1660
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
1661
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
1662
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
1663
+ # title: expirable access description: Does not grant access after Sep 2020
1664
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
1665
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
1666
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1667
+ class Policy
1668
+ include Google::Apis::Core::Hashable
1669
+
1670
+ # Specifies cloud audit logging configuration for this policy.
1671
+ # Corresponds to the JSON property `auditConfigs`
1672
+ # @return [Array<Google::Apis::CloudbuildV2::AuditConfig>]
1673
+ attr_accessor :audit_configs
1674
+
1675
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
1676
+ # specify a `condition` that determines how and when the `bindings` are applied.
1677
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
1678
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
1679
+ # can be Google groups. Each occurrence of a principal counts towards these
1680
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
1681
+ # example.com`, and not to any other principal, then you can add another 1,450
1682
+ # principals to the `bindings` in the `Policy`.
1683
+ # Corresponds to the JSON property `bindings`
1684
+ # @return [Array<Google::Apis::CloudbuildV2::Binding>]
1685
+ attr_accessor :bindings
1686
+
1687
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1688
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1689
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1690
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1691
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1692
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1693
+ # applied to the same version of the policy. **Important:** If you use IAM
1694
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1695
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1696
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1697
+ # are lost.
1698
+ # Corresponds to the JSON property `etag`
1699
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1700
+ # @return [String]
1701
+ attr_accessor :etag
1702
+
1703
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1704
+ # Requests that specify an invalid value are rejected. Any operation that
1705
+ # affects conditional role bindings must specify version `3`. This requirement
1706
+ # applies to the following operations: * Getting a policy that includes a
1707
+ # conditional role binding * Adding a conditional role binding to a policy *
1708
+ # Changing a conditional role binding in a policy * Removing any role binding,
1709
+ # with or without a condition, from a policy that includes conditions **
1710
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1711
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1712
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1713
+ # conditions in the version `3` policy are lost. If a policy does not include
1714
+ # any conditions, operations on that policy may specify any valid version or
1715
+ # leave the field unset. To learn which resources support conditions in their
1716
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1717
+ # conditions/resource-policies).
1718
+ # Corresponds to the JSON property `version`
1719
+ # @return [Fixnum]
1720
+ attr_accessor :version
1721
+
1722
+ def initialize(**args)
1723
+ update!(**args)
1724
+ end
1725
+
1726
+ # Update properties of this object
1727
+ def update!(**args)
1728
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1729
+ @bindings = args[:bindings] if args.key?(:bindings)
1730
+ @etag = args[:etag] if args.key?(:etag)
1731
+ @version = args[:version] if args.key?(:version)
1732
+ end
1733
+ end
1734
+
1735
+ # PropertySpec holds information about a property in an object.
1736
+ class PropertySpec
1737
+ include Google::Apis::Core::Hashable
1738
+
1739
+ # A type for the object.
1740
+ # Corresponds to the JSON property `type`
1741
+ # @return [String]
1742
+ attr_accessor :type
1743
+
1744
+ def initialize(**args)
1745
+ update!(**args)
1746
+ end
1747
+
1748
+ # Update properties of this object
1749
+ def update!(**args)
1750
+ @type = args[:type] if args.key?(:type)
1751
+ end
1752
+ end
1753
+
1754
+ # A repository associated to a parent connection.
1755
+ class Repository
1756
+ include Google::Apis::Core::Hashable
1757
+
1758
+ # Allows clients to store small amounts of arbitrary data.
1759
+ # Corresponds to the JSON property `annotations`
1760
+ # @return [Hash<String,String>]
1761
+ attr_accessor :annotations
1762
+
1763
+ # Output only. Server assigned timestamp for when the connection was created.
1764
+ # Corresponds to the JSON property `createTime`
1765
+ # @return [String]
1766
+ attr_accessor :create_time
1767
+
1768
+ # This checksum is computed by the server based on the value of other fields,
1769
+ # and may be sent on update and delete requests to ensure the client has an up-
1770
+ # to-date value before proceeding.
1771
+ # Corresponds to the JSON property `etag`
1772
+ # @return [String]
1773
+ attr_accessor :etag
1774
+
1775
+ # Immutable. Resource name of the repository, in the format `projects/*/
1776
+ # locations/*/connections/*/repositories/*`.
1777
+ # Corresponds to the JSON property `name`
1778
+ # @return [String]
1779
+ attr_accessor :name
1780
+
1781
+ # Required. Git Clone HTTPS URI.
1782
+ # Corresponds to the JSON property `remoteUri`
1783
+ # @return [String]
1784
+ attr_accessor :remote_uri
1785
+
1786
+ # Output only. Server assigned timestamp for when the connection was updated.
1787
+ # Corresponds to the JSON property `updateTime`
1788
+ # @return [String]
1789
+ attr_accessor :update_time
1790
+
1791
+ # Output only. External ID of the webhook created for the repository.
1792
+ # Corresponds to the JSON property `webhookId`
1793
+ # @return [String]
1794
+ attr_accessor :webhook_id
1795
+
1796
+ def initialize(**args)
1797
+ update!(**args)
1798
+ end
1799
+
1800
+ # Update properties of this object
1801
+ def update!(**args)
1802
+ @annotations = args[:annotations] if args.key?(:annotations)
1803
+ @create_time = args[:create_time] if args.key?(:create_time)
1804
+ @etag = args[:etag] if args.key?(:etag)
1805
+ @name = args[:name] if args.key?(:name)
1806
+ @remote_uri = args[:remote_uri] if args.key?(:remote_uri)
1807
+ @update_time = args[:update_time] if args.key?(:update_time)
1808
+ @webhook_id = args[:webhook_id] if args.key?(:webhook_id)
1809
+ end
1810
+ end
1811
+
1812
+ # Represents the custom metadata of the RunWorkflow long-running operation.
1813
+ class RunWorkflowCustomOperationMetadata
1814
+ include Google::Apis::Core::Hashable
1815
+
1816
+ # Output only. API version used to start the operation.
1817
+ # Corresponds to the JSON property `apiVersion`
1818
+ # @return [String]
1819
+ attr_accessor :api_version
1820
+
1821
+ # Output only. The time the operation was created.
1822
+ # Corresponds to the JSON property `createTime`
1823
+ # @return [String]
1824
+ attr_accessor :create_time
1825
+
1826
+ # Output only. The time the operation finished running.
1827
+ # Corresponds to the JSON property `endTime`
1828
+ # @return [String]
1829
+ attr_accessor :end_time
1830
+
1831
+ # Output only. ID of the pipeline run created by RunWorkflow.
1832
+ # Corresponds to the JSON property `pipelineRunId`
1833
+ # @return [String]
1834
+ attr_accessor :pipeline_run_id
1835
+
1836
+ # Output only. Identifies whether the user has requested cancellation of the
1837
+ # operation. Operations that have successfully been cancelled have Operation.
1838
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1839
+ # CANCELLED`.
1840
+ # Corresponds to the JSON property `requestedCancellation`
1841
+ # @return [Boolean]
1842
+ attr_accessor :requested_cancellation
1843
+ alias_method :requested_cancellation?, :requested_cancellation
1844
+
1845
+ # Output only. Server-defined resource path for the target of the operation.
1846
+ # Corresponds to the JSON property `target`
1847
+ # @return [String]
1848
+ attr_accessor :target
1849
+
1850
+ # Output only. Name of the verb executed by the operation.
1851
+ # Corresponds to the JSON property `verb`
1852
+ # @return [String]
1853
+ attr_accessor :verb
1854
+
1855
+ def initialize(**args)
1856
+ update!(**args)
1857
+ end
1858
+
1859
+ # Update properties of this object
1860
+ def update!(**args)
1861
+ @api_version = args[:api_version] if args.key?(:api_version)
1862
+ @create_time = args[:create_time] if args.key?(:create_time)
1863
+ @end_time = args[:end_time] if args.key?(:end_time)
1864
+ @pipeline_run_id = args[:pipeline_run_id] if args.key?(:pipeline_run_id)
1865
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1866
+ @target = args[:target] if args.key?(:target)
1867
+ @verb = args[:verb] if args.key?(:verb)
1868
+ end
1869
+ end
1870
+
1871
+ # Secret Volume Source.
1872
+ class SecretVolumeSource
1873
+ include Google::Apis::Core::Hashable
1874
+
1875
+ # Name of the secret referenced by the WorkspaceBinding.
1876
+ # Corresponds to the JSON property `secretName`
1877
+ # @return [String]
1878
+ attr_accessor :secret_name
1879
+
1880
+ # Output only. Resource name of the SecretVersion. In format: projects/*/secrets/
1881
+ # */versions/*
1882
+ # Corresponds to the JSON property `secretVersion`
1883
+ # @return [String]
1884
+ attr_accessor :secret_version
1885
+
1886
+ def initialize(**args)
1887
+ update!(**args)
1888
+ end
1889
+
1890
+ # Update properties of this object
1891
+ def update!(**args)
1892
+ @secret_name = args[:secret_name] if args.key?(:secret_name)
1893
+ @secret_version = args[:secret_version] if args.key?(:secret_version)
1894
+ end
1895
+ end
1896
+
1897
+ # Security options the container should be run with.
1898
+ class SecurityContext
1899
+ include Google::Apis::Core::Hashable
1900
+
1901
+ # Run container in privileged mode.
1902
+ # Corresponds to the JSON property `privileged`
1903
+ # @return [Boolean]
1904
+ attr_accessor :privileged
1905
+ alias_method :privileged?, :privileged
1906
+
1907
+ def initialize(**args)
1908
+ update!(**args)
1909
+ end
1910
+
1911
+ # Update properties of this object
1912
+ def update!(**args)
1913
+ @privileged = args[:privileged] if args.key?(:privileged)
1914
+ end
1915
+ end
1916
+
1917
+ # Request message for `SetIamPolicy` method.
1918
+ class SetIamPolicyRequest
1919
+ include Google::Apis::Core::Hashable
1920
+
1921
+ # An Identity and Access Management (IAM) policy, which specifies access
1922
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1923
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
1924
+ # Principals can be user accounts, service accounts, Google groups, and domains (
1925
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
1926
+ # an IAM predefined role or a user-created custom role. For some types of Google
1927
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
1928
+ # logical expression that allows access to a resource only if the expression
1929
+ # evaluates to `true`. A condition can add constraints based on attributes of
1930
+ # the request, the resource, or both. To learn which resources support
1931
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
1932
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
1933
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
1934
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1935
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1936
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1937
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
1938
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1939
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
1940
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
1941
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
1942
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
1943
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
1944
+ # title: expirable access description: Does not grant access after Sep 2020
1945
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
1946
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
1947
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1948
+ # Corresponds to the JSON property `policy`
1949
+ # @return [Google::Apis::CloudbuildV2::Policy]
1950
+ attr_accessor :policy
1951
+
1952
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1953
+ # the fields in the mask will be modified. If no mask is provided, the following
1954
+ # default mask is used: `paths: "bindings, etag"`
1955
+ # Corresponds to the JSON property `updateMask`
1956
+ # @return [String]
1957
+ attr_accessor :update_mask
1958
+
1959
+ def initialize(**args)
1960
+ update!(**args)
1961
+ end
1962
+
1963
+ # Update properties of this object
1964
+ def update!(**args)
1965
+ @policy = args[:policy] if args.key?(:policy)
1966
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1967
+ end
1968
+ end
1969
+
1970
+ # Sidecars run alongside the Task's step containers.
1971
+ class Sidecar
1972
+ include Google::Apis::Core::Hashable
1973
+
1974
+ # Arguments to the entrypoint.
1975
+ # Corresponds to the JSON property `args`
1976
+ # @return [Array<String>]
1977
+ attr_accessor :args
1978
+
1979
+ # Entrypoint array.
1980
+ # Corresponds to the JSON property `command`
1981
+ # @return [Array<String>]
1982
+ attr_accessor :command
1983
+
1984
+ # List of environment variables to set in the container.
1985
+ # Corresponds to the JSON property `env`
1986
+ # @return [Array<Google::Apis::CloudbuildV2::EnvVar>]
1987
+ attr_accessor :env
1988
+
1989
+ # Docker image name.
1990
+ # Corresponds to the JSON property `image`
1991
+ # @return [String]
1992
+ attr_accessor :image
1993
+
1994
+ # Name of the Sidecar.
1995
+ # Corresponds to the JSON property `name`
1996
+ # @return [String]
1997
+ attr_accessor :name
1998
+
1999
+ # The contents of an executable file to execute.
2000
+ # Corresponds to the JSON property `script`
2001
+ # @return [String]
2002
+ attr_accessor :script
2003
+
2004
+ # Security options the container should be run with.
2005
+ # Corresponds to the JSON property `securityContext`
2006
+ # @return [Google::Apis::CloudbuildV2::SecurityContext]
2007
+ attr_accessor :security_context
2008
+
2009
+ # Pod volumes to mount into the container's filesystem.
2010
+ # Corresponds to the JSON property `volumeMounts`
2011
+ # @return [Array<Google::Apis::CloudbuildV2::VolumeMount>]
2012
+ attr_accessor :volume_mounts
2013
+
2014
+ # Container's working directory.
2015
+ # Corresponds to the JSON property `workingDir`
2016
+ # @return [String]
2017
+ attr_accessor :working_dir
2018
+
2019
+ def initialize(**args)
2020
+ update!(**args)
2021
+ end
2022
+
2023
+ # Update properties of this object
2024
+ def update!(**args)
2025
+ @args = args[:args] if args.key?(:args)
2026
+ @command = args[:command] if args.key?(:command)
2027
+ @env = args[:env] if args.key?(:env)
2028
+ @image = args[:image] if args.key?(:image)
2029
+ @name = args[:name] if args.key?(:name)
2030
+ @script = args[:script] if args.key?(:script)
2031
+ @security_context = args[:security_context] if args.key?(:security_context)
2032
+ @volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
2033
+ @working_dir = args[:working_dir] if args.key?(:working_dir)
2034
+ end
2035
+ end
2036
+
2037
+ # SkippedTask is used to describe the Tasks that were skipped due to their When
2038
+ # Expressions evaluating to False.
2039
+ class SkippedTask
2040
+ include Google::Apis::Core::Hashable
2041
+
2042
+ # Name is the Pipeline Task name
2043
+ # Corresponds to the JSON property `name`
2044
+ # @return [String]
2045
+ attr_accessor :name
2046
+
2047
+ # Output only. Reason is the cause of the PipelineTask being skipped.
2048
+ # Corresponds to the JSON property `reason`
2049
+ # @return [String]
2050
+ attr_accessor :reason
2051
+
2052
+ # WhenExpressions is the list of checks guarding the execution of the
2053
+ # PipelineTask
2054
+ # Corresponds to the JSON property `whenExpressions`
2055
+ # @return [Array<Google::Apis::CloudbuildV2::WhenExpression>]
2056
+ attr_accessor :when_expressions
2057
+
2058
+ def initialize(**args)
2059
+ update!(**args)
2060
+ end
2061
+
2062
+ # Update properties of this object
2063
+ def update!(**args)
2064
+ @name = args[:name] if args.key?(:name)
2065
+ @reason = args[:reason] if args.key?(:reason)
2066
+ @when_expressions = args[:when_expressions] if args.key?(:when_expressions)
2067
+ end
2068
+ end
2069
+
2070
+ # The `Status` type defines a logical error model that is suitable for different
2071
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2072
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2073
+ # data: error code, error message, and error details. You can find out more
2074
+ # about this error model and how to work with it in the [API Design Guide](https:
2075
+ # //cloud.google.com/apis/design/errors).
2076
+ class Status
2077
+ include Google::Apis::Core::Hashable
2078
+
2079
+ # The status code, which should be an enum value of google.rpc.Code.
2080
+ # Corresponds to the JSON property `code`
2081
+ # @return [Fixnum]
2082
+ attr_accessor :code
2083
+
2084
+ # A list of messages that carry the error details. There is a common set of
2085
+ # message types for APIs to use.
2086
+ # Corresponds to the JSON property `details`
2087
+ # @return [Array<Hash<String,Object>>]
2088
+ attr_accessor :details
2089
+
2090
+ # A developer-facing error message, which should be in English. Any user-facing
2091
+ # error message should be localized and sent in the google.rpc.Status.details
2092
+ # field, or localized by the client.
2093
+ # Corresponds to the JSON property `message`
2094
+ # @return [String]
2095
+ attr_accessor :message
2096
+
2097
+ def initialize(**args)
2098
+ update!(**args)
2099
+ end
2100
+
2101
+ # Update properties of this object
2102
+ def update!(**args)
2103
+ @code = args[:code] if args.key?(:code)
2104
+ @details = args[:details] if args.key?(:details)
2105
+ @message = args[:message] if args.key?(:message)
2106
+ end
2107
+ end
2108
+
2109
+ # Step embeds the Container type, which allows it to include fields not provided
2110
+ # by Container.
2111
+ class Step
2112
+ include Google::Apis::Core::Hashable
2113
+
2114
+ # Arguments to the entrypoint.
2115
+ # Corresponds to the JSON property `args`
2116
+ # @return [Array<String>]
2117
+ attr_accessor :args
2118
+
2119
+ # Entrypoint array.
2120
+ # Corresponds to the JSON property `command`
2121
+ # @return [Array<String>]
2122
+ attr_accessor :command
2123
+
2124
+ # List of environment variables to set in the container.
2125
+ # Corresponds to the JSON property `env`
2126
+ # @return [Array<Google::Apis::CloudbuildV2::EnvVar>]
2127
+ attr_accessor :env
2128
+
2129
+ # Docker image name.
2130
+ # Corresponds to the JSON property `image`
2131
+ # @return [String]
2132
+ attr_accessor :image
2133
+
2134
+ # Name of the container specified as a DNS_LABEL.
2135
+ # Corresponds to the JSON property `name`
2136
+ # @return [String]
2137
+ attr_accessor :name
2138
+
2139
+ # The contents of an executable file to execute.
2140
+ # Corresponds to the JSON property `script`
2141
+ # @return [String]
2142
+ attr_accessor :script
2143
+
2144
+ # Time after which the Step times out. Defaults to never.
2145
+ # Corresponds to the JSON property `timeout`
2146
+ # @return [String]
2147
+ attr_accessor :timeout
2148
+
2149
+ # Pod volumes to mount into the container's filesystem.
2150
+ # Corresponds to the JSON property `volumeMounts`
2151
+ # @return [Array<Google::Apis::CloudbuildV2::VolumeMount>]
2152
+ attr_accessor :volume_mounts
2153
+
2154
+ # Container's working directory.
2155
+ # Corresponds to the JSON property `workingDir`
2156
+ # @return [String]
2157
+ attr_accessor :working_dir
2158
+
2159
+ def initialize(**args)
2160
+ update!(**args)
2161
+ end
2162
+
2163
+ # Update properties of this object
2164
+ def update!(**args)
2165
+ @args = args[:args] if args.key?(:args)
2166
+ @command = args[:command] if args.key?(:command)
2167
+ @env = args[:env] if args.key?(:env)
2168
+ @image = args[:image] if args.key?(:image)
2169
+ @name = args[:name] if args.key?(:name)
2170
+ @script = args[:script] if args.key?(:script)
2171
+ @timeout = args[:timeout] if args.key?(:timeout)
2172
+ @volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
2173
+ @working_dir = args[:working_dir] if args.key?(:working_dir)
2174
+ end
2175
+ end
2176
+
2177
+ # TaskRef can be used to refer to a specific instance of a task. PipelineRef can
2178
+ # be used to refer to a specific instance of a Pipeline.
2179
+ class TaskRef
2180
+ include Google::Apis::Core::Hashable
2181
+
2182
+ # Optional. The CustomTask definition to use.
2183
+ # Corresponds to the JSON property `customTask`
2184
+ # @return [String]
2185
+ attr_accessor :custom_task
2186
+
2187
+ # Name of the task.
2188
+ # Corresponds to the JSON property `name`
2189
+ # @return [String]
2190
+ attr_accessor :name
2191
+
2192
+ # Params contains the parameters used to identify the referenced Tekton resource.
2193
+ # Example entries might include "repo" or "path" but the set of params
2194
+ # ultimately depends on the chosen resolver.
2195
+ # Corresponds to the JSON property `params`
2196
+ # @return [Array<Google::Apis::CloudbuildV2::Param>]
2197
+ attr_accessor :params
2198
+
2199
+ # Resolver is the name of the resolver that should perform resolution of the
2200
+ # referenced Tekton resource.
2201
+ # Corresponds to the JSON property `resolver`
2202
+ # @return [String]
2203
+ attr_accessor :resolver
2204
+
2205
+ def initialize(**args)
2206
+ update!(**args)
2207
+ end
2208
+
2209
+ # Update properties of this object
2210
+ def update!(**args)
2211
+ @custom_task = args[:custom_task] if args.key?(:custom_task)
2212
+ @name = args[:name] if args.key?(:name)
2213
+ @params = args[:params] if args.key?(:params)
2214
+ @resolver = args[:resolver] if args.key?(:resolver)
2215
+ end
2216
+ end
2217
+
2218
+ # TaskResult is used to describe the results of a task.
2219
+ class TaskResult
2220
+ include Google::Apis::Core::Hashable
2221
+
2222
+ # Description of the result.
2223
+ # Corresponds to the JSON property `description`
2224
+ # @return [String]
2225
+ attr_accessor :description
2226
+
2227
+ # Name of the result.
2228
+ # Corresponds to the JSON property `name`
2229
+ # @return [String]
2230
+ attr_accessor :name
2231
+
2232
+ # When type is OBJECT, this map holds the names of fields inside that object
2233
+ # along with the type of data each field holds.
2234
+ # Corresponds to the JSON property `properties`
2235
+ # @return [Hash<String,Google::Apis::CloudbuildV2::PropertySpec>]
2236
+ attr_accessor :properties
2237
+
2238
+ # The type of data that the result holds.
2239
+ # Corresponds to the JSON property `type`
2240
+ # @return [String]
2241
+ attr_accessor :type
2242
+
2243
+ def initialize(**args)
2244
+ update!(**args)
2245
+ end
2246
+
2247
+ # Update properties of this object
2248
+ def update!(**args)
2249
+ @description = args[:description] if args.key?(:description)
2250
+ @name = args[:name] if args.key?(:name)
2251
+ @properties = args[:properties] if args.key?(:properties)
2252
+ @type = args[:type] if args.key?(:type)
2253
+ end
2254
+ end
2255
+
2256
+ # TaskSpec contains the Spec to instantiate a TaskRun.
2257
+ class TaskSpec
2258
+ include Google::Apis::Core::Hashable
2259
+
2260
+ # Description of the task.
2261
+ # Corresponds to the JSON property `description`
2262
+ # @return [String]
2263
+ attr_accessor :description
2264
+
2265
+ # Sidecars that run alongside the Task’s step containers that should be added to
2266
+ # this Task.
2267
+ # Corresponds to the JSON property `managedSidecars`
2268
+ # @return [Array<String>]
2269
+ attr_accessor :managed_sidecars
2270
+
2271
+ # List of parameters.
2272
+ # Corresponds to the JSON property `params`
2273
+ # @return [Array<Google::Apis::CloudbuildV2::ParamSpec>]
2274
+ attr_accessor :params
2275
+
2276
+ # Values that this Task can output.
2277
+ # Corresponds to the JSON property `results`
2278
+ # @return [Array<Google::Apis::CloudbuildV2::TaskResult>]
2279
+ attr_accessor :results
2280
+
2281
+ # Sidecars that run alongside the Task's step containers.
2282
+ # Corresponds to the JSON property `sidecars`
2283
+ # @return [Array<Google::Apis::CloudbuildV2::Sidecar>]
2284
+ attr_accessor :sidecars
2285
+
2286
+ # Steps of the task.
2287
+ # Corresponds to the JSON property `steps`
2288
+ # @return [Array<Google::Apis::CloudbuildV2::Step>]
2289
+ attr_accessor :steps
2290
+
2291
+ # A collection of volumes that are available to mount into steps.
2292
+ # Corresponds to the JSON property `volumes`
2293
+ # @return [Array<Google::Apis::CloudbuildV2::VolumeSource>]
2294
+ attr_accessor :volumes
2295
+
2296
+ # The volumes that this Task requires.
2297
+ # Corresponds to the JSON property `workspaces`
2298
+ # @return [Array<Google::Apis::CloudbuildV2::WorkspaceDeclaration>]
2299
+ attr_accessor :workspaces
2300
+
2301
+ def initialize(**args)
2302
+ update!(**args)
2303
+ end
2304
+
2305
+ # Update properties of this object
2306
+ def update!(**args)
2307
+ @description = args[:description] if args.key?(:description)
2308
+ @managed_sidecars = args[:managed_sidecars] if args.key?(:managed_sidecars)
2309
+ @params = args[:params] if args.key?(:params)
2310
+ @results = args[:results] if args.key?(:results)
2311
+ @sidecars = args[:sidecars] if args.key?(:sidecars)
2312
+ @steps = args[:steps] if args.key?(:steps)
2313
+ @volumes = args[:volumes] if args.key?(:volumes)
2314
+ @workspaces = args[:workspaces] if args.key?(:workspaces)
2315
+ end
2316
+ end
2317
+
2318
+ # Request message for `TestIamPermissions` method.
2319
+ class TestIamPermissionsRequest
2320
+ include Google::Apis::Core::Hashable
2321
+
2322
+ # The set of permissions to check for the `resource`. Permissions with wildcards
2323
+ # (such as `*` or `storage.*`) are not allowed. For more information see [IAM
2324
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
2325
+ # Corresponds to the JSON property `permissions`
2326
+ # @return [Array<String>]
2327
+ attr_accessor :permissions
2328
+
2329
+ def initialize(**args)
2330
+ update!(**args)
2331
+ end
2332
+
2333
+ # Update properties of this object
2334
+ def update!(**args)
2335
+ @permissions = args[:permissions] if args.key?(:permissions)
2336
+ end
2337
+ end
2338
+
2339
+ # Response message for `TestIamPermissions` method.
2340
+ class TestIamPermissionsResponse
2341
+ include Google::Apis::Core::Hashable
2342
+
2343
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
2344
+ # Corresponds to the JSON property `permissions`
2345
+ # @return [Array<String>]
2346
+ attr_accessor :permissions
2347
+
2348
+ def initialize(**args)
2349
+ update!(**args)
2350
+ end
2351
+
2352
+ # Update properties of this object
2353
+ def update!(**args)
2354
+ @permissions = args[:permissions] if args.key?(:permissions)
2355
+ end
2356
+ end
2357
+
2358
+ # TimeoutFields allows granular specification of pipeline, task, and finally
2359
+ # timeouts
2360
+ class TimeoutFields
2361
+ include Google::Apis::Core::Hashable
2362
+
2363
+ # Finally sets the maximum allowed duration of this pipeline's finally
2364
+ # Corresponds to the JSON property `finally`
2365
+ # @return [String]
2366
+ attr_accessor :finally
2367
+
2368
+ # Pipeline sets the maximum allowed duration for execution of the entire
2369
+ # pipeline. The sum of individual timeouts for tasks and finally must not exceed
2370
+ # this value.
2371
+ # Corresponds to the JSON property `pipeline`
2372
+ # @return [String]
2373
+ attr_accessor :pipeline
2374
+
2375
+ # Tasks sets the maximum allowed duration of this pipeline's tasks
2376
+ # Corresponds to the JSON property `tasks`
2377
+ # @return [String]
2378
+ attr_accessor :tasks
2379
+
2380
+ def initialize(**args)
2381
+ update!(**args)
2382
+ end
2383
+
2384
+ # Update properties of this object
2385
+ def update!(**args)
2386
+ @finally = args[:finally] if args.key?(:finally)
2387
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
2388
+ @tasks = args[:tasks] if args.key?(:tasks)
2389
+ end
2390
+ end
2391
+
2392
+ # Represents a personal access token that authorized the Connection, and
2393
+ # associated metadata.
2394
+ class UserCredential
2395
+ include Google::Apis::Core::Hashable
2396
+
2397
+ # Required. A SecretManager resource containing the user token that authorizes
2398
+ # the Cloud Build connection. Format: `projects/*/secrets/*/versions/*`.
2399
+ # Corresponds to the JSON property `userTokenSecretVersion`
2400
+ # @return [String]
2401
+ attr_accessor :user_token_secret_version
2402
+
2403
+ # Output only. The username associated to this token.
2404
+ # Corresponds to the JSON property `username`
2405
+ # @return [String]
2406
+ attr_accessor :username
2407
+
2408
+ def initialize(**args)
2409
+ update!(**args)
2410
+ end
2411
+
2412
+ # Update properties of this object
2413
+ def update!(**args)
2414
+ @user_token_secret_version = args[:user_token_secret_version] if args.key?(:user_token_secret_version)
2415
+ @username = args[:username] if args.key?(:username)
2416
+ end
2417
+ end
2418
+
2419
+ # VolumeClaim is a user's request for a volume.
2420
+ class VolumeClaim
2421
+ include Google::Apis::Core::Hashable
2422
+
2423
+ # Volume size, e.g. 1gb.
2424
+ # Corresponds to the JSON property `storage`
2425
+ # @return [String]
2426
+ attr_accessor :storage
2427
+
2428
+ def initialize(**args)
2429
+ update!(**args)
2430
+ end
2431
+
2432
+ # Update properties of this object
2433
+ def update!(**args)
2434
+ @storage = args[:storage] if args.key?(:storage)
2435
+ end
2436
+ end
2437
+
2438
+ # Pod volumes to mount into the container's filesystem.
2439
+ class VolumeMount
2440
+ include Google::Apis::Core::Hashable
2441
+
2442
+ # Path within the container at which the volume should be mounted. Must not
2443
+ # contain ':'.
2444
+ # Corresponds to the JSON property `mountPath`
2445
+ # @return [String]
2446
+ attr_accessor :mount_path
2447
+
2448
+ # Name of the volume.
2449
+ # Corresponds to the JSON property `name`
2450
+ # @return [String]
2451
+ attr_accessor :name
2452
+
2453
+ # Mounted read-only if true, read-write otherwise (false or unspecified).
2454
+ # Corresponds to the JSON property `readOnly`
2455
+ # @return [Boolean]
2456
+ attr_accessor :read_only
2457
+ alias_method :read_only?, :read_only
2458
+
2459
+ # Path within the volume from which the container's volume should be mounted.
2460
+ # Defaults to "" (volume's root).
2461
+ # Corresponds to the JSON property `subPath`
2462
+ # @return [String]
2463
+ attr_accessor :sub_path
2464
+
2465
+ # Expanded path within the volume from which the container's volume should be
2466
+ # mounted. Behaves similarly to SubPath but environment variable references $(
2467
+ # VAR_NAME) are expanded using the container's environment. Defaults to "" (
2468
+ # volume's root).
2469
+ # Corresponds to the JSON property `subPathExpr`
2470
+ # @return [String]
2471
+ attr_accessor :sub_path_expr
2472
+
2473
+ def initialize(**args)
2474
+ update!(**args)
2475
+ end
2476
+
2477
+ # Update properties of this object
2478
+ def update!(**args)
2479
+ @mount_path = args[:mount_path] if args.key?(:mount_path)
2480
+ @name = args[:name] if args.key?(:name)
2481
+ @read_only = args[:read_only] if args.key?(:read_only)
2482
+ @sub_path = args[:sub_path] if args.key?(:sub_path)
2483
+ @sub_path_expr = args[:sub_path_expr] if args.key?(:sub_path_expr)
2484
+ end
2485
+ end
2486
+
2487
+ # Volumes available to mount.
2488
+ class VolumeSource
2489
+ include Google::Apis::Core::Hashable
2490
+
2491
+ # Represents an empty Volume source.
2492
+ # Corresponds to the JSON property `emptyDir`
2493
+ # @return [Google::Apis::CloudbuildV2::EmptyDirVolumeSource]
2494
+ attr_accessor :empty_dir
2495
+
2496
+ # Name of the Volume. Must be a DNS_LABEL and unique within the pod. More info:
2497
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
2498
+ # Corresponds to the JSON property `name`
2499
+ # @return [String]
2500
+ attr_accessor :name
2501
+
2502
+ def initialize(**args)
2503
+ update!(**args)
2504
+ end
2505
+
2506
+ # Update properties of this object
2507
+ def update!(**args)
2508
+ @empty_dir = args[:empty_dir] if args.key?(:empty_dir)
2509
+ @name = args[:name] if args.key?(:name)
2510
+ end
2511
+ end
2512
+
2513
+ # Conditions that need to be true for the task to run.
2514
+ class WhenExpression
2515
+ include Google::Apis::Core::Hashable
2516
+
2517
+ # Operator that represents an Input's relationship to the values
2518
+ # Corresponds to the JSON property `expressionOperator`
2519
+ # @return [String]
2520
+ attr_accessor :expression_operator
2521
+
2522
+ # Input is the string for guard checking which can be a static input or an
2523
+ # output from a parent Task.
2524
+ # Corresponds to the JSON property `input`
2525
+ # @return [String]
2526
+ attr_accessor :input
2527
+
2528
+ # Values is an array of strings, which is compared against the input, for guard
2529
+ # checking.
2530
+ # Corresponds to the JSON property `values`
2531
+ # @return [Array<String>]
2532
+ attr_accessor :values
2533
+
2534
+ def initialize(**args)
2535
+ update!(**args)
2536
+ end
2537
+
2538
+ # Update properties of this object
2539
+ def update!(**args)
2540
+ @expression_operator = args[:expression_operator] if args.key?(:expression_operator)
2541
+ @input = args[:input] if args.key?(:input)
2542
+ @values = args[:values] if args.key?(:values)
2543
+ end
2544
+ end
2545
+
2546
+ # WorkspaceBinding maps a workspace to a Volume. PipelineRef can be used to
2547
+ # refer to a specific instance of a Pipeline.
2548
+ class WorkspaceBinding
2549
+ include Google::Apis::Core::Hashable
2550
+
2551
+ # Name of the workspace.
2552
+ # Corresponds to the JSON property `name`
2553
+ # @return [String]
2554
+ attr_accessor :name
2555
+
2556
+ # Secret Volume Source.
2557
+ # Corresponds to the JSON property `secret`
2558
+ # @return [Google::Apis::CloudbuildV2::SecretVolumeSource]
2559
+ attr_accessor :secret
2560
+
2561
+ # VolumeClaim is a user's request for a volume.
2562
+ # Corresponds to the JSON property `volumeClaim`
2563
+ # @return [Google::Apis::CloudbuildV2::VolumeClaim]
2564
+ attr_accessor :volume_claim
2565
+
2566
+ def initialize(**args)
2567
+ update!(**args)
2568
+ end
2569
+
2570
+ # Update properties of this object
2571
+ def update!(**args)
2572
+ @name = args[:name] if args.key?(:name)
2573
+ @secret = args[:secret] if args.key?(:secret)
2574
+ @volume_claim = args[:volume_claim] if args.key?(:volume_claim)
2575
+ end
2576
+ end
2577
+
2578
+ # WorkspaceDeclaration is a declaration of a volume that a Task requires.
2579
+ class WorkspaceDeclaration
2580
+ include Google::Apis::Core::Hashable
2581
+
2582
+ # Description is a human readable description of this volume.
2583
+ # Corresponds to the JSON property `description`
2584
+ # @return [String]
2585
+ attr_accessor :description
2586
+
2587
+ # MountPath overrides the directory that the volume will be made available at.
2588
+ # Corresponds to the JSON property `mountPath`
2589
+ # @return [String]
2590
+ attr_accessor :mount_path
2591
+
2592
+ # Name is the name by which you can bind the volume at runtime.
2593
+ # Corresponds to the JSON property `name`
2594
+ # @return [String]
2595
+ attr_accessor :name
2596
+
2597
+ # ReadOnly dictates whether a mounted volume is writable.
2598
+ # Corresponds to the JSON property `readOnly`
2599
+ # @return [Boolean]
2600
+ attr_accessor :read_only
2601
+ alias_method :read_only?, :read_only
2602
+
2603
+ def initialize(**args)
2604
+ update!(**args)
2605
+ end
2606
+
2607
+ # Update properties of this object
2608
+ def update!(**args)
2609
+ @description = args[:description] if args.key?(:description)
2610
+ @mount_path = args[:mount_path] if args.key?(:mount_path)
2611
+ @name = args[:name] if args.key?(:name)
2612
+ @read_only = args[:read_only] if args.key?(:read_only)
2613
+ end
2614
+ end
2615
+
2616
+ # WorkspacePipelineTaskBinding maps workspaces from the PipelineSpec to the
2617
+ # workspaces declared in the Task.
2618
+ class WorkspacePipelineTaskBinding
2619
+ include Google::Apis::Core::Hashable
2620
+
2621
+ # Name of the workspace as declared by the task.
2622
+ # Corresponds to the JSON property `name`
2623
+ # @return [String]
2624
+ attr_accessor :name
2625
+
2626
+ # Name of the workspace declared by the pipeline.
2627
+ # Corresponds to the JSON property `workspace`
2628
+ # @return [String]
2629
+ attr_accessor :workspace
2630
+
2631
+ def initialize(**args)
2632
+ update!(**args)
2633
+ end
2634
+
2635
+ # Update properties of this object
2636
+ def update!(**args)
2637
+ @name = args[:name] if args.key?(:name)
2638
+ @workspace = args[:workspace] if args.key?(:workspace)
2639
+ end
2640
+ end
2641
+ end
2642
+ end
2643
+ end