google-api-client 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +1 -1
  5. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  6. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  7. data/generated/google/apis/androidenterprise_v1/classes.rb +78 -0
  8. data/generated/google/apis/androidenterprise_v1/representations.rb +34 -0
  9. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  10. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +3 -11
  11. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +2 -2
  12. data/generated/google/apis/bigtableadmin_v2.rb +58 -0
  13. data/generated/google/apis/bigtableadmin_v2/classes.rb +1661 -0
  14. data/generated/google/apis/bigtableadmin_v2/representations.rb +703 -0
  15. data/generated/google/apis/bigtableadmin_v2/service.rb +1181 -0
  16. data/generated/google/apis/cloudbuild_v1alpha1.rb +34 -0
  17. data/generated/google/apis/cloudbuild_v1alpha1/classes.rb +1158 -0
  18. data/generated/google/apis/cloudbuild_v1alpha1/representations.rb +432 -0
  19. data/generated/google/apis/cloudbuild_v1alpha1/service.rb +223 -0
  20. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  21. data/generated/google/apis/cloudfunctions_v1/service.rb +4 -2
  22. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  23. data/generated/google/apis/cloudfunctions_v1beta2/service.rb +4 -2
  24. data/generated/google/apis/compute_alpha.rb +1 -1
  25. data/generated/google/apis/compute_alpha/classes.rb +3 -3
  26. data/generated/google/apis/compute_beta.rb +1 -1
  27. data/generated/google/apis/compute_beta/classes.rb +2 -2
  28. data/generated/google/apis/compute_v1.rb +1 -1
  29. data/generated/google/apis/compute_v1/classes.rb +2 -2
  30. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  31. data/generated/google/apis/dataflow_v1b3/classes.rb +19 -0
  32. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  33. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  34. data/generated/google/apis/dataproc_v1beta2/classes.rb +1 -1
  35. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  36. data/generated/google/apis/deploymentmanager_alpha/classes.rb +44 -36
  37. data/generated/google/apis/deploymentmanager_alpha/representations.rb +1 -0
  38. data/generated/google/apis/deploymentmanager_alpha/service.rb +3 -3
  39. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  40. data/generated/google/apis/deploymentmanager_v2/classes.rb +36 -26
  41. data/generated/google/apis/deploymentmanager_v2/representations.rb +1 -0
  42. data/generated/google/apis/deploymentmanager_v2/service.rb +3 -3
  43. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  44. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +44 -36
  45. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +1 -0
  46. data/generated/google/apis/deploymentmanager_v2beta/service.rb +3 -3
  47. data/generated/google/apis/dialogflow_v2.rb +1 -1
  48. data/generated/google/apis/dialogflow_v2/classes.rb +3 -3
  49. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  50. data/generated/google/apis/dialogflow_v2beta1/classes.rb +3 -3
  51. data/generated/google/apis/dlp_v2.rb +1 -1
  52. data/generated/google/apis/dlp_v2/classes.rb +7 -2
  53. data/generated/google/apis/gmail_v1.rb +1 -1
  54. data/generated/google/apis/gmail_v1/classes.rb +1 -1
  55. data/generated/google/apis/jobs_v3.rb +1 -1
  56. data/generated/google/apis/jobs_v3/classes.rb +14 -0
  57. data/generated/google/apis/jobs_v3/representations.rb +1 -0
  58. data/generated/google/apis/ml_v1.rb +1 -1
  59. data/generated/google/apis/ml_v1/classes.rb +17 -10
  60. data/generated/google/apis/pagespeedonline_v5.rb +1 -1
  61. data/generated/google/apis/pagespeedonline_v5/classes.rb +45 -1
  62. data/generated/google/apis/pagespeedonline_v5/representations.rb +23 -1
  63. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  64. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +3 -1
  65. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  66. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +5 -3
  67. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  68. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  69. data/generated/google/apis/testing_v1.rb +1 -1
  70. data/generated/google/apis/testing_v1/classes.rb +140 -215
  71. data/generated/google/apis/testing_v1/service.rb +5 -7
  72. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  73. data/generated/google/apis/texttospeech_v1beta1/classes.rb +4 -0
  74. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  75. data/lib/google/apis/version.rb +1 -1
  76. metadata +10 -6
  77. data/generated/google/apis/replicapoolupdater_v1beta1.rb +0 -45
  78. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +0 -733
  79. data/generated/google/apis/replicapoolupdater_v1beta1/representations.rb +0 -294
  80. data/generated/google/apis/replicapoolupdater_v1beta1/service.rb +0 -488
@@ -0,0 +1,34 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/cloudbuild_v1alpha1/service.rb'
16
+ require 'google/apis/cloudbuild_v1alpha1/classes.rb'
17
+ require 'google/apis/cloudbuild_v1alpha1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Build API
22
+ #
23
+ # Creates and manages builds on Google Cloud Platform.
24
+ #
25
+ # @see https://cloud.google.com/cloud-build/docs/
26
+ module CloudbuildV1alpha1
27
+ VERSION = 'V1alpha1'
28
+ REVISION = '20181211'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,1158 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module CloudbuildV1alpha1
24
+
25
+ # Files in the workspace to upload to Cloud Storage upon successful
26
+ # completion of all build steps.
27
+ class ArtifactObjects
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Cloud Storage bucket and optional object path, in the form
31
+ # "gs://bucket/path/to/somewhere/". (see [Bucket Name
32
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
33
+ # ).
34
+ # Files in the workspace matching any path pattern will be uploaded to
35
+ # Cloud Storage with this location as a prefix.
36
+ # Corresponds to the JSON property `location`
37
+ # @return [String]
38
+ attr_accessor :location
39
+
40
+ # Path globs used to match files in the build's workspace.
41
+ # Corresponds to the JSON property `paths`
42
+ # @return [Array<String>]
43
+ attr_accessor :paths
44
+
45
+ # Start and end times for a build execution phase.
46
+ # Corresponds to the JSON property `timing`
47
+ # @return [Google::Apis::CloudbuildV1alpha1::TimeSpan]
48
+ attr_accessor :timing
49
+
50
+ def initialize(**args)
51
+ update!(**args)
52
+ end
53
+
54
+ # Update properties of this object
55
+ def update!(**args)
56
+ @location = args[:location] if args.key?(:location)
57
+ @paths = args[:paths] if args.key?(:paths)
58
+ @timing = args[:timing] if args.key?(:timing)
59
+ end
60
+ end
61
+
62
+ # An artifact that was uploaded during a build. This
63
+ # is a single record in the artifact manifest JSON file.
64
+ class ArtifactResult
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # The file hash of the artifact.
68
+ # Corresponds to the JSON property `fileHash`
69
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::FileHashes>]
70
+ attr_accessor :file_hash
71
+
72
+ # The path of an artifact in a Google Cloud Storage bucket, with the
73
+ # generation number. For example,
74
+ # `gs://mybucket/path/to/output.jar#generation`.
75
+ # Corresponds to the JSON property `location`
76
+ # @return [String]
77
+ attr_accessor :location
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @file_hash = args[:file_hash] if args.key?(:file_hash)
86
+ @location = args[:location] if args.key?(:location)
87
+ end
88
+ end
89
+
90
+ # Artifacts produced by a build that should be uploaded upon
91
+ # successful completion of all build steps.
92
+ class Artifacts
93
+ include Google::Apis::Core::Hashable
94
+
95
+ # A list of images to be pushed upon the successful completion of all build
96
+ # steps.
97
+ # The images will be pushed using the builder service account's credentials.
98
+ # The digests of the pushed images will be stored in the Build resource's
99
+ # results field.
100
+ # If any of the images fail to be pushed, the build is marked FAILURE.
101
+ # Corresponds to the JSON property `images`
102
+ # @return [Array<String>]
103
+ attr_accessor :images
104
+
105
+ # Files in the workspace to upload to Cloud Storage upon successful
106
+ # completion of all build steps.
107
+ # Corresponds to the JSON property `objects`
108
+ # @return [Google::Apis::CloudbuildV1alpha1::ArtifactObjects]
109
+ attr_accessor :objects
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ @images = args[:images] if args.key?(:images)
118
+ @objects = args[:objects] if args.key?(:objects)
119
+ end
120
+ end
121
+
122
+ # A build resource in the Cloud Build API.
123
+ # At a high level, a `Build` describes where to find source code, how to build
124
+ # it (for example, the builder image to run on the source), and where to store
125
+ # the built artifacts.
126
+ # Fields can include the following variables, which will be expanded when the
127
+ # build is created:
128
+ # - $PROJECT_ID: the project ID of the build.
129
+ # - $BUILD_ID: the autogenerated ID of the build.
130
+ # - $REPO_NAME: the source repository name specified by RepoSource.
131
+ # - $BRANCH_NAME: the branch name specified by RepoSource.
132
+ # - $TAG_NAME: the tag name specified by RepoSource.
133
+ # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
134
+ # resolved from the specified branch or tag.
135
+ # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
136
+ class Build
137
+ include Google::Apis::Core::Hashable
138
+
139
+ # Artifacts produced by a build that should be uploaded upon
140
+ # successful completion of all build steps.
141
+ # Corresponds to the JSON property `artifacts`
142
+ # @return [Google::Apis::CloudbuildV1alpha1::Artifacts]
143
+ attr_accessor :artifacts
144
+
145
+ # Output only. The ID of the `BuildTrigger` that triggered this build, if it
146
+ # was triggered automatically.
147
+ # Corresponds to the JSON property `buildTriggerId`
148
+ # @return [String]
149
+ attr_accessor :build_trigger_id
150
+
151
+ # Output only. Time at which the request to create the build was received.
152
+ # Corresponds to the JSON property `createTime`
153
+ # @return [String]
154
+ attr_accessor :create_time
155
+
156
+ # Output only. Time at which execution of the build was finished.
157
+ # The difference between finish_time and start_time is the duration of the
158
+ # build's execution.
159
+ # Corresponds to the JSON property `finishTime`
160
+ # @return [String]
161
+ attr_accessor :finish_time
162
+
163
+ # Output only. Unique identifier of the build.
164
+ # Corresponds to the JSON property `id`
165
+ # @return [String]
166
+ attr_accessor :id
167
+
168
+ # A list of images to be pushed upon the successful completion of all build
169
+ # steps.
170
+ # The images are pushed using the builder service account's credentials.
171
+ # The digests of the pushed images will be stored in the `Build` resource's
172
+ # results field.
173
+ # If any of the images fail to be pushed, the build status is marked
174
+ # `FAILURE`.
175
+ # Corresponds to the JSON property `images`
176
+ # @return [Array<String>]
177
+ attr_accessor :images
178
+
179
+ # Output only. URL to logs for this build in Google Cloud Console.
180
+ # Corresponds to the JSON property `logUrl`
181
+ # @return [String]
182
+ attr_accessor :log_url
183
+
184
+ # Google Cloud Storage bucket where logs should be written (see
185
+ # [Bucket Name
186
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
187
+ # ).
188
+ # Logs file names will be of the format `$`logs_bucket`/log-$`build_id`.txt`.
189
+ # Corresponds to the JSON property `logsBucket`
190
+ # @return [String]
191
+ attr_accessor :logs_bucket
192
+
193
+ # Optional arguments to enable specific features of builds.
194
+ # Corresponds to the JSON property `options`
195
+ # @return [Google::Apis::CloudbuildV1alpha1::BuildOptions]
196
+ attr_accessor :options
197
+
198
+ # Output only. ID of the project.
199
+ # Corresponds to the JSON property `projectId`
200
+ # @return [String]
201
+ attr_accessor :project_id
202
+
203
+ # Artifacts created by the build pipeline.
204
+ # Corresponds to the JSON property `results`
205
+ # @return [Google::Apis::CloudbuildV1alpha1::Results]
206
+ attr_accessor :results
207
+
208
+ # Secrets to decrypt using Cloud Key Management Service.
209
+ # Corresponds to the JSON property `secrets`
210
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::Secret>]
211
+ attr_accessor :secrets
212
+
213
+ # Location of the source in a supported storage service.
214
+ # Corresponds to the JSON property `source`
215
+ # @return [Google::Apis::CloudbuildV1alpha1::Source]
216
+ attr_accessor :source
217
+
218
+ # Provenance of the source. Ways to find the original source, or verify that
219
+ # some source was used for this build.
220
+ # Corresponds to the JSON property `sourceProvenance`
221
+ # @return [Google::Apis::CloudbuildV1alpha1::SourceProvenance]
222
+ attr_accessor :source_provenance
223
+
224
+ # Output only. Time at which execution of the build was started.
225
+ # Corresponds to the JSON property `startTime`
226
+ # @return [String]
227
+ attr_accessor :start_time
228
+
229
+ # Output only. Status of the build.
230
+ # Corresponds to the JSON property `status`
231
+ # @return [String]
232
+ attr_accessor :status
233
+
234
+ # Output only. Customer-readable message about the current status.
235
+ # Corresponds to the JSON property `statusDetail`
236
+ # @return [String]
237
+ attr_accessor :status_detail
238
+
239
+ # Required. The operations to be performed on the workspace.
240
+ # Corresponds to the JSON property `steps`
241
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::BuildStep>]
242
+ attr_accessor :steps
243
+
244
+ # Substitutions data for `Build` resource.
245
+ # Corresponds to the JSON property `substitutions`
246
+ # @return [Hash<String,String>]
247
+ attr_accessor :substitutions
248
+
249
+ # Tags for annotation of a `Build`. These are not docker tags.
250
+ # Corresponds to the JSON property `tags`
251
+ # @return [Array<String>]
252
+ attr_accessor :tags
253
+
254
+ # Amount of time that this build should be allowed to run, to second
255
+ # granularity. If this amount of time elapses, work on the build will cease
256
+ # and the build status will be `TIMEOUT`.
257
+ # Default time is ten minutes.
258
+ # Corresponds to the JSON property `timeout`
259
+ # @return [String]
260
+ attr_accessor :timeout
261
+
262
+ # Output only. Stores timing information for phases of the build. Valid keys
263
+ # are:
264
+ # * BUILD: time to execute all build steps
265
+ # * PUSH: time to push all specified images.
266
+ # * FETCHSOURCE: time to fetch source.
267
+ # If the build does not specify source or images,
268
+ # these keys will not be included.
269
+ # Corresponds to the JSON property `timing`
270
+ # @return [Hash<String,Google::Apis::CloudbuildV1alpha1::TimeSpan>]
271
+ attr_accessor :timing
272
+
273
+ def initialize(**args)
274
+ update!(**args)
275
+ end
276
+
277
+ # Update properties of this object
278
+ def update!(**args)
279
+ @artifacts = args[:artifacts] if args.key?(:artifacts)
280
+ @build_trigger_id = args[:build_trigger_id] if args.key?(:build_trigger_id)
281
+ @create_time = args[:create_time] if args.key?(:create_time)
282
+ @finish_time = args[:finish_time] if args.key?(:finish_time)
283
+ @id = args[:id] if args.key?(:id)
284
+ @images = args[:images] if args.key?(:images)
285
+ @log_url = args[:log_url] if args.key?(:log_url)
286
+ @logs_bucket = args[:logs_bucket] if args.key?(:logs_bucket)
287
+ @options = args[:options] if args.key?(:options)
288
+ @project_id = args[:project_id] if args.key?(:project_id)
289
+ @results = args[:results] if args.key?(:results)
290
+ @secrets = args[:secrets] if args.key?(:secrets)
291
+ @source = args[:source] if args.key?(:source)
292
+ @source_provenance = args[:source_provenance] if args.key?(:source_provenance)
293
+ @start_time = args[:start_time] if args.key?(:start_time)
294
+ @status = args[:status] if args.key?(:status)
295
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
296
+ @steps = args[:steps] if args.key?(:steps)
297
+ @substitutions = args[:substitutions] if args.key?(:substitutions)
298
+ @tags = args[:tags] if args.key?(:tags)
299
+ @timeout = args[:timeout] if args.key?(:timeout)
300
+ @timing = args[:timing] if args.key?(:timing)
301
+ end
302
+ end
303
+
304
+ # Metadata for build operations.
305
+ class BuildOperationMetadata
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # A build resource in the Cloud Build API.
309
+ # At a high level, a `Build` describes where to find source code, how to build
310
+ # it (for example, the builder image to run on the source), and where to store
311
+ # the built artifacts.
312
+ # Fields can include the following variables, which will be expanded when the
313
+ # build is created:
314
+ # - $PROJECT_ID: the project ID of the build.
315
+ # - $BUILD_ID: the autogenerated ID of the build.
316
+ # - $REPO_NAME: the source repository name specified by RepoSource.
317
+ # - $BRANCH_NAME: the branch name specified by RepoSource.
318
+ # - $TAG_NAME: the tag name specified by RepoSource.
319
+ # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
320
+ # resolved from the specified branch or tag.
321
+ # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
322
+ # Corresponds to the JSON property `build`
323
+ # @return [Google::Apis::CloudbuildV1alpha1::Build]
324
+ attr_accessor :build
325
+
326
+ def initialize(**args)
327
+ update!(**args)
328
+ end
329
+
330
+ # Update properties of this object
331
+ def update!(**args)
332
+ @build = args[:build] if args.key?(:build)
333
+ end
334
+ end
335
+
336
+ # Optional arguments to enable specific features of builds.
337
+ class BuildOptions
338
+ include Google::Apis::Core::Hashable
339
+
340
+ # Requested disk size for the VM that runs the build. Note that this is *NOT*
341
+ # "disk free"; some of the space will be used by the operating system and
342
+ # build utilities. Also note that this is the minimum disk size that will be
343
+ # allocated for the build -- the build may run with a larger disk than
344
+ # requested. At present, the maximum disk size is 1000GB; builds that request
345
+ # more than the maximum are rejected with an error.
346
+ # Corresponds to the JSON property `diskSizeGb`
347
+ # @return [Fixnum]
348
+ attr_accessor :disk_size_gb
349
+
350
+ # A list of global environment variable definitions that will exist for all
351
+ # build steps in this build. If a variable is defined in both globally and in
352
+ # a build step, the variable will use the build step value.
353
+ # The elements are of the form "KEY=VALUE" for the environment variable "KEY"
354
+ # being given the value "VALUE".
355
+ # Corresponds to the JSON property `env`
356
+ # @return [Array<String>]
357
+ attr_accessor :env
358
+
359
+ # Option to define build log streaming behavior to Google Cloud
360
+ # Storage.
361
+ # Corresponds to the JSON property `logStreamingOption`
362
+ # @return [String]
363
+ attr_accessor :log_streaming_option
364
+
365
+ # Option to specify the logging mode, which determines where the logs are
366
+ # stored.
367
+ # Corresponds to the JSON property `logging`
368
+ # @return [String]
369
+ attr_accessor :logging
370
+
371
+ # Compute Engine machine type on which to run the build.
372
+ # Corresponds to the JSON property `machineType`
373
+ # @return [String]
374
+ attr_accessor :machine_type
375
+
376
+ # Requested verifiability options.
377
+ # Corresponds to the JSON property `requestedVerifyOption`
378
+ # @return [String]
379
+ attr_accessor :requested_verify_option
380
+
381
+ # A list of global environment variables, which are encrypted using a Cloud
382
+ # Key Management Service crypto key. These values must be specified in the
383
+ # build's `Secret`. These variables will be available to all build steps
384
+ # in this build.
385
+ # Corresponds to the JSON property `secretEnv`
386
+ # @return [Array<String>]
387
+ attr_accessor :secret_env
388
+
389
+ # Requested hash for SourceProvenance.
390
+ # Corresponds to the JSON property `sourceProvenanceHash`
391
+ # @return [Array<String>]
392
+ attr_accessor :source_provenance_hash
393
+
394
+ # Option to specify behavior when there is an error in the substitution
395
+ # checks.
396
+ # Corresponds to the JSON property `substitutionOption`
397
+ # @return [String]
398
+ attr_accessor :substitution_option
399
+
400
+ # Global list of volumes to mount for ALL build steps
401
+ # Each volume is created as an empty volume prior to starting the build
402
+ # process. Upon completion of the build, volumes and their contents are
403
+ # discarded. Global volume names and paths cannot conflict with the volumes
404
+ # defined a build step.
405
+ # Using a global volume in a build with only one step is not valid as
406
+ # it is indicative of a build request with an incorrect configuration.
407
+ # Corresponds to the JSON property `volumes`
408
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::Volume>]
409
+ attr_accessor :volumes
410
+
411
+ # Option to specify a `WorkerPool` for the build. User specifies the pool
412
+ # with the format "[WORKERPOOL_PROJECT_ID]/[WORKERPOOL_NAME]".
413
+ # This is an experimental field.
414
+ # Corresponds to the JSON property `workerPool`
415
+ # @return [String]
416
+ attr_accessor :worker_pool
417
+
418
+ def initialize(**args)
419
+ update!(**args)
420
+ end
421
+
422
+ # Update properties of this object
423
+ def update!(**args)
424
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
425
+ @env = args[:env] if args.key?(:env)
426
+ @log_streaming_option = args[:log_streaming_option] if args.key?(:log_streaming_option)
427
+ @logging = args[:logging] if args.key?(:logging)
428
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
429
+ @requested_verify_option = args[:requested_verify_option] if args.key?(:requested_verify_option)
430
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
431
+ @source_provenance_hash = args[:source_provenance_hash] if args.key?(:source_provenance_hash)
432
+ @substitution_option = args[:substitution_option] if args.key?(:substitution_option)
433
+ @volumes = args[:volumes] if args.key?(:volumes)
434
+ @worker_pool = args[:worker_pool] if args.key?(:worker_pool)
435
+ end
436
+ end
437
+
438
+ # A step in the build pipeline.
439
+ class BuildStep
440
+ include Google::Apis::Core::Hashable
441
+
442
+ # A list of arguments that will be presented to the step when it is started.
443
+ # If the image used to run the step's container has an entrypoint, the `args`
444
+ # are used as arguments to that entrypoint. If the image does not define
445
+ # an entrypoint, the first element in args is used as the entrypoint,
446
+ # and the remainder will be used as arguments.
447
+ # Corresponds to the JSON property `args`
448
+ # @return [Array<String>]
449
+ attr_accessor :args
450
+
451
+ # Working directory to use when running this step's container.
452
+ # If this value is a relative path, it is relative to the build's working
453
+ # directory. If this value is absolute, it may be outside the build's working
454
+ # directory, in which case the contents of the path may not be persisted
455
+ # across build step executions, unless a `volume` for that path is specified.
456
+ # If the build specifies a `RepoSource` with `dir` and a step with a `dir`,
457
+ # which specifies an absolute path, the `RepoSource` `dir` is ignored for
458
+ # the step's execution.
459
+ # Corresponds to the JSON property `dir`
460
+ # @return [String]
461
+ attr_accessor :dir
462
+
463
+ # Entrypoint to be used instead of the build step image's default entrypoint.
464
+ # If unset, the image's default entrypoint is used.
465
+ # Corresponds to the JSON property `entrypoint`
466
+ # @return [String]
467
+ attr_accessor :entrypoint
468
+
469
+ # A list of environment variable definitions to be used when running a step.
470
+ # The elements are of the form "KEY=VALUE" for the environment variable "KEY"
471
+ # being given the value "VALUE".
472
+ # Corresponds to the JSON property `env`
473
+ # @return [Array<String>]
474
+ attr_accessor :env
475
+
476
+ # Unique identifier for this build step, used in `wait_for` to
477
+ # reference this build step as a dependency.
478
+ # Corresponds to the JSON property `id`
479
+ # @return [String]
480
+ attr_accessor :id
481
+
482
+ # Required. The name of the container image that will run this particular
483
+ # build step.
484
+ # If the image is available in the host's Docker daemon's cache, it
485
+ # will be run directly. If not, the host will attempt to pull the image
486
+ # first, using the builder service account's credentials if necessary.
487
+ # The Docker daemon's cache will already have the latest versions of all of
488
+ # the officially supported build steps
489
+ # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/
490
+ # GoogleCloudPlatform/cloud-builders)).
491
+ # The Docker daemon will also have cached many of the layers for some popular
492
+ # images, like "ubuntu", "debian", but they will be refreshed at the time you
493
+ # attempt to use them.
494
+ # If you built an image in a previous build step, it will be stored in the
495
+ # host's Docker daemon's cache and is available to use as the name for a
496
+ # later build step.
497
+ # Corresponds to the JSON property `name`
498
+ # @return [String]
499
+ attr_accessor :name
500
+
501
+ # Start and end times for a build execution phase.
502
+ # Corresponds to the JSON property `pullTiming`
503
+ # @return [Google::Apis::CloudbuildV1alpha1::TimeSpan]
504
+ attr_accessor :pull_timing
505
+
506
+ # A list of environment variables which are encrypted using a Cloud Key
507
+ # Management Service crypto key. These values must be specified in the
508
+ # build's `Secret`.
509
+ # Corresponds to the JSON property `secretEnv`
510
+ # @return [Array<String>]
511
+ attr_accessor :secret_env
512
+
513
+ # Output only. Status of the build step. At this time, build step status is
514
+ # only updated on build completion; step status is not updated in real-time
515
+ # as the build progresses.
516
+ # Corresponds to the JSON property `status`
517
+ # @return [String]
518
+ attr_accessor :status
519
+
520
+ # Time limit for executing this build step. If not defined, the step has no
521
+ # time limit and will be allowed to continue to run until either it completes
522
+ # or the build itself times out.
523
+ # Corresponds to the JSON property `timeout`
524
+ # @return [String]
525
+ attr_accessor :timeout
526
+
527
+ # Start and end times for a build execution phase.
528
+ # Corresponds to the JSON property `timing`
529
+ # @return [Google::Apis::CloudbuildV1alpha1::TimeSpan]
530
+ attr_accessor :timing
531
+
532
+ # List of volumes to mount into the build step.
533
+ # Each volume is created as an empty volume prior to execution of the
534
+ # build step. Upon completion of the build, volumes and their contents are
535
+ # discarded.
536
+ # Using a named volume in only one step is not valid as it is indicative
537
+ # of a build request with an incorrect configuration.
538
+ # Corresponds to the JSON property `volumes`
539
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::Volume>]
540
+ attr_accessor :volumes
541
+
542
+ # The ID(s) of the step(s) that this build step depends on.
543
+ # This build step will not start until all the build steps in `wait_for`
544
+ # have completed successfully. If `wait_for` is empty, this build step will
545
+ # start when all previous build steps in the `Build.Steps` list have
546
+ # completed successfully.
547
+ # Corresponds to the JSON property `waitFor`
548
+ # @return [Array<String>]
549
+ attr_accessor :wait_for
550
+
551
+ def initialize(**args)
552
+ update!(**args)
553
+ end
554
+
555
+ # Update properties of this object
556
+ def update!(**args)
557
+ @args = args[:args] if args.key?(:args)
558
+ @dir = args[:dir] if args.key?(:dir)
559
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
560
+ @env = args[:env] if args.key?(:env)
561
+ @id = args[:id] if args.key?(:id)
562
+ @name = args[:name] if args.key?(:name)
563
+ @pull_timing = args[:pull_timing] if args.key?(:pull_timing)
564
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
565
+ @status = args[:status] if args.key?(:status)
566
+ @timeout = args[:timeout] if args.key?(:timeout)
567
+ @timing = args[:timing] if args.key?(:timing)
568
+ @volumes = args[:volumes] if args.key?(:volumes)
569
+ @wait_for = args[:wait_for] if args.key?(:wait_for)
570
+ end
571
+ end
572
+
573
+ # An image built by the pipeline.
574
+ class BuiltImage
575
+ include Google::Apis::Core::Hashable
576
+
577
+ # Docker Registry 2.0 digest.
578
+ # Corresponds to the JSON property `digest`
579
+ # @return [String]
580
+ attr_accessor :digest
581
+
582
+ # Name used to push the container image to Google Container Registry, as
583
+ # presented to `docker push`.
584
+ # Corresponds to the JSON property `name`
585
+ # @return [String]
586
+ attr_accessor :name
587
+
588
+ # Start and end times for a build execution phase.
589
+ # Corresponds to the JSON property `pushTiming`
590
+ # @return [Google::Apis::CloudbuildV1alpha1::TimeSpan]
591
+ attr_accessor :push_timing
592
+
593
+ def initialize(**args)
594
+ update!(**args)
595
+ end
596
+
597
+ # Update properties of this object
598
+ def update!(**args)
599
+ @digest = args[:digest] if args.key?(:digest)
600
+ @name = args[:name] if args.key?(:name)
601
+ @push_timing = args[:push_timing] if args.key?(:push_timing)
602
+ end
603
+ end
604
+
605
+ # A generic empty message that you can re-use to avoid defining duplicated
606
+ # empty messages in your APIs. A typical example is to use it as the request
607
+ # or the response type of an API method. For instance:
608
+ # service Foo `
609
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
610
+ # `
611
+ # The JSON representation for `Empty` is empty JSON object ````.
612
+ class Empty
613
+ include Google::Apis::Core::Hashable
614
+
615
+ def initialize(**args)
616
+ update!(**args)
617
+ end
618
+
619
+ # Update properties of this object
620
+ def update!(**args)
621
+ end
622
+ end
623
+
624
+ # Container message for hashes of byte content of files, used in
625
+ # SourceProvenance messages to verify integrity of source input to the build.
626
+ class FileHashes
627
+ include Google::Apis::Core::Hashable
628
+
629
+ # Collection of file hashes.
630
+ # Corresponds to the JSON property `fileHash`
631
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::HashProp>]
632
+ attr_accessor :file_hash
633
+
634
+ def initialize(**args)
635
+ update!(**args)
636
+ end
637
+
638
+ # Update properties of this object
639
+ def update!(**args)
640
+ @file_hash = args[:file_hash] if args.key?(:file_hash)
641
+ end
642
+ end
643
+
644
+ # Container message for hash values.
645
+ class HashProp
646
+ include Google::Apis::Core::Hashable
647
+
648
+ # The type of hash that was performed.
649
+ # Corresponds to the JSON property `type`
650
+ # @return [String]
651
+ attr_accessor :type
652
+
653
+ # The hash value.
654
+ # Corresponds to the JSON property `value`
655
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
656
+ # @return [String]
657
+ attr_accessor :value
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @type = args[:type] if args.key?(:type)
666
+ @value = args[:value] if args.key?(:value)
667
+ end
668
+ end
669
+
670
+ # Response containing existing `WorkerPools`.
671
+ class ListWorkerPoolsResponse
672
+ include Google::Apis::Core::Hashable
673
+
674
+ # `WorkerPools` for the project.
675
+ # Corresponds to the JSON property `workerPools`
676
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::WorkerPool>]
677
+ attr_accessor :worker_pools
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @worker_pools = args[:worker_pools] if args.key?(:worker_pools)
686
+ end
687
+ end
688
+
689
+ # Network describes the GCP network used to create workers in.
690
+ class Network
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Network on which the workers are created.
694
+ # “default” network is used if empty.
695
+ # Corresponds to the JSON property `network`
696
+ # @return [String]
697
+ attr_accessor :network
698
+
699
+ # Project id containing the defined network and subnetwork. For a peered VPC,
700
+ # this will be the same as the project_id in which the workers are created.
701
+ # For a shared VPC, this will be the project sharing the network with the
702
+ # project_id project in which workers will be created. For custom workers
703
+ # with no VPC, this will be the same as project_id.
704
+ # Corresponds to the JSON property `projectId`
705
+ # @return [String]
706
+ attr_accessor :project_id
707
+
708
+ # Subnetwork on which the workers are created.
709
+ # “default” subnetwork is used if empty.
710
+ # Corresponds to the JSON property `subnetwork`
711
+ # @return [String]
712
+ attr_accessor :subnetwork
713
+
714
+ def initialize(**args)
715
+ update!(**args)
716
+ end
717
+
718
+ # Update properties of this object
719
+ def update!(**args)
720
+ @network = args[:network] if args.key?(:network)
721
+ @project_id = args[:project_id] if args.key?(:project_id)
722
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
723
+ end
724
+ end
725
+
726
+ # Location of the source in a Google Cloud Source Repository.
727
+ class RepoSource
728
+ include Google::Apis::Core::Hashable
729
+
730
+ # Name of the branch to build.
731
+ # Corresponds to the JSON property `branchName`
732
+ # @return [String]
733
+ attr_accessor :branch_name
734
+
735
+ # Explicit commit SHA to build.
736
+ # Corresponds to the JSON property `commitSha`
737
+ # @return [String]
738
+ attr_accessor :commit_sha
739
+
740
+ # Directory, relative to the source root, in which to run the build.
741
+ # This must be a relative path. If a step's `dir` is specified and is an
742
+ # absolute path, this value is ignored for that step's execution.
743
+ # Corresponds to the JSON property `dir`
744
+ # @return [String]
745
+ attr_accessor :dir
746
+
747
+ # ID of the project that owns the Cloud Source Repository. If omitted, the
748
+ # project ID requesting the build is assumed.
749
+ # Corresponds to the JSON property `projectId`
750
+ # @return [String]
751
+ attr_accessor :project_id
752
+
753
+ # Name of the Cloud Source Repository. If omitted, the name "default" is
754
+ # assumed.
755
+ # Corresponds to the JSON property `repoName`
756
+ # @return [String]
757
+ attr_accessor :repo_name
758
+
759
+ # Name of the tag to build.
760
+ # Corresponds to the JSON property `tagName`
761
+ # @return [String]
762
+ attr_accessor :tag_name
763
+
764
+ def initialize(**args)
765
+ update!(**args)
766
+ end
767
+
768
+ # Update properties of this object
769
+ def update!(**args)
770
+ @branch_name = args[:branch_name] if args.key?(:branch_name)
771
+ @commit_sha = args[:commit_sha] if args.key?(:commit_sha)
772
+ @dir = args[:dir] if args.key?(:dir)
773
+ @project_id = args[:project_id] if args.key?(:project_id)
774
+ @repo_name = args[:repo_name] if args.key?(:repo_name)
775
+ @tag_name = args[:tag_name] if args.key?(:tag_name)
776
+ end
777
+ end
778
+
779
+ # Artifacts created by the build pipeline.
780
+ class Results
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # Path to the artifact manifest. Only populated when artifacts are uploaded.
784
+ # Corresponds to the JSON property `artifactManifest`
785
+ # @return [String]
786
+ attr_accessor :artifact_manifest
787
+
788
+ # List of build step digests, in the order corresponding to build step
789
+ # indices.
790
+ # Corresponds to the JSON property `buildStepImages`
791
+ # @return [Array<String>]
792
+ attr_accessor :build_step_images
793
+
794
+ # List of build step outputs, produced by builder images, in the order
795
+ # corresponding to build step indices.
796
+ # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
797
+ # can produce this output by writing to `$BUILDER_OUTPUT/output`.
798
+ # Only the first 4KB of data is stored.
799
+ # Corresponds to the JSON property `buildStepOutputs`
800
+ # @return [Array<String>]
801
+ attr_accessor :build_step_outputs
802
+
803
+ # Container images that were built as a part of the build.
804
+ # Corresponds to the JSON property `images`
805
+ # @return [Array<Google::Apis::CloudbuildV1alpha1::BuiltImage>]
806
+ attr_accessor :images
807
+
808
+ # Number of artifacts uploaded. Only populated when artifacts are uploaded.
809
+ # Corresponds to the JSON property `numArtifacts`
810
+ # @return [Fixnum]
811
+ attr_accessor :num_artifacts
812
+
813
+ def initialize(**args)
814
+ update!(**args)
815
+ end
816
+
817
+ # Update properties of this object
818
+ def update!(**args)
819
+ @artifact_manifest = args[:artifact_manifest] if args.key?(:artifact_manifest)
820
+ @build_step_images = args[:build_step_images] if args.key?(:build_step_images)
821
+ @build_step_outputs = args[:build_step_outputs] if args.key?(:build_step_outputs)
822
+ @images = args[:images] if args.key?(:images)
823
+ @num_artifacts = args[:num_artifacts] if args.key?(:num_artifacts)
824
+ end
825
+ end
826
+
827
+ # Pairs a set of secret environment variables containing encrypted
828
+ # values with the Cloud KMS key to use to decrypt the value.
829
+ class Secret
830
+ include Google::Apis::Core::Hashable
831
+
832
+ # Cloud KMS key name to use to decrypt these envs.
833
+ # Corresponds to the JSON property `kmsKeyName`
834
+ # @return [String]
835
+ attr_accessor :kms_key_name
836
+
837
+ # Map of environment variable name to its encrypted value.
838
+ # Secret environment variables must be unique across all of a build's
839
+ # secrets, and must be used by at least one build step. Values can be at most
840
+ # 64 KB in size. There can be at most 100 secret values across all of a
841
+ # build's secrets.
842
+ # Corresponds to the JSON property `secretEnv`
843
+ # @return [Hash<String,String>]
844
+ attr_accessor :secret_env
845
+
846
+ def initialize(**args)
847
+ update!(**args)
848
+ end
849
+
850
+ # Update properties of this object
851
+ def update!(**args)
852
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
853
+ @secret_env = args[:secret_env] if args.key?(:secret_env)
854
+ end
855
+ end
856
+
857
+ # Location of the source in a supported storage service.
858
+ class Source
859
+ include Google::Apis::Core::Hashable
860
+
861
+ # Location of the source in a Google Cloud Source Repository.
862
+ # Corresponds to the JSON property `repoSource`
863
+ # @return [Google::Apis::CloudbuildV1alpha1::RepoSource]
864
+ attr_accessor :repo_source
865
+
866
+ # Location of the source in an archive file in Google Cloud Storage.
867
+ # Corresponds to the JSON property `storageSource`
868
+ # @return [Google::Apis::CloudbuildV1alpha1::StorageSource]
869
+ attr_accessor :storage_source
870
+
871
+ def initialize(**args)
872
+ update!(**args)
873
+ end
874
+
875
+ # Update properties of this object
876
+ def update!(**args)
877
+ @repo_source = args[:repo_source] if args.key?(:repo_source)
878
+ @storage_source = args[:storage_source] if args.key?(:storage_source)
879
+ end
880
+ end
881
+
882
+ # Provenance of the source. Ways to find the original source, or verify that
883
+ # some source was used for this build.
884
+ class SourceProvenance
885
+ include Google::Apis::Core::Hashable
886
+
887
+ # Output only. Hash(es) of the build source, which can be used to verify that
888
+ # the originalsource integrity was maintained in the build. Note that
889
+ # `FileHashes` willonly be populated if `BuildOptions` has requested a
890
+ # `SourceProvenanceHash`.
891
+ # The keys to this map are file paths used as build source and the values
892
+ # contain the hash values for those files.
893
+ # If the build source came in a single package such as a gzipped tarfile
894
+ # (`.tar.gz`), the `FileHash` will be for the single path to that file.
895
+ # Corresponds to the JSON property `fileHashes`
896
+ # @return [Hash<String,Google::Apis::CloudbuildV1alpha1::FileHashes>]
897
+ attr_accessor :file_hashes
898
+
899
+ # Location of the source in a Google Cloud Source Repository.
900
+ # Corresponds to the JSON property `resolvedRepoSource`
901
+ # @return [Google::Apis::CloudbuildV1alpha1::RepoSource]
902
+ attr_accessor :resolved_repo_source
903
+
904
+ # Location of the source in an archive file in Google Cloud Storage.
905
+ # Corresponds to the JSON property `resolvedStorageSource`
906
+ # @return [Google::Apis::CloudbuildV1alpha1::StorageSource]
907
+ attr_accessor :resolved_storage_source
908
+
909
+ def initialize(**args)
910
+ update!(**args)
911
+ end
912
+
913
+ # Update properties of this object
914
+ def update!(**args)
915
+ @file_hashes = args[:file_hashes] if args.key?(:file_hashes)
916
+ @resolved_repo_source = args[:resolved_repo_source] if args.key?(:resolved_repo_source)
917
+ @resolved_storage_source = args[:resolved_storage_source] if args.key?(:resolved_storage_source)
918
+ end
919
+ end
920
+
921
+ # Location of the source in an archive file in Google Cloud Storage.
922
+ class StorageSource
923
+ include Google::Apis::Core::Hashable
924
+
925
+ # Google Cloud Storage bucket containing the source (see
926
+ # [Bucket Name
927
+ # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)
928
+ # ).
929
+ # Corresponds to the JSON property `bucket`
930
+ # @return [String]
931
+ attr_accessor :bucket
932
+
933
+ # Google Cloud Storage generation for the object. If the generation is
934
+ # omitted, the latest generation will be used.
935
+ # Corresponds to the JSON property `generation`
936
+ # @return [Fixnum]
937
+ attr_accessor :generation
938
+
939
+ # Google Cloud Storage object containing the source.
940
+ # This object must be a gzipped archive file (`.tar.gz`) containing source to
941
+ # build.
942
+ # Corresponds to the JSON property `object`
943
+ # @return [String]
944
+ attr_accessor :object
945
+
946
+ def initialize(**args)
947
+ update!(**args)
948
+ end
949
+
950
+ # Update properties of this object
951
+ def update!(**args)
952
+ @bucket = args[:bucket] if args.key?(:bucket)
953
+ @generation = args[:generation] if args.key?(:generation)
954
+ @object = args[:object] if args.key?(:object)
955
+ end
956
+ end
957
+
958
+ # Start and end times for a build execution phase.
959
+ class TimeSpan
960
+ include Google::Apis::Core::Hashable
961
+
962
+ # End of time span.
963
+ # Corresponds to the JSON property `endTime`
964
+ # @return [String]
965
+ attr_accessor :end_time
966
+
967
+ # Start of time span.
968
+ # Corresponds to the JSON property `startTime`
969
+ # @return [String]
970
+ attr_accessor :start_time
971
+
972
+ def initialize(**args)
973
+ update!(**args)
974
+ end
975
+
976
+ # Update properties of this object
977
+ def update!(**args)
978
+ @end_time = args[:end_time] if args.key?(:end_time)
979
+ @start_time = args[:start_time] if args.key?(:start_time)
980
+ end
981
+ end
982
+
983
+ # Volume describes a Docker container volume which is mounted into build steps
984
+ # in order to persist files across build step execution.
985
+ class Volume
986
+ include Google::Apis::Core::Hashable
987
+
988
+ # Name of the volume to mount.
989
+ # Volume names must be unique per build step and must be valid names for
990
+ # Docker volumes. Each named volume must be used by at least two build steps.
991
+ # Corresponds to the JSON property `name`
992
+ # @return [String]
993
+ attr_accessor :name
994
+
995
+ # Path at which to mount the volume.
996
+ # Paths must be absolute and cannot conflict with other volume paths on the
997
+ # same build step or with certain reserved volume paths.
998
+ # Corresponds to the JSON property `path`
999
+ # @return [String]
1000
+ attr_accessor :path
1001
+
1002
+ def initialize(**args)
1003
+ update!(**args)
1004
+ end
1005
+
1006
+ # Update properties of this object
1007
+ def update!(**args)
1008
+ @name = args[:name] if args.key?(:name)
1009
+ @path = args[:path] if args.key?(:path)
1010
+ end
1011
+ end
1012
+
1013
+ # WorkerConfig defines the configuration to be used for a creating workers in
1014
+ # the pool.
1015
+ class WorkerConfig
1016
+ include Google::Apis::Core::Hashable
1017
+
1018
+ # Size of the disk attached to the worker, in GB.
1019
+ # See https://cloud.google.com/compute/docs/disks/
1020
+ # If `0` is specified, Cloud Build will use a standard disk size.
1021
+ # `disk_size` is overridden if you specify a different disk size in
1022
+ # `build_options`. In this case, a VM with a disk size specified in the
1023
+ # `build_options` will be created on demand at build time. For more
1024
+ # information see
1025
+ # https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.
1026
+ # builds#buildoptions
1027
+ # Corresponds to the JSON property `diskSizeGb`
1028
+ # @return [Fixnum]
1029
+ attr_accessor :disk_size_gb
1030
+
1031
+ # Machine Type of the worker, such as n1-standard-1.
1032
+ # See https://cloud.google.com/compute/docs/machine-types.
1033
+ # If left blank, Cloud Build will use a standard unspecified machine to
1034
+ # create the worker pool.
1035
+ # `machine_type` is overridden if you specify a different machine type in
1036
+ # `build_options`. In this case, the VM specified in the `build_options`
1037
+ # will be created on demand at build time. For more information see
1038
+ # https://cloud.google.com/cloud-build/docs/speeding-up-builds#
1039
+ # using_custom_virtual_machine_sizes
1040
+ # Corresponds to the JSON property `machineType`
1041
+ # @return [String]
1042
+ attr_accessor :machine_type
1043
+
1044
+ # Network describes the GCP network used to create workers in.
1045
+ # Corresponds to the JSON property `network`
1046
+ # @return [Google::Apis::CloudbuildV1alpha1::Network]
1047
+ attr_accessor :network
1048
+
1049
+ # The tag applied to the worker, and the same tag used by the firewall rule.
1050
+ # It is used to identify the Cloud Build workers among other VMs.
1051
+ # The default value for tag is `worker`.
1052
+ # Corresponds to the JSON property `tag`
1053
+ # @return [String]
1054
+ attr_accessor :tag
1055
+
1056
+ def initialize(**args)
1057
+ update!(**args)
1058
+ end
1059
+
1060
+ # Update properties of this object
1061
+ def update!(**args)
1062
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
1063
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1064
+ @network = args[:network] if args.key?(:network)
1065
+ @tag = args[:tag] if args.key?(:tag)
1066
+ end
1067
+ end
1068
+
1069
+ # Configuration for a WorkerPool to run the builds.
1070
+ # Workers are machines that Cloud Build uses to run your builds. By default,
1071
+ # all workers run in a project owned by Cloud Build. To have full control over
1072
+ # the workers that execute your builds -- such as enabling them to access
1073
+ # private resources on your private network -- you can request Cloud Build to
1074
+ # run the workers in your own project by creating a custom workers pool.
1075
+ class WorkerPool
1076
+ include Google::Apis::Core::Hashable
1077
+
1078
+ # Output only. Time at which the request to create the `WorkerPool` was
1079
+ # received.
1080
+ # Corresponds to the JSON property `createTime`
1081
+ # @return [String]
1082
+ attr_accessor :create_time
1083
+
1084
+ # Output only. Time at which the request to delete the `WorkerPool` was
1085
+ # received.
1086
+ # Corresponds to the JSON property `deleteTime`
1087
+ # @return [String]
1088
+ attr_accessor :delete_time
1089
+
1090
+ # User-defined name of the `WorkerPool`.
1091
+ # Corresponds to the JSON property `name`
1092
+ # @return [String]
1093
+ attr_accessor :name
1094
+
1095
+ # The project ID of the GCP project in which the `WorkerPool` is created.
1096
+ # Corresponds to the JSON property `projectId`
1097
+ # @return [String]
1098
+ attr_accessor :project_id
1099
+
1100
+ # List of regions to create the `WorkerPool`. Regions can’t be empty.
1101
+ # If Cloud Build adds a new GCP region in the future, the existing
1102
+ # `WorkerPool` will not be enabled in the new region automatically;
1103
+ # you must add the new region to the `regions` field to enable the
1104
+ # `WorkerPool` in that region.
1105
+ # Corresponds to the JSON property `regions`
1106
+ # @return [Array<String>]
1107
+ attr_accessor :regions
1108
+
1109
+ # Output only. The service account used to manage the `WorkerPool`. The
1110
+ # service account must have the Compute Instance Admin (Beta) permission at
1111
+ # the project level.
1112
+ # Corresponds to the JSON property `serviceAccountEmail`
1113
+ # @return [String]
1114
+ attr_accessor :service_account_email
1115
+
1116
+ # Output only. WorkerPool Status.
1117
+ # Corresponds to the JSON property `status`
1118
+ # @return [String]
1119
+ attr_accessor :status
1120
+
1121
+ # Output only. Time at which the request to update the `WorkerPool` was
1122
+ # received.
1123
+ # Corresponds to the JSON property `updateTime`
1124
+ # @return [String]
1125
+ attr_accessor :update_time
1126
+
1127
+ # WorkerConfig defines the configuration to be used for a creating workers in
1128
+ # the pool.
1129
+ # Corresponds to the JSON property `workerConfig`
1130
+ # @return [Google::Apis::CloudbuildV1alpha1::WorkerConfig]
1131
+ attr_accessor :worker_config
1132
+
1133
+ # Total number of workers to be created across all requested regions.
1134
+ # Corresponds to the JSON property `workerCount`
1135
+ # @return [Fixnum]
1136
+ attr_accessor :worker_count
1137
+
1138
+ def initialize(**args)
1139
+ update!(**args)
1140
+ end
1141
+
1142
+ # Update properties of this object
1143
+ def update!(**args)
1144
+ @create_time = args[:create_time] if args.key?(:create_time)
1145
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
1146
+ @name = args[:name] if args.key?(:name)
1147
+ @project_id = args[:project_id] if args.key?(:project_id)
1148
+ @regions = args[:regions] if args.key?(:regions)
1149
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
1150
+ @status = args[:status] if args.key?(:status)
1151
+ @update_time = args[:update_time] if args.key?(:update_time)
1152
+ @worker_config = args[:worker_config] if args.key?(:worker_config)
1153
+ @worker_count = args[:worker_count] if args.key?(:worker_count)
1154
+ end
1155
+ end
1156
+ end
1157
+ end
1158
+ end