google-api-client 0.33.0 → 0.33.1

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1/classes.rb +19 -0
  5. data/generated/google/apis/accessapproval_v1beta1/representations.rb +12 -0
  6. data/generated/google/apis/accessapproval_v1beta1/service.rb +105 -0
  7. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  8. data/generated/google/apis/accesscontextmanager_v1/classes.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  10. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +1 -1
  11. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  13. data/generated/google/apis/androidpublisher_v3/classes.rb +6 -0
  14. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  15. data/generated/google/apis/bigquery_v2.rb +1 -1
  16. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  17. data/generated/google/apis/bigquery_v2/representations.rb +2 -0
  18. data/generated/google/apis/bigqueryconnection_v1beta1.rb +1 -1
  19. data/generated/google/apis/bigqueryconnection_v1beta1/service.rb +1 -1
  20. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  21. data/generated/google/apis/binaryauthorization_v1/service.rb +2 -0
  22. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  23. data/generated/google/apis/binaryauthorization_v1beta1/service.rb +2 -0
  24. data/generated/google/apis/cloudasset_v1.rb +1 -1
  25. data/generated/google/apis/cloudasset_v1/classes.rb +14 -15
  26. data/generated/google/apis/cloudasset_v1/service.rb +1 -2
  27. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  28. data/generated/google/apis/clouddebugger_v2/service.rb +14 -14
  29. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  30. data/generated/google/apis/cloudidentity_v1/classes.rb +11 -8
  31. data/generated/google/apis/cloudidentity_v1/service.rb +2 -1
  32. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  33. data/generated/google/apis/cloudidentity_v1beta1/classes.rb +11 -8
  34. data/generated/google/apis/cloudidentity_v1beta1/service.rb +2 -1
  35. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  36. data/generated/google/apis/cloudsearch_v1/classes.rb +5 -2
  37. data/generated/google/apis/cloudsearch_v1/service.rb +5 -2
  38. data/generated/google/apis/cloudshell_v1.rb +1 -1
  39. data/generated/google/apis/cloudshell_v1/classes.rb +15 -0
  40. data/generated/google/apis/cloudshell_v1/representations.rb +2 -0
  41. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  42. data/generated/google/apis/cloudshell_v1alpha1/classes.rb +15 -0
  43. data/generated/google/apis/cloudshell_v1alpha1/representations.rb +2 -0
  44. data/generated/google/apis/compute_alpha.rb +1 -1
  45. data/generated/google/apis/compute_alpha/classes.rb +481 -126
  46. data/generated/google/apis/compute_alpha/representations.rb +107 -2
  47. data/generated/google/apis/compute_alpha/service.rb +1035 -640
  48. data/generated/google/apis/compute_beta.rb +1 -1
  49. data/generated/google/apis/compute_beta/classes.rb +986 -241
  50. data/generated/google/apis/compute_beta/representations.rb +284 -0
  51. data/generated/google/apis/compute_beta/service.rb +1242 -532
  52. data/generated/google/apis/compute_v1.rb +1 -1
  53. data/generated/google/apis/compute_v1/classes.rb +252 -99
  54. data/generated/google/apis/compute_v1/representations.rb +24 -0
  55. data/generated/google/apis/compute_v1/service.rb +749 -472
  56. data/generated/google/apis/docs_v1.rb +1 -1
  57. data/generated/google/apis/docs_v1/classes.rb +63 -0
  58. data/generated/google/apis/docs_v1/representations.rb +17 -0
  59. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  60. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  61. data/generated/google/apis/healthcare_v1beta1/classes.rb +203 -8
  62. data/generated/google/apis/healthcare_v1beta1/representations.rb +101 -0
  63. data/generated/google/apis/healthcare_v1beta1/service.rb +100 -3
  64. data/generated/google/apis/iam_v1.rb +1 -1
  65. data/generated/google/apis/iam_v1/classes.rb +1 -1
  66. data/generated/google/apis/iap_v1.rb +1 -1
  67. data/generated/google/apis/iap_v1/classes.rb +185 -0
  68. data/generated/google/apis/iap_v1/representations.rb +102 -0
  69. data/generated/google/apis/iap_v1/service.rb +72 -0
  70. data/generated/google/apis/{speech_v2beta.rb → lifesciences_v2beta.rb} +9 -8
  71. data/generated/google/apis/lifesciences_v2beta/classes.rb +1328 -0
  72. data/generated/google/apis/lifesciences_v2beta/representations.rb +533 -0
  73. data/generated/google/apis/lifesciences_v2beta/service.rb +303 -0
  74. data/generated/google/apis/monitoring_v1.rb +36 -0
  75. data/generated/google/apis/monitoring_v1/classes.rb +260 -0
  76. data/generated/google/apis/monitoring_v1/representations.rb +123 -0
  77. data/generated/google/apis/monitoring_v1/service.rb +64 -0
  78. data/generated/google/apis/policytroubleshooter_v1beta.rb +1 -1
  79. data/generated/google/apis/run_v1.rb +1 -1
  80. data/generated/google/apis/run_v1/classes.rb +0 -7
  81. data/generated/google/apis/run_v1/service.rb +156 -94
  82. data/generated/google/apis/sql_v1beta4.rb +37 -0
  83. data/generated/google/apis/sql_v1beta4/classes.rb +2689 -0
  84. data/generated/google/apis/sql_v1beta4/representations.rb +1099 -0
  85. data/generated/google/apis/sql_v1beta4/service.rb +1660 -0
  86. data/generated/google/apis/testing_v1.rb +1 -1
  87. data/generated/google/apis/testing_v1/classes.rb +1 -1
  88. data/generated/google/apis/vision_v1.rb +1 -1
  89. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  90. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  91. data/lib/google/apis/version.rb +1 -1
  92. metadata +14 -6
  93. data/generated/google/apis/speech_v2beta/classes.rb +0 -355
  94. data/generated/google/apis/speech_v2beta/representations.rb +0 -152
  95. data/generated/google/apis/speech_v2beta/service.rb +0 -138
@@ -84,6 +84,38 @@ module Google
84
84
  execute_or_queue_command(command, &block)
85
85
  end
86
86
 
87
+ # Gets the IAP settings on a particular IAP protected resource.
88
+ # @param [String] name
89
+ # Required. The resource name for which to retrieve the settings.
90
+ # Authorization: Requires the `getSettings` permission for the associated
91
+ # resource.
92
+ # @param [String] fields
93
+ # Selector specifying which fields to include in a partial response.
94
+ # @param [String] quota_user
95
+ # Available to use for quota purposes for server-side applications. Can be any
96
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
97
+ # @param [Google::Apis::RequestOptions] options
98
+ # Request-specific options
99
+ #
100
+ # @yield [result, err] Result & error if block supplied
101
+ # @yieldparam result [Google::Apis::IapV1::IapSettings] parsed result object
102
+ # @yieldparam err [StandardError] error object if request failed
103
+ #
104
+ # @return [Google::Apis::IapV1::IapSettings]
105
+ #
106
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
107
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
108
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
109
+ def get_iap_settings(name, fields: nil, quota_user: nil, options: nil, &block)
110
+ command = make_simple_command(:get, 'v1/{+name}:iapSettings', options)
111
+ command.response_representation = Google::Apis::IapV1::IapSettings::Representation
112
+ command.response_class = Google::Apis::IapV1::IapSettings
113
+ command.params['name'] = name unless name.nil?
114
+ command.query['fields'] = fields unless fields.nil?
115
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
116
+ execute_or_queue_command(command, &block)
117
+ end
118
+
87
119
  # Sets the access control policy for an Identity-Aware Proxy protected
88
120
  # resource. Replaces any existing policy.
89
121
  # More information about managing access via IAP can be found at:
@@ -157,6 +189,46 @@ module Google
157
189
  command.query['quotaUser'] = quota_user unless quota_user.nil?
158
190
  execute_or_queue_command(command, &block)
159
191
  end
