google-api-client 0.26.0 → 0.27.0

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