192
+
193
+ # Updates the IAP settings on a particular IAP protected resource. It
194
+ # replaces all fields unless the `update_mask` is set.
195
+ # @param [String] name
196
+ # Required. The resource name of the IAP protected resource.
197
+ # @param [Google::Apis::IapV1::IapSettings] iap_settings_object
198
+ # @param [String] update_mask
199
+ # The field mask specifying which IAP settings should be updated.
200
+ # If omitted, the all of the settings are updated. See
201
+ # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#
202
+ # fieldmask
203
+ # @param [String] fields
204
+ # Selector specifying which fields to include in a partial response.
205
+ # @param [String] quota_user
206
+ # Available to use for quota purposes for server-side applications. Can be any
207
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
208
+ # @param [Google::Apis::RequestOptions] options
209
+ # Request-specific options
210
+ #
211
+ # @yield [result, err] Result & error if block supplied
212
+ # @yieldparam result [Google::Apis::IapV1::IapSettings] parsed result object
213
+ # @yieldparam err [StandardError] error object if request failed
214
+ #
215
+ # @return [Google::Apis::IapV1::IapSettings]
216
+ #
217
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
218
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
219
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
220
+ def update_iap_settings(name, iap_settings_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
221
+ command = make_simple_command(:patch, 'v1/{+name}:iapSettings', options)
222
+ command.request_representation = Google::Apis::IapV1::IapSettings::Representation
223
+ command.request_object = iap_settings_object
224
+ command.response_representation = Google::Apis::IapV1::IapSettings::Representation
225
+ command.response_class = Google::Apis::IapV1::IapSettings
226
+ command.params['name'] = name unless name.nil?
227
+ command.query['updateMask'] = update_mask unless update_mask.nil?
228
+ command.query['fields'] = fields unless fields.nil?
229
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
230
+ execute_or_queue_command(command, &block)
231
+ end
160
232
 
161
233
  protected
162
234
 
@@ -12,20 +12,21 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'google/apis/speech_v2beta/service.rb'
16
- require 'google/apis/speech_v2beta/classes.rb'
17
- require 'google/apis/speech_v2beta/representations.rb'
15
+ require 'google/apis/lifesciences_v2beta/service.rb'
16
+ require 'google/apis/lifesciences_v2beta/classes.rb'
17
+ require 'google/apis/lifesciences_v2beta/representations.rb'
18
18
 
19
19
  module Google
20
20
  module Apis
21
- # Cloud Speech-to-Text API
21
+ # Cloud Life Sciences API
22
22
  #
23
- # Converts audio to text by applying powerful neural network models.
23
+ # Cloud Life Sciences is a suite of services and tools for managing, processing,
24
+ # and transforming life sciences data.
24
25
  #
25
- # @see https://cloud.google.com/speech-to-text/docs/quickstart-protocol
26
- module SpeechV2beta
26
+ # @see https://cloud.google.com/life-sciences
27
+ module LifesciencesV2beta
27
28
  VERSION = 'V2beta'
28
- REVISION = '20190918'
29
+ REVISION = '20191015'
29
30
 
30
31
  # View and manage your data across Google Cloud Platform services
31
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -0,0 +1,1328 @@
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 LifesciencesV2beta
24
+
25
+ # Carries information about an accelerator that can be attached to a VM.
26
+ class Accelerator
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # How many accelerators of this type to attach.
30
+ # Corresponds to the JSON property `count`
31
+ # @return [Fixnum]
32
+ attr_accessor :count
33
+
34
+ # The accelerator type string (for example, "nvidia-tesla-k80").
35
+ # Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
36
+ # attached, the required runtime libraries will be made available to all
37
+ # containers under `/usr/local/nvidia`. The driver version to install must
38
+ # be specified using the NVIDIA driver version parameter on the virtual
39
+ # machine specification. Note that attaching a GPU increases the worker VM
40
+ # startup time by a few minutes.
41
+ # Corresponds to the JSON property `type`
42
+ # @return [String]
43
+ attr_accessor :type
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ @count = args[:count] if args.key?(:count)
52
+ @type = args[:type] if args.key?(:type)
53
+ end
54
+ end
55
+
56
+ # Specifies a single action that runs a Docker container.
57
+ class Action
58
+ include Google::Apis::Core::Hashable
59
+
60
+ # By default, after an action fails, no further actions are run. This flag
61
+ # indicates that this action must be run even if the pipeline has already
62
+ # failed. This is useful for actions that copy output files off of the VM
63
+ # or for debugging.
64
+ # Corresponds to the JSON property `alwaysRun`
65
+ # @return [Boolean]
66
+ attr_accessor :always_run
67
+ alias_method :always_run?, :always_run
68
+
69
+ # If specified, overrides the `CMD` specified in the container. If the
70
+ # container also has an `ENTRYPOINT` the values are used as entrypoint
71
+ # arguments. Otherwise, they are used as a command and arguments to run
72
+ # inside the container.
73
+ # Corresponds to the JSON property `commands`
74
+ # @return [Array<String>]
75
+ attr_accessor :commands
76
+
77
+ # An optional name for the container. The container hostname will be set to
78
+ # this name, making it useful for inter-container communication. The name
79
+ # must contain only upper and lowercase alphanumeric characters and hyphens
80
+ # and cannot start with a hyphen.
81
+ # Corresponds to the JSON property `containerName`
82
+ # @return [String]
83
+ attr_accessor :container_name
84
+
85
+ # Holds encrypted information that is only decrypted and stored in RAM
86
+ # by the worker VM when running the pipeline.
87
+ # Corresponds to the JSON property `credentials`
88
+ # @return [Google::Apis::LifesciencesV2beta::Secret]
89
+ attr_accessor :credentials
90
+
91
+ # All container images are typically downloaded before any actions are
92
+ # executed. This helps prevent typos in URIs or issues like lack of disk
93
+ # space from wasting large amounts of compute resources.
94
+ # If set, this flag prevents the worker from downloading the image until
95
+ # just before the action is executed.
96
+ # Corresponds to the JSON property `disableImagePrefetch`
97
+ # @return [Boolean]
98
+ attr_accessor :disable_image_prefetch
99
+ alias_method :disable_image_prefetch?, :disable_image_prefetch
100
+
101
+ # A small portion of the container's standard error stream is typically
102
+ # captured and returned inside the `ContainerStoppedEvent`. Setting this
103
+ # flag disables this functionality.
104
+ # Corresponds to the JSON property `disableStandardErrorCapture`
105
+ # @return [Boolean]
106
+ attr_accessor :disable_standard_error_capture
107
+ alias_method :disable_standard_error_capture?, :disable_standard_error_capture
108
+
109
+ # Enable access to the FUSE device for this action. Filesystems can then
110
+ # be mounted into disks shared with other actions. The other actions do
111
+ # not need the `enable_fuse` flag to access the mounted filesystem.
112
+ # This has the effect of causing the container to be executed with
113
+ # `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only
114
+ # for containers you trust.
115
+ # Corresponds to the JSON property `enableFuse`
116
+ # @return [Boolean]
117
+ attr_accessor :enable_fuse
118
+ alias_method :enable_fuse?, :enable_fuse
119
+
120
+ # If specified, overrides the `ENTRYPOINT` specified in the container.
121
+ # Corresponds to the JSON property `entrypoint`
122
+ # @return [String]
123
+ attr_accessor :entrypoint
124
+
125
+ # The environment to pass into the container. This environment is merged
126
+ # with values specified in the google.cloud.lifesciences.v2beta.Pipeline
127
+ # message, overwriting any duplicate values.
128
+ # In addition to the values passed here, a few other values are
129
+ # automatically injected into the environment. These cannot be hidden or
130
+ # overwritten.
131
+ # `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed
132
+ # because an action has exited with a non-zero status (and did not have the
133
+ # `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
134
+ # debug or logging actions should execute.
135
+ # `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
136
+ # non-background action that executed. This can be used by workflow engine
137
+ # authors to determine whether an individual action has succeeded or failed.
138
+ # Corresponds to the JSON property `environment`
139
+ # @return [Hash<String,String>]
140
+ attr_accessor :environment
141
+
142
+ # Normally, a non-zero exit status causes the pipeline to fail. This flag
143
+ # allows execution of other actions to continue instead.
144
+ # Corresponds to the JSON property `ignoreExitStatus`
145
+ # @return [Boolean]
146
+ attr_accessor :ignore_exit_status
147
+ alias_method :ignore_exit_status?, :ignore_exit_status
148
+
149
+ # Required. The URI to pull the container image from. Note that all images
150
+ # referenced
151
+ # by actions in the pipeline are pulled before the first action runs. If
152
+ # multiple actions reference the same image, it is only pulled once,
153
+ # ensuring that the same image is used for all actions in a single pipeline.
154
+ # The image URI can be either a complete host and image specification (e.g.,
155
+ # quay.io/biocontainers/samtools), a library and image name (e.g.,
156
+ # google/cloud-sdk) or a bare image name ('bash') to pull from the default
157
+ # library. No schema is required in any of these cases.
158
+ # If the specified image is not public, the service account specified for
159
+ # the Virtual Machine must have access to pull the images from GCR, or
160
+ # appropriate credentials must be specified in the
161
+ # google.cloud.lifesciences.v2beta.Action.credentials field.
162
+ # Corresponds to the JSON property `imageUri`
163
+ # @return [String]
164
+ attr_accessor :image_uri
165
+
166
+ # Labels to associate with the action. This field is provided to assist
167
+ # workflow engine authors in identifying actions (for example, to indicate
168
+ # what sort of action they perform, such as localization or debugging).
169
+ # They are returned in the operation metadata, but are otherwise ignored.
170
+ # Corresponds to the JSON property `labels`
171
+ # @return [Hash<String,String>]
172
+ attr_accessor :labels
173
+
174
+ # A list of mounts to make available to the action.
175
+ # In addition to the values specified here, every action has a special
176
+ # virtual disk mounted under `/google` that contains log files and other
177
+ # operational components.
178
+ # <ul>
179
+ # <li><code>/google/logs</code> All logs written during the pipeline
180
+ # execution.</li>
181
+ # <li><code>/google/logs/output</code> The combined standard output and
182
+ # standard error of all actions run as part of the pipeline
183
+ # execution.</li>
184
+ # <li><code>/google/logs/action/*/stdout</code> The complete contents of
185
+ # each individual action's standard output.</li>
186
+ # <li><code>/google/logs/action/*/stderr</code> The complete contents of
187
+ # each individual action's standard error output.</li>
188
+ # </ul>
189
+ # Corresponds to the JSON property `mounts`
190
+ # @return [Array<Google::Apis::LifesciencesV2beta::Mount>]
191
+ attr_accessor :mounts
192
+
193
+ # An optional identifier for a PID namespace to run the action inside.
194
+ # Multiple actions should use the same string to share a namespace. If
195
+ # unspecified, a separate isolated namespace is used.
196
+ # Corresponds to the JSON property `pidNamespace`
197
+ # @return [String]
198
+ attr_accessor :pid_namespace
199
+
200
+ # A map of containers to host port mappings for this container. If the
201
+ # container already specifies exposed ports, use the
202
+ # `PUBLISH_EXPOSED_PORTS` flag instead.
203
+ # The host port number must be less than 65536. If it is zero, an unused
204
+ # random port is assigned. To determine the resulting port number, consult
205
+ # the `ContainerStartedEvent` in the operation metadata.
206
+ # Corresponds to the JSON property `portMappings`
207
+ # @return [Hash<String,Fixnum>]
208
+ attr_accessor :port_mappings
209
+
210
+ # Exposes all ports specified by `EXPOSE` statements in the container. To
211
+ # discover the host side port numbers, consult the `ACTION_STARTED` event
212
+ # in the operation metadata.
213
+ # Corresponds to the JSON property `publishExposedPorts`
214
+ # @return [Boolean]
215
+ attr_accessor :publish_exposed_ports
216
+ alias_method :publish_exposed_ports?, :publish_exposed_ports
217
+
218
+ # This flag allows an action to continue running in the background while
219
+ # executing subsequent actions. This is useful to provide services to
220
+ # other actions (or to provide debugging support tools like SSH servers).
221
+ # Corresponds to the JSON property `runInBackground`
222
+ # @return [Boolean]
223
+ attr_accessor :run_in_background
224
+ alias_method :run_in_background?, :run_in_background
225
+
226
+ # The maximum amount of time to give the action to complete. If the action
227
+ # fails to complete before the timeout, it will be terminated and the exit
228
+ # status will be non-zero. The pipeline will continue or terminate based
229
+ # on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
230
+ # Corresponds to the JSON property `timeout`
231
+ # @return [String]
232
+ attr_accessor :timeout
233
+
234
+ def initialize(**args)
235
+ update!(**args)
236
+ end
237
+
238
+ # Update properties of this object
239
+ def update!(**args)
240
+ @always_run = args[:always_run] if args.key?(:always_run)
241
+ @commands = args[:commands] if args.key?(:commands)
242
+ @container_name = args[:container_name] if args.key?(:container_name)
243
+ @credentials = args[:credentials] if args.key?(:credentials)
244
+ @disable_image_prefetch = args[:disable_image_prefetch] if args.key?(:disable_image_prefetch)
245
+ @disable_standard_error_capture = args[:disable_standard_error_capture] if args.key?(:disable_standard_error_capture)
246
+ @enable_fuse = args[:enable_fuse] if args.key?(:enable_fuse)
247
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
248
+ @environment = args[:environment] if args.key?(:environment)
249
+ @ignore_exit_status = args[:ignore_exit_status] if args.key?(:ignore_exit_status)
250
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
251
+ @labels = args[:labels] if args.key?(:labels)
252
+ @mounts = args[:mounts] if args.key?(:mounts)
253
+ @pid_namespace = args[:pid_namespace] if args.key?(:pid_namespace)
254
+ @port_mappings = args[:port_mappings] if args.key?(:port_mappings)
255
+ @publish_exposed_ports = args[:publish_exposed_ports] if args.key?(:publish_exposed_ports)
256
+ @run_in_background = args[:run_in_background] if args.key?(:run_in_background)
257
+ @timeout = args[:timeout] if args.key?(:timeout)
258
+ end
259
+ end
260
+
261
+ # The request message for Operations.CancelOperation.
262
+ class CancelOperationRequest
263
+ include Google::Apis::Core::Hashable
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ end
272
+ end
273
+
274
+ # An event generated when a container is forcibly terminated by the
275
+ # worker. Currently, this only occurs when the container outlives the
276
+ # timeout specified by the user.
277
+ class ContainerKilledEvent
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # The numeric ID of the action that started the container.
281
+ # Corresponds to the JSON property `actionId`
282
+ # @return [Fixnum]
283
+ attr_accessor :action_id
284
+
285
+ def initialize(**args)
286
+ update!(**args)
287
+ end
288
+
289
+ # Update properties of this object
290
+ def update!(**args)
291
+ @action_id = args[:action_id] if args.key?(:action_id)
292
+ end
293
+ end
294
+
295
+ # An event generated when a container starts.
296
+ class ContainerStartedEvent
297
+ include Google::Apis::Core::Hashable
298
+
299
+ # The numeric ID of the action that started this container.
300
+ # Corresponds to the JSON property `actionId`
301
+ # @return [Fixnum]
302
+ attr_accessor :action_id
303
+
304
+ # The public IP address that can be used to connect to the container. This
305
+ # field is only populated when at least one port mapping is present. If the
306
+ # instance was created with a private address, this field will be empty even
307
+ # if port mappings exist.
308
+ # Corresponds to the JSON property `ipAddress`
309
+ # @return [String]
310
+ attr_accessor :ip_address
311
+
312
+ # The container-to-host port mappings installed for this container. This
313
+ # set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag
314
+ # as well as any specified in the `Action` definition.
315
+ # Corresponds to the JSON property `portMappings`
316
+ # @return [Hash<String,Fixnum>]
317
+ attr_accessor :port_mappings
318
+
319
+ def initialize(**args)
320
+ update!(**args)
321
+ end
322
+
323
+ # Update properties of this object
324
+ def update!(**args)
325
+ @action_id = args[:action_id] if args.key?(:action_id)
326
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
327
+ @port_mappings = args[:port_mappings] if args.key?(:port_mappings)
328
+ end
329
+ end
330
+
331
+ # An event generated when a container exits.
332
+ class ContainerStoppedEvent
333
+ include Google::Apis::Core::Hashable
334
+
335
+ # The numeric ID of the action that started this container.
336
+ # Corresponds to the JSON property `actionId`
337
+ # @return [Fixnum]
338
+ attr_accessor :action_id
339
+
340
+ # The exit status of the container.
341
+ # Corresponds to the JSON property `exitStatus`
342
+ # @return [Fixnum]
343
+ attr_accessor :exit_status
344
+
345
+ # The tail end of any content written to standard error by the container.
346
+ # If the content emits large amounts of debugging noise or contains
347
+ # sensitive information, you can prevent the content from being printed by
348
+ # setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag.
349
+ # Note that only a small amount of the end of the stream is captured here.
350
+ # The entire stream is stored in the `/google/logs` directory mounted into
351
+ # each action, and can be copied off the machine as described elsewhere.
352
+ # Corresponds to the JSON property `stderr`
353
+ # @return [String]
354
+ attr_accessor :stderr
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @action_id = args[:action_id] if args.key?(:action_id)
363
+ @exit_status = args[:exit_status] if args.key?(:exit_status)
364
+ @stderr = args[:stderr] if args.key?(:stderr)
365
+ end
366
+ end
367
+
368
+ # An event generated whenever a resource limitation or transient error
369
+ # delays execution of a pipeline that was otherwise ready to run.
370
+ class DelayedEvent
371
+ include Google::Apis::Core::Hashable
372
+
373
+ # A textual description of the cause of the delay. The string can change
374
+ # without notice because it is often generated by another service (such as
375
+ # Compute Engine).
376
+ # Corresponds to the JSON property `cause`
377
+ # @return [String]
378
+ attr_accessor :cause
379
+
380
+ # If the delay was caused by a resource shortage, this field lists the
381
+ # Compute Engine metrics that are preventing this operation from running
382
+ # (for example, `CPUS` or `INSTANCES`). If the particular metric is not
383
+ # known, a single `UNKNOWN` metric will be present.
384
+ # Corresponds to the JSON property `metrics`
385
+ # @return [Array<String>]
386
+ attr_accessor :metrics
387
+
388
+ def initialize(**args)
389
+ update!(**args)
390
+ end
391
+
392
+ # Update properties of this object
393
+ def update!(**args)
394
+ @cause = args[:cause] if args.key?(:cause)
395
+ @metrics = args[:metrics] if args.key?(:metrics)
396
+ end
397
+ end
398
+
399
+ # Carries information about a disk that can be attached to a VM.
400
+ # See https://cloud.google.com/compute/docs/disks/performance for more
401
+ # information about disk type, size, and performance considerations.
402
+ class Disk
403
+ include Google::Apis::Core::Hashable
404
+
405
+ # A user-supplied name for the disk. Used when mounting the disk into
406
+ # actions. The name must contain only upper and lowercase alphanumeric
407
+ # characters and hyphens and cannot start with a hyphen.
408
+ # Corresponds to the JSON property `name`
409
+ # @return [String]
410
+ attr_accessor :name
411
+
412
+ # The size, in GB, of the disk to attach. If the size is not
413
+ # specified, a default is chosen to ensure reasonable I/O performance.
414
+ # If the disk type is specified as `local-ssd`, multiple local drives are
415
+ # automatically combined to provide the requested size. Note, however, that
416
+ # each physical SSD is 375GB in size, and no more than 8 drives can be
417
+ # attached to a single instance.
418
+ # Corresponds to the JSON property `sizeGb`
419
+ # @return [Fixnum]
420
+ attr_accessor :size_gb
421
+
422
+ # An optional image to put on the disk before attaching it to the VM.
423
+ # Corresponds to the JSON property `sourceImage`
424
+ # @return [String]
425
+ attr_accessor :source_image
426
+
427
+ # The Compute Engine disk type. If unspecified, `pd-standard` is used.
428
+ # Corresponds to the JSON property `type`
429
+ # @return [String]
430
+ attr_accessor :type
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ @name = args[:name] if args.key?(:name)
439
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
440
+ @source_image = args[:source_image] if args.key?(:source_image)
441
+ @type = args[:type] if args.key?(:type)
442
+ end
443
+ end
444
+
445
+ # A generic empty message that you can re-use to avoid defining duplicated
446
+ # empty messages in your APIs. A typical example is to use it as the request
447
+ # or the response type of an API method. For instance:
448
+ # service Foo `
449
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
450
+ # `
451
+ # The JSON representation for `Empty` is empty JSON object ````.
452
+ class Empty
453
+ include Google::Apis::Core::Hashable
454
+
455
+ def initialize(**args)
456
+ update!(**args)
457
+ end
458
+
459
+ # Update properties of this object
460
+ def update!(**args)
461
+ end
462
+ end
463
+
464
+ # Carries information about events that occur during pipeline execution.
465
+ class Event
466
+ include Google::Apis::Core::Hashable
467
+
468
+ # An event generated when a container is forcibly terminated by the
469
+ # worker. Currently, this only occurs when the container outlives the
470
+ # timeout specified by the user.
471
+ # Corresponds to the JSON property `containerKilled`
472
+ # @return [Google::Apis::LifesciencesV2beta::ContainerKilledEvent]
473
+ attr_accessor :container_killed
474
+
475
+ # An event generated when a container starts.
476
+ # Corresponds to the JSON property `containerStarted`
477
+ # @return [Google::Apis::LifesciencesV2beta::ContainerStartedEvent]
478
+ attr_accessor :container_started
479
+
480
+ # An event generated when a container exits.
481
+ # Corresponds to the JSON property `containerStopped`
482
+ # @return [Google::Apis::LifesciencesV2beta::ContainerStoppedEvent]
483
+ attr_accessor :container_stopped
484
+
485
+ # An event generated whenever a resource limitation or transient error
486
+ # delays execution of a pipeline that was otherwise ready to run.
487
+ # Corresponds to the JSON property `delayed`
488
+ # @return [Google::Apis::LifesciencesV2beta::DelayedEvent]
489
+ attr_accessor :delayed
490
+
491
+ # A human-readable description of the event. Note that these strings can
492
+ # change at any time without notice. Any application logic must use the
493
+ # information in the `details` field.
494
+ # Corresponds to the JSON property `description`
495
+ # @return [String]
496
+ attr_accessor :description
497
+
498
+ # An event generated when the execution of a pipeline has failed. Note
499
+ # that other events can continue to occur after this event.
500
+ # Corresponds to the JSON property `failed`
501
+ # @return [Google::Apis::LifesciencesV2beta::FailedEvent]
502
+ attr_accessor :failed
503
+
504
+ # An event generated when the worker starts pulling an image.
505
+ # Corresponds to the JSON property `pullStarted`
506
+ # @return [Google::Apis::LifesciencesV2beta::PullStartedEvent]
507
+ attr_accessor :pull_started
508
+
509
+ # An event generated when the worker stops pulling an image.
510
+ # Corresponds to the JSON property `pullStopped`
511
+ # @return [Google::Apis::LifesciencesV2beta::PullStoppedEvent]
512
+ attr_accessor :pull_stopped
513
+
514
+ # The time at which the event occurred.
515
+ # Corresponds to the JSON property `timestamp`
516
+ # @return [String]
517
+ attr_accessor :timestamp
518
+
519
+ # An event generated when the execution of a container results in a
520
+ # non-zero exit status that was not otherwise ignored. Execution will
521
+ # continue, but only actions that are flagged as `ALWAYS_RUN` will be
522
+ # executed. Other actions will be skipped.
523
+ # Corresponds to the JSON property `unexpectedExitStatus`
524
+ # @return [Google::Apis::LifesciencesV2beta::UnexpectedExitStatusEvent]
525
+ attr_accessor :unexpected_exit_status
526
+
527
+ # An event generated after a worker VM has been assigned to run the
528
+ # pipeline.
529
+ # Corresponds to the JSON property `workerAssigned`
530
+ # @return [Google::Apis::LifesciencesV2beta::WorkerAssignedEvent]
531
+ attr_accessor :worker_assigned
532
+
533
+ # An event generated when the worker VM that was assigned to the pipeline
534
+ # has been released (deleted).
535
+ # Corresponds to the JSON property `workerReleased`
536
+ # @return [Google::Apis::LifesciencesV2beta::WorkerReleasedEvent]
537
+ attr_accessor :worker_released
538
+
539
+ def initialize(**args)
540
+ update!(**args)
541
+ end
542
+
543
+ # Update properties of this object
544
+ def update!(**args)
545
+ @container_killed = args[:container_killed] if args.key?(:container_killed)
546
+ @container_started = args[:container_started] if args.key?(:container_started)
547
+ @container_stopped = args[:container_stopped] if args.key?(:container_stopped)
548
+ @delayed = args[:delayed] if args.key?(:delayed)
549
+ @description = args[:description] if args.key?(:description)
550
+ @failed = args[:failed] if args.key?(:failed)
551
+ @pull_started = args[:pull_started] if args.key?(:pull_started)
552
+ @pull_stopped = args[:pull_stopped] if args.key?(:pull_stopped)
553
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
554
+ @unexpected_exit_status = args[:unexpected_exit_status] if args.key?(:unexpected_exit_status)
555
+ @worker_assigned = args[:worker_assigned] if args.key?(:worker_assigned)
556
+ @worker_released = args[:worker_released] if args.key?(:worker_released)
557
+ end
558
+ end
559
+
560
+ # An event generated when the execution of a pipeline has failed. Note
561
+ # that other events can continue to occur after this event.
562
+ class FailedEvent
563
+ include Google::Apis::Core::Hashable
564
+
565
+ # The human-readable description of the cause of the failure.
566
+ # Corresponds to the JSON property `cause`
567
+ # @return [String]
568
+ attr_accessor :cause
569
+
570
+ # The Google standard error code that best describes this failure.
571
+ # Corresponds to the JSON property `code`
572
+ # @return [String]
573
+ attr_accessor :code
574
+
575
+ def initialize(**args)
576
+ update!(**args)
577
+ end
578
+
579
+ # Update properties of this object
580
+ def update!(**args)
581
+ @cause = args[:cause] if args.key?(:cause)
582
+ @code = args[:code] if args.key?(:code)
583
+ end
584
+ end
585
+
586
+ # The response message for Locations.ListLocations.
587
+ class ListLocationsResponse
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # A list of locations that matches the specified filter in the request.
591
+ # Corresponds to the JSON property `locations`
592
+ # @return [Array<Google::Apis::LifesciencesV2beta::Location>]
593
+ attr_accessor :locations
594
+
595
+ # The standard List next-page token.
596
+ # Corresponds to the JSON property `nextPageToken`
597
+ # @return [String]
598
+ attr_accessor :next_page_token
599
+
600
+ def initialize(**args)
601
+ update!(**args)
602
+ end
603
+
604
+ # Update properties of this object
605
+ def update!(**args)
606
+ @locations = args[:locations] if args.key?(:locations)
607
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
608
+ end
609
+ end
610
+
611
+ # The response message for Operations.ListOperations.
612
+ class ListOperationsResponse
613
+ include Google::Apis::Core::Hashable
614
+
615
+ # The standard List next-page token.
616
+ # Corresponds to the JSON property `nextPageToken`
617
+ # @return [String]
618
+ attr_accessor :next_page_token
619
+
620
+ # A list of operations that matches the specified filter in the request.
621
+ # Corresponds to the JSON property `operations`
622
+ # @return [Array<Google::Apis::LifesciencesV2beta::Operation>]
623
+ attr_accessor :operations
624
+
625
+ def initialize(**args)
626
+ update!(**args)
627
+ end
628
+
629
+ # Update properties of this object
630
+ def update!(**args)
631
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
632
+ @operations = args[:operations] if args.key?(:operations)
633
+ end
634
+ end
635
+
636
+ # A resource that represents Google Cloud Platform location.
637
+ class Location
638
+ include Google::Apis::Core::Hashable
639
+
640
+ # The friendly name for this location, typically a nearby city name.
641
+ # For example, "Tokyo".
642
+ # Corresponds to the JSON property `displayName`
643
+ # @return [String]
644
+ attr_accessor :display_name
645
+
646
+ # Cross-service attributes for the location. For example
647
+ # `"cloud.googleapis.com/region": "us-east1"`
648
+ # Corresponds to the JSON property `labels`
649
+ # @return [Hash<String,String>]
650
+ attr_accessor :labels
651
+
652
+ # The canonical id for this location. For example: `"us-east1"`.
653
+ # Corresponds to the JSON property `locationId`
654
+ # @return [String]
655
+ attr_accessor :location_id
656
+
657
+ # Service-specific metadata. For example the available capacity at the given
658
+ # location.
659
+ # Corresponds to the JSON property `metadata`
660
+ # @return [Hash<String,Object>]
661
+ attr_accessor :metadata
662
+
663
+ # Resource name for the location, which may vary between implementations.
664
+ # For example: `"projects/example-project/locations/us-east1"`
665
+ # Corresponds to the JSON property `name`
666
+ # @return [String]
667
+ attr_accessor :name
668
+
669
+ def initialize(**args)
670
+ update!(**args)
671
+ end
672
+
673
+ # Update properties of this object
674
+ def update!(**args)
675
+ @display_name = args[:display_name] if args.key?(:display_name)
676
+ @labels = args[:labels] if args.key?(:labels)
677
+ @location_id = args[:location_id] if args.key?(:location_id)
678
+ @metadata = args[:metadata] if args.key?(:metadata)
679
+ @name = args[:name] if args.key?(:name)
680
+ end
681
+ end
682
+
683
+ # Carries information about the pipeline execution that is returned
684
+ # in the long running operation's metadata field.
685
+ class Metadata
686
+ include Google::Apis::Core::Hashable
687
+
688
+ # The time at which the operation was created by the API.
689
+ # Corresponds to the JSON property `createTime`
690
+ # @return [String]
691
+ attr_accessor :create_time
692
+
693
+ # The time at which execution was completed and resources were cleaned up.
694
+ # Corresponds to the JSON property `endTime`
695
+ # @return [String]
696
+ attr_accessor :end_time
697
+
698
+ # The list of events that have happened so far during the execution of this
699
+ # operation.
700
+ # Corresponds to the JSON property `events`
701
+ # @return [Array<Google::Apis::LifesciencesV2beta::Event>]
702
+ attr_accessor :events
703
+
704
+ # The user-defined labels associated with this operation.
705
+ # Corresponds to the JSON property `labels`
706
+ # @return [Hash<String,String>]
707
+ attr_accessor :labels
708
+
709
+ # Specifies a series of actions to execute, expressed as Docker containers.
710
+ # Corresponds to the JSON property `pipeline`
711
+ # @return [Google::Apis::LifesciencesV2beta::Pipeline]
712
+ attr_accessor :pipeline
713
+
714
+ # The first time at which resources were allocated to execute the pipeline.
715
+ # Corresponds to the JSON property `startTime`
716
+ # @return [String]
717
+ attr_accessor :start_time
718
+
719
+ def initialize(**args)
720
+ update!(**args)
721
+ end
722
+
723
+ # Update properties of this object
724
+ def update!(**args)
725
+ @create_time = args[:create_time] if args.key?(:create_time)
726
+ @end_time = args[:end_time] if args.key?(:end_time)
727
+ @events = args[:events] if args.key?(:events)
728
+ @labels = args[:labels] if args.key?(:labels)
729
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
730
+ @start_time = args[:start_time] if args.key?(:start_time)
731
+ end
732
+ end
733
+
734
+ # Carries information about a particular disk mount inside a container.
735
+ class Mount
736
+ include Google::Apis::Core::Hashable
737
+
738
+ # The name of the disk to mount, as specified in the resources section.
739
+ # Corresponds to the JSON property `disk`
740
+ # @return [String]
741
+ attr_accessor :disk
742
+
743
+ # The path to mount the disk inside the container.
744
+ # Corresponds to the JSON property `path`
745
+ # @return [String]
746
+ attr_accessor :path
747
+
748
+ # If true, the disk is mounted read-only inside the container.
749
+ # Corresponds to the JSON property `readOnly`
750
+ # @return [Boolean]
751
+ attr_accessor :read_only
752
+ alias_method :read_only?, :read_only
753
+
754
+ def initialize(**args)
755
+ update!(**args)
756
+ end
757
+
758
+ # Update properties of this object
759
+ def update!(**args)
760
+ @disk = args[:disk] if args.key?(:disk)
761
+ @path = args[:path] if args.key?(:path)
762
+ @read_only = args[:read_only] if args.key?(:read_only)
763
+ end
764
+ end
765
+
766
+ # VM networking options.
767
+ class Network
768
+ include Google::Apis::Core::Hashable
769
+
770
+ # The network name to attach the VM's network interface to. The value will
771
+ # be prefixed with `global/networks/` unless it contains a `/`, in which
772
+ # case it is assumed to be a fully specified network resource URL.
773
+ # If unspecified, the global default network is used.
774
+ # Corresponds to the JSON property `network`
775
+ # @return [String]
776
+ attr_accessor :network
777
+
778
+ # If the specified network is configured for custom subnet creation, the
779
+ # name of the subnetwork to attach the instance to must be specified here.
780
+ # The value is prefixed with `regions/*/subnetworks/` unless it contains a
781
+ # `/`, in which case it is assumed to be a fully specified subnetwork
782
+ # resource URL.
783
+ # If the `*` character appears in the value, it is replaced with the region
784
+ # that the virtual machine has been allocated in.
785
+ # Corresponds to the JSON property `subnetwork`
786
+ # @return [String]
787
+ attr_accessor :subnetwork
788
+
789
+ # If set to true, do not attach a public IP address to the VM. Note that
790
+ # without a public IP address, additional configuration is required to
791
+ # allow the VM to access Google services.
792
+ # See https://cloud.google.com/vpc/docs/configure-private-google-access
793
+ # for more information.
794
+ # Corresponds to the JSON property `usePrivateAddress`
795
+ # @return [Boolean]
796
+ attr_accessor :use_private_address
797
+ alias_method :use_private_address?, :use_private_address
798
+
799
+ def initialize(**args)
800
+ update!(**args)
801
+ end
802
+
803
+ # Update properties of this object
804
+ def update!(**args)
805
+ @network = args[:network] if args.key?(:network)
806
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
807
+ @use_private_address = args[:use_private_address] if args.key?(:use_private_address)
808
+ end
809
+ end
810
+
811
+ # This resource represents a long-running operation that is the result of a
812
+ # network API call.
813
+ class Operation
814
+ include Google::Apis::Core::Hashable
815
+
816
+ # If the value is `false`, it means the operation is still in progress.
817
+ # If `true`, the operation is completed, and either `error` or `response` is
818
+ # available.
819
+ # Corresponds to the JSON property `done`
820
+ # @return [Boolean]
821
+ attr_accessor :done
822
+ alias_method :done?, :done
823
+
824
+ # The `Status` type defines a logical error model that is suitable for
825
+ # different programming environments, including REST APIs and RPC APIs. It is
826
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
827
+ # three pieces of data: error code, error message, and error details.
828
+ # You can find out more about this error model and how to work with it in the
829
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
830
+ # Corresponds to the JSON property `error`
831
+ # @return [Google::Apis::LifesciencesV2beta::Status]
832
+ attr_accessor :error
833
+
834
+ # An Metadata object. This will always be returned with the Operation.
835
+ # Corresponds to the JSON property `metadata`
836
+ # @return [Hash<String,Object>]
837
+ attr_accessor :metadata
838
+
839
+ # The server-assigned name for the operation. This may be passed to the other
840
+ # operation methods to retrieve information about the operation's status.
841
+ # Corresponds to the JSON property `name`
842
+ # @return [String]
843
+ attr_accessor :name
844
+
845
+ # An Empty object.
846
+ # Corresponds to the JSON property `response`
847
+ # @return [Hash<String,Object>]
848
+ attr_accessor :response
849
+
850
+ def initialize(**args)
851
+ update!(**args)
852
+ end
853
+
854
+ # Update properties of this object
855
+ def update!(**args)
856
+ @done = args[:done] if args.key?(:done)
857
+ @error = args[:error] if args.key?(:error)
858
+ @metadata = args[:metadata] if args.key?(:metadata)
859
+ @name = args[:name] if args.key?(:name)
860
+ @response = args[:response] if args.key?(:response)
861
+ end
862
+ end
863
+
864
+ # Specifies a series of actions to execute, expressed as Docker containers.
865
+ class Pipeline
866
+ include Google::Apis::Core::Hashable
867
+
868
+ # The list of actions to execute, in the order they are specified.
869
+ # Corresponds to the JSON property `actions`
870
+ # @return [Array<Google::Apis::LifesciencesV2beta::Action>]
871
+ attr_accessor :actions
872
+
873
+ # The environment to pass into every action. Each action can also specify
874
+ # additional environment variables but cannot delete an entry from this map
875
+ # (though they can overwrite it with a different value).
876
+ # Corresponds to the JSON property `environment`
877
+ # @return [Hash<String,String>]
878
+ attr_accessor :environment
879
+
880
+ # The system resources for the pipeline run.
881
+ # At least one zone or region must be specified or the pipeline run will fail.
882
+ # Corresponds to the JSON property `resources`
883
+ # @return [Google::Apis::LifesciencesV2beta::Resources]
884
+ attr_accessor :resources
885
+
886
+ # The maximum amount of time to give the pipeline to complete. This includes
887
+ # the time spent waiting for a worker to be allocated. If the pipeline fails
888
+ # to complete before the timeout, it will be cancelled and the error code
889
+ # will be set to DEADLINE_EXCEEDED.
890
+ # If unspecified, it will default to 7 days.
891
+ # Corresponds to the JSON property `timeout`
892
+ # @return [String]
893
+ attr_accessor :timeout
894
+
895
+ def initialize(**args)
896
+ update!(**args)
897
+ end
898
+
899
+ # Update properties of this object
900
+ def update!(**args)
901
+ @actions = args[:actions] if args.key?(:actions)
902
+ @environment = args[:environment] if args.key?(:environment)
903
+ @resources = args[:resources] if args.key?(:resources)
904
+ @timeout = args[:timeout] if args.key?(:timeout)
905
+ end
906
+ end
907
+
908
+ # An event generated when the worker starts pulling an image.
909
+ class PullStartedEvent
910
+ include Google::Apis::Core::Hashable
911
+
912
+ # The URI of the image that was pulled.
913
+ # Corresponds to the JSON property `imageUri`
914
+ # @return [String]
915
+ attr_accessor :image_uri
916
+
917
+ def initialize(**args)
918
+ update!(**args)
919
+ end
920
+
921
+ # Update properties of this object
922
+ def update!(**args)
923
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
924
+ end
925
+ end
926
+
927
+ # An event generated when the worker stops pulling an image.
928
+ class PullStoppedEvent
929
+ include Google::Apis::Core::Hashable
930
+
931
+ # The URI of the image that was pulled.
932
+ # Corresponds to the JSON property `imageUri`
933
+ # @return [String]
934
+ attr_accessor :image_uri
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
943
+ end
944
+ end
945
+
946
+ # The system resources for the pipeline run.
947
+ # At least one zone or region must be specified or the pipeline run will fail.
948
+ class Resources
949
+ include Google::Apis::Core::Hashable
950
+
951
+ # The list of regions allowed for VM allocation. If set, the `zones` field
952
+ # must not be set.
953
+ # Corresponds to the JSON property `regions`
954
+ # @return [Array<String>]
955
+ attr_accessor :regions
956
+
957
+ # Carries information about a Compute Engine VM resource.
958
+ # Corresponds to the JSON property `virtualMachine`
959
+ # @return [Google::Apis::LifesciencesV2beta::VirtualMachine]
960
+ attr_accessor :virtual_machine
961
+
962
+ # The list of zones allowed for VM allocation. If set, the `regions` field
963
+ # must not be set.
964
+ # Corresponds to the JSON property `zones`
965
+ # @return [Array<String>]
966
+ attr_accessor :zones
967
+
968
+ def initialize(**args)
969
+ update!(**args)
970
+ end
971
+
972
+ # Update properties of this object
973
+ def update!(**args)
974
+ @regions = args[:regions] if args.key?(:regions)
975
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
976
+ @zones = args[:zones] if args.key?(:zones)
977
+ end
978
+ end
979
+
980
+ # The arguments to the `RunPipeline` method. The requesting user must have
981
+ # the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
982
+ # service account or the request will fail.
983
+ class RunPipelineRequest
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # User-defined labels to associate with the returned operation. These
987
+ # labels are not propagated to any Google Cloud Platform resources used by
988
+ # the operation, and can be modified at any time.
989
+ # To associate labels with resources created while executing the operation,
990
+ # see the appropriate resource message (for example, `VirtualMachine`).
991
+ # Corresponds to the JSON property `labels`
992
+ # @return [Hash<String,String>]
993
+ attr_accessor :labels
994
+
995
+ # Specifies a series of actions to execute, expressed as Docker containers.
996
+ # Corresponds to the JSON property `pipeline`
997
+ # @return [Google::Apis::LifesciencesV2beta::Pipeline]
998
+ attr_accessor :pipeline
999
+
1000
+ def initialize(**args)
1001
+ update!(**args)
1002
+ end
1003
+
1004
+ # Update properties of this object
1005
+ def update!(**args)
1006
+ @labels = args[:labels] if args.key?(:labels)
1007
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
1008
+ end
1009
+ end
1010
+
1011
+ # The response to the RunPipeline method, returned in the operation's result
1012
+ # field on success.
1013
+ class RunPipelineResponse
1014
+ include Google::Apis::Core::Hashable
1015
+
1016
+ def initialize(**args)
1017
+ update!(**args)
1018
+ end
1019
+
1020
+ # Update properties of this object
1021
+ def update!(**args)
1022
+ end
1023
+ end
1024
+
1025
+ # Holds encrypted information that is only decrypted and stored in RAM
1026
+ # by the worker VM when running the pipeline.
1027
+ class Secret
1028
+ include Google::Apis::Core::Hashable
1029
+
1030
+ # The value of the cipherText response from the `encrypt` method. This field
1031
+ # is intentionally unaudited.
1032
+ # Corresponds to the JSON property `cipherText`
1033
+ # @return [String]
1034
+ attr_accessor :cipher_text
1035
+
1036
+ # The name of the Cloud KMS key that will be used to decrypt the secret
1037
+ # value. The VM service account must have the required permissions and
1038
+ # authentication scopes to invoke the `decrypt` method on the specified key.
1039
+ # Corresponds to the JSON property `keyName`
1040
+ # @return [String]
1041
+ attr_accessor :key_name
1042
+
1043
+ def initialize(**args)
1044
+ update!(**args)
1045
+ end
1046
+
1047
+ # Update properties of this object
1048
+ def update!(**args)
1049
+ @cipher_text = args[:cipher_text] if args.key?(:cipher_text)
1050
+ @key_name = args[:key_name] if args.key?(:key_name)
1051
+ end
1052
+ end
1053
+
1054
+ # Carries information about a Google Cloud service account.
1055
+ class ServiceAccount
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # Email address of the service account. If not specified, the default
1059
+ # Compute Engine service account for the project will be used.
1060
+ # Corresponds to the JSON property `email`
1061
+ # @return [String]
1062
+ attr_accessor :email
1063
+
1064
+ # List of scopes to be enabled for this service account on the VM, in
1065
+ # addition to the cloud-platform API scope that will be added by default.
1066
+ # Corresponds to the JSON property `scopes`
1067
+ # @return [Array<String>]
1068
+ attr_accessor :scopes
1069
+
1070
+ def initialize(**args)
1071
+ update!(**args)
1072
+ end
1073
+
1074
+ # Update properties of this object
1075
+ def update!(**args)
1076
+ @email = args[:email] if args.key?(:email)
1077
+ @scopes = args[:scopes] if args.key?(:scopes)
1078
+ end
1079
+ end
1080
+
1081
+ # The `Status` type defines a logical error model that is suitable for
1082
+ # different programming environments, including REST APIs and RPC APIs. It is
1083
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1084
+ # three pieces of data: error code, error message, and error details.
1085
+ # You can find out more about this error model and how to work with it in the
1086
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1087
+ class Status
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ # The status code, which should be an enum value of google.rpc.Code.
1091
+ # Corresponds to the JSON property `code`
1092
+ # @return [Fixnum]
1093
+ attr_accessor :code
1094
+
1095
+ # A list of messages that carry the error details. There is a common set of
1096
+ # message types for APIs to use.
1097
+ # Corresponds to the JSON property `details`
1098
+ # @return [Array<Hash<String,Object>>]
1099
+ attr_accessor :details
1100
+
1101
+ # A developer-facing error message, which should be in English. Any
1102
+ # user-facing error message should be localized and sent in the
1103
+ # google.rpc.Status.details field, or localized by the client.
1104
+ # Corresponds to the JSON property `message`
1105
+ # @return [String]
1106
+ attr_accessor :message
1107
+
1108
+ def initialize(**args)
1109
+ update!(**args)
1110
+ end
1111
+
1112
+ # Update properties of this object
1113
+ def update!(**args)
1114
+ @code = args[:code] if args.key?(:code)
1115
+ @details = args[:details] if args.key?(:details)
1116
+ @message = args[:message] if args.key?(:message)
1117
+ end
1118
+ end
1119
+
1120
+ # An event generated when the execution of a container results in a
1121
+ # non-zero exit status that was not otherwise ignored. Execution will
1122
+ # continue, but only actions that are flagged as `ALWAYS_RUN` will be
1123
+ # executed. Other actions will be skipped.
1124
+ class UnexpectedExitStatusEvent
1125
+ include Google::Apis::Core::Hashable
1126
+
1127
+ # The numeric ID of the action that started the container.
1128
+ # Corresponds to the JSON property `actionId`
1129
+ # @return [Fixnum]
1130
+ attr_accessor :action_id
1131
+
1132
+ # The exit status of the container.
1133
+ # Corresponds to the JSON property `exitStatus`
1134
+ # @return [Fixnum]
1135
+ attr_accessor :exit_status
1136
+
1137
+ def initialize(**args)
1138
+ update!(**args)
1139
+ end
1140
+
1141
+ # Update properties of this object
1142
+ def update!(**args)
1143
+ @action_id = args[:action_id] if args.key?(:action_id)
1144
+ @exit_status = args[:exit_status] if args.key?(:exit_status)
1145
+ end
1146
+ end
1147
+
1148
+ # Carries information about a Compute Engine VM resource.
1149
+ class VirtualMachine
1150
+ include Google::Apis::Core::Hashable
1151
+
1152
+ # The list of accelerators to attach to the VM.
1153
+ # Corresponds to the JSON property `accelerators`
1154
+ # @return [Array<Google::Apis::LifesciencesV2beta::Accelerator>]
1155
+ attr_accessor :accelerators
1156
+
1157
+ # The size of the boot disk, in GB. The boot disk must be large
1158
+ # enough to accommodate all of the Docker images from each action in the
1159
+ # pipeline at the same time. If not specified, a small but reasonable
1160
+ # default value is used.
1161
+ # Corresponds to the JSON property `bootDiskSizeGb`
1162
+ # @return [Fixnum]
1163
+ attr_accessor :boot_disk_size_gb
1164
+
1165
+ # The host operating system image to use.
1166
+ # Currently, only Container-Optimized OS images can be used.
1167
+ # The default value is `projects/cos-cloud/global/images/family/cos-stable`,
1168
+ # which selects the latest stable release of Container-Optimized OS.
1169
+ # This option is provided to allow testing against the beta release of the
1170
+ # operating system to ensure that the new version does not interact
1171
+ # negatively with production pipelines.
1172
+ # To test a pipeline against the beta release of Container-Optimized OS,
1173
+ # use the value `projects/cos-cloud/global/images/family/cos-beta`.
1174
+ # Corresponds to the JSON property `bootImage`
1175
+ # @return [String]
1176
+ attr_accessor :boot_image
1177
+
1178
+ # The CPU platform to request. An instance based on a newer platform can be
1179
+ # allocated, but never one with fewer capabilities. The value of this
1180
+ # parameter must be a valid Compute Engine CPU platform name (such as "Intel
1181
+ # Skylake"). This parameter is only useful for carefully optimized work
1182
+ # loads where the CPU platform has a significant impact.
1183
+ # For more information about the effect of this parameter, see
1184
+ # https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
1185
+ # Corresponds to the JSON property `cpuPlatform`
1186
+ # @return [String]
1187
+ attr_accessor :cpu_platform
1188
+
1189
+ # The list of disks to create and attach to the VM.
1190
+ # Corresponds to the JSON property `disks`
1191
+ # @return [Array<Google::Apis::LifesciencesV2beta::Disk>]
1192
+ attr_accessor :disks
1193
+
1194
+ # Whether Stackdriver monitoring should be enabled on the VM.
1195
+ # Corresponds to the JSON property `enableStackdriverMonitoring`
1196
+ # @return [Boolean]
1197
+ attr_accessor :enable_stackdriver_monitoring
1198
+ alias_method :enable_stackdriver_monitoring?, :enable_stackdriver_monitoring
1199
+
1200
+ # Optional set of labels to apply to the VM and any attached disk resources.
1201
+ # These labels must adhere to the [name and value
1202
+ # restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
1203
+ # VM labels imposed by Compute Engine.
1204
+ # Labels keys with the prefix 'google-' are reserved for use by Google.
1205
+ # Labels applied at creation time to the VM. Applied on a best-effort basis
1206
+ # to attached disk resources shortly after VM creation.
1207
+ # Corresponds to the JSON property `labels`
1208
+ # @return [Hash<String,String>]
1209
+ attr_accessor :labels
1210
+
1211
+ # Required. The machine type of the virtual machine to create. Must be the short
1212
+ # name
1213
+ # of a standard machine type (such as "n1-standard-1") or a custom machine
1214
+ # type (such as "custom-1-4096", where "1" indicates the number of vCPUs and
1215
+ # "4096" indicates the memory in MB). See
1216
+ # [Creating an instance with a custom machine
1217
+ # type](https://cloud.google.com/compute/docs/instances/creating-instance-with-
1218
+ # custom-machine-type#create)
1219
+ # for more specifications on creating a custom machine type.
1220
+ # Corresponds to the JSON property `machineType`
1221
+ # @return [String]
1222
+ attr_accessor :machine_type
1223
+
1224
+ # VM networking options.
1225
+ # Corresponds to the JSON property `network`
1226
+ # @return [Google::Apis::LifesciencesV2beta::Network]
1227
+ attr_accessor :network
1228
+
1229
+ # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
1230
+ # The version specified here must be compatible with the GPU libraries
1231
+ # contained in the container being executed, and must be one of the drivers
1232
+ # hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
1233
+ # Corresponds to the JSON property `nvidiaDriverVersion`
1234
+ # @return [String]
1235
+ attr_accessor :nvidia_driver_version
1236
+
1237
+ # If true, allocate a preemptible VM.
1238
+ # Corresponds to the JSON property `preemptible`
1239
+ # @return [Boolean]
1240
+ attr_accessor :preemptible
1241
+ alias_method :preemptible?, :preemptible
1242
+
1243
+ # Carries information about a Google Cloud service account.
1244
+ # Corresponds to the JSON property `serviceAccount`
1245
+ # @return [Google::Apis::LifesciencesV2beta::ServiceAccount]
1246
+ attr_accessor :service_account
1247
+
1248
+ def initialize(**args)
1249
+ update!(**args)
1250
+ end
1251
+
1252
+ # Update properties of this object
1253
+ def update!(**args)
1254
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
1255
+ @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
1256
+ @boot_image = args[:boot_image] if args.key?(:boot_image)
1257
+ @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
1258
+ @disks = args[:disks] if args.key?(:disks)
1259
+ @enable_stackdriver_monitoring = args[:enable_stackdriver_monitoring] if args.key?(:enable_stackdriver_monitoring)
1260
+ @labels = args[:labels] if args.key?(:labels)
1261
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1262
+ @network = args[:network] if args.key?(:network)
1263
+ @nvidia_driver_version = args[:nvidia_driver_version] if args.key?(:nvidia_driver_version)
1264
+ @preemptible = args[:preemptible] if args.key?(:preemptible)
1265
+ @service_account = args[:service_account] if args.key?(:service_account)
1266
+ end
1267
+ end
1268
+
1269
+ # An event generated after a worker VM has been assigned to run the
1270
+ # pipeline.
1271
+ class WorkerAssignedEvent
1272
+ include Google::Apis::Core::Hashable
1273
+
1274
+ # The worker's instance name.
1275
+ # Corresponds to the JSON property `instance`
1276
+ # @return [String]
1277
+ attr_accessor :instance
1278
+
1279
+ # The machine type that was assigned for the worker.
1280
+ # Corresponds to the JSON property `machineType`
1281
+ # @return [String]
1282
+ attr_accessor :machine_type
1283
+
1284
+ # The zone the worker is running in.
1285
+ # Corresponds to the JSON property `zone`
1286
+ # @return [String]
1287
+ attr_accessor :zone
1288
+
1289
+ def initialize(**args)
1290
+ update!(**args)
1291
+ end
1292
+
1293
+ # Update properties of this object
1294
+ def update!(**args)
1295
+ @instance = args[:instance] if args.key?(:instance)
1296
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
1297
+ @zone = args[:zone] if args.key?(:zone)
1298
+ end
1299
+ end
1300
+
1301
+ # An event generated when the worker VM that was assigned to the pipeline
1302
+ # has been released (deleted).
1303
+ class WorkerReleasedEvent
1304
+ include Google::Apis::Core::Hashable
1305
+
1306
+ # The worker's instance name.
1307
+ # Corresponds to the JSON property `instance`
1308
+ # @return [String]
1309
+ attr_accessor :instance
1310
+
1311
+ # The zone the worker was running in.
1312
+ # Corresponds to the JSON property `zone`
1313
+ # @return [String]
1314
+ attr_accessor :zone
1315
+
1316
+ def initialize(**args)
1317
+ update!(**args)
1318
+ end
1319
+
1320
+ # Update properties of this object
1321
+ def update!(**args)
1322
+ @instance = args[:instance] if args.key?(:instance)
1323
+ @zone = args[:zone] if args.key?(:zone)
1324
+ end
1325
+ end
1326
+ end
1327
+ end
1328
+ end