google-apis-genomics_v1 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68437112b096b88b6b9d8c8fb338ede222189beca1c42dde7856a4d49b7e61bb
4
- data.tar.gz: 859372f7aa39ca585bba9862e2cb7c9a868a4bd9f97f042c3e8bd57e5400f865
3
+ metadata.gz: 7d9864c3bd1867bd8e08a4c0b0ad34fc537c8f2478ac9b55f4bc374395b9255c
4
+ data.tar.gz: ba66a1ae4455871cc03d6b9cf4e333fc168436d4f4fcc72abbacd93ffb4c9a58
5
5
  SHA512:
6
- metadata.gz: 44b7c86a22c0585b8319ef59f2bed2c541e98910d48acf4cc3bde0d181f5338d3d5397d2a0399bdb6e9deafa9b556046dcbb2e765c1f6d6d0f687c141913630b
7
- data.tar.gz: aba3b558e4b1f0da4e73f2df15ea31652a7e93eb4c3fb429225186df5a237bc40a58a1d5bfc29c90082420e122381c2039bf4666ad090c252b848ff98e061324
6
+ metadata.gz: f58b565089a319f4cfb9aaff2db3af6f9fc7daf60868d3c1695be58c561aca269e800b09c11a24014e7a3bf25526b9681ebdc298d6f0469c875ada37b2ebd110
7
+ data.tar.gz: 7a259a4f5dc70240cd8ab9a705cdeb95275c10032e6cb010acdf3640326f7b9d3db3510efbd0bc92d0c5756b23a05bcd75f8b18795f27c1c241399bffacf296e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-genomics_v1
2
2
 
3
+ ### v0.4.0 (2021-05-13)
4
+
5
+ * Regenerated from discovery document revision 20210512
6
+
3
7
  ### v0.3.0 (2021-03-24)
4
8
 
5
9
  * Regenerated from discovery document revision 20210322
@@ -28,12 +28,6 @@ module Google
28
28
  # Version of the Genomics API this client connects to.
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'V1'
31
-
32
- # See, edit, configure, and delete your Google Cloud Platform data
33
- AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
-
35
- # View and manage Genomics data
36
- AUTH_GENOMICS = 'https://www.googleapis.com/auth/genomics'
37
31
  end
38
32
  end
39
33
  end
@@ -22,43 +22,151 @@ module Google
22
22
  module Apis
23
23
  module GenomicsV1
24
24
 
25
- # The request message for Operations.CancelOperation.
26
- class CancelOperationRequest
25
+ # Carries information about an accelerator that can be attached to a VM.
26
+ class Accelerator
27
27
  include Google::Apis::Core::Hashable
28
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"). Only NVIDIA GPU
35
+ # accelerators are currently supported. If an NVIDIA GPU is attached, the
36
+ # required runtime libraries will be made available to all containers under `/
37
+ # usr/local/nvidia`. The driver version to install must be specified using the
38
+ # NVIDIA driver version parameter on the virtual machine specification. Note
39
+ # that attaching a GPU increases the worker VM startup time by a few minutes.
40
+ # Corresponds to the JSON property `type`
41
+ # @return [String]
42
+ attr_accessor :type
43
+
29
44
  def initialize(**args)
30
45
  update!(**args)
31
46
  end
32
47
 
33
48
  # Update properties of this object
34
49
  def update!(**args)
50
+ @count = args[:count] if args.key?(:count)
51
+ @type = args[:type] if args.key?(:type)
35
52
  end
36
53
  end
37
54
 
38
- # Describes a Compute Engine resource that is being managed by a running
39
- # pipeline.
40
- class ComputeEngine
55
+ # Specifies a single action that runs a Docker container.
56
+ class Action
41
57
  include Google::Apis::Core::Hashable
42
58
 
43
- # The names of the disks that were created for this pipeline.
44
- # Corresponds to the JSON property `diskNames`
59
+ # If specified, overrides the `CMD` specified in the container. If the container
60
+ # also has an `ENTRYPOINT` the values are used as entrypoint arguments.
61
+ # Otherwise, they are used as a command and arguments to run inside the
62
+ # container.
63
+ # Corresponds to the JSON property `commands`
45
64
  # @return [Array<String>]
46
- attr_accessor :disk_names
65
+ attr_accessor :commands
66
+
67
+ # Holds encrypted information that is only decrypted and stored in RAM by the
68
+ # worker VM when running the pipeline.
69
+ # Corresponds to the JSON property `credentials`
70
+ # @return [Google::Apis::GenomicsV1::Secret]
71
+ attr_accessor :credentials
72
+
73
+ # Holds encrypted information that is only decrypted and stored in RAM by the
74
+ # worker VM when running the pipeline.
75
+ # Corresponds to the JSON property `encryptedEnvironment`
76
+ # @return [Google::Apis::GenomicsV1::Secret]
77
+ attr_accessor :encrypted_environment
78
+
79
+ # If specified, overrides the `ENTRYPOINT` specified in the container.
80
+ # Corresponds to the JSON property `entrypoint`
81
+ # @return [String]
82
+ attr_accessor :entrypoint
83
+
84
+ # The environment to pass into the container. This environment is merged with
85
+ # values specified in the google.genomics.v2alpha1.Pipeline message, overwriting
86
+ # any duplicate values. In addition to the values passed here, a few other
87
+ # values are automatically injected into the environment. These cannot be hidden
88
+ # or overwritten. `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline
89
+ # failed because an action has exited with a non-zero status (and did not have
90
+ # the `IGNORE_EXIT_STATUS` flag set). This can be used to determine if
91
+ # additional debug or logging actions should execute. `GOOGLE_LAST_EXIT_STATUS`
92
+ # will be set to the exit status of the last non-background action that executed.
93
+ # This can be used by workflow engine authors to determine whether an
94
+ # individual action has succeeded or failed.
95
+ # Corresponds to the JSON property `environment`
96
+ # @return [Hash<String,String>]
97
+ attr_accessor :environment
47
98
 
48
- # The instance on which the operation is running.
49
- # Corresponds to the JSON property `instanceName`
99
+ # The set of flags to apply to this action.
100
+ # Corresponds to the JSON property `flags`
101
+ # @return [Array<String>]
102
+ attr_accessor :flags
103
+
104
+ # Required. The URI to pull the container image from. Note that all images
105
+ # referenced by actions in the pipeline are pulled before the first action runs.
106
+ # If multiple actions reference the same image, it is only pulled once, ensuring
107
+ # that the same image is used for all actions in a single pipeline. The image
108
+ # URI can be either a complete host and image specification (e.g., quay.io/
109
+ # biocontainers/samtools), a library and image name (e.g., google/cloud-sdk) or
110
+ # a bare image name ('bash') to pull from the default library. No schema is
111
+ # required in any of these cases. If the specified image is not public, the
112
+ # service account specified for the Virtual Machine must have access to pull the
113
+ # images from GCR, or appropriate credentials must be specified in the google.
114
+ # genomics.v2alpha1.Action.credentials field.
115
+ # Corresponds to the JSON property `imageUri`
50
116
  # @return [String]
51
- attr_accessor :instance_name
117
+ attr_accessor :image_uri
52
118
 
53
- # The machine type of the instance.
54
- # Corresponds to the JSON property `machineType`
119
+ # Labels to associate with the action. This field is provided to assist workflow
120
+ # engine authors in identifying actions (for example, to indicate what sort of
121
+ # action they perform, such as localization or debugging). They are returned in
122
+ # the operation metadata, but are otherwise ignored.
123
+ # Corresponds to the JSON property `labels`
124
+ # @return [Hash<String,String>]
125
+ attr_accessor :labels
126
+
127
+ # A list of mounts to make available to the action. In addition to the values
128
+ # specified here, every action has a special virtual disk mounted under `/google`
129
+ # that contains log files and other operational components. - /google/logs All
130
+ # logs written during the pipeline execution. - /google/logs/output The combined
131
+ # standard output and standard error of all actions run as part of the pipeline
132
+ # execution. - /google/logs/action/*/stdout The complete contents of each
133
+ # individual action's standard output. - /google/logs/action/*/stderr The
134
+ # complete contents of each individual action's standard error output.
135
+ # Corresponds to the JSON property `mounts`
136
+ # @return [Array<Google::Apis::GenomicsV1::Mount>]
137
+ attr_accessor :mounts
138
+
139
+ # An optional name for the container. The container hostname will be set to this
140
+ # name, making it useful for inter-container communication. The name must
141
+ # contain only upper and lowercase alphanumeric characters and hyphens and
142
+ # cannot start with a hyphen.
143
+ # Corresponds to the JSON property `name`
55
144
  # @return [String]
56
- attr_accessor :machine_type
145
+ attr_accessor :name
57
146
 
58
- # The availability zone in which the instance resides.
59
- # Corresponds to the JSON property `zone`
147
+ # An optional identifier for a PID namespace to run the action inside. Multiple
148
+ # actions should use the same string to share a namespace. If unspecified, a
149
+ # separate isolated namespace is used.
150
+ # Corresponds to the JSON property `pidNamespace`
60
151
  # @return [String]
61
- attr_accessor :zone
152
+ attr_accessor :pid_namespace
153
+
154
+ # A map of containers to host port mappings for this container. If the container
155
+ # already specifies exposed ports, use the `PUBLISH_EXPOSED_PORTS` flag instead.
156
+ # The host port number must be less than 65536. If it is zero, an unused random
157
+ # port is assigned. To determine the resulting port number, consult the `
158
+ # ContainerStartedEvent` in the operation metadata.
159
+ # Corresponds to the JSON property `portMappings`
160
+ # @return [Hash<String,Fixnum>]
161
+ attr_accessor :port_mappings
162
+
163
+ # The maximum amount of time to give the action to complete. If the action fails
164
+ # to complete before the timeout, it will be terminated and the exit status will
165
+ # be non-zero. The pipeline will continue or terminate based on the rules
166
+ # defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
167
+ # Corresponds to the JSON property `timeout`
168
+ # @return [String]
169
+ attr_accessor :timeout
62
170
 
63
171
  def initialize(**args)
64
172
  update!(**args)
@@ -66,10 +174,19 @@ module Google
66
174
 
67
175
  # Update properties of this object
68
176
  def update!(**args)
69
- @disk_names = args[:disk_names] if args.key?(:disk_names)
70
- @instance_name = args[:instance_name] if args.key?(:instance_name)
71
- @machine_type = args[:machine_type] if args.key?(:machine_type)
72
- @zone = args[:zone] if args.key?(:zone)
177
+ @commands = args[:commands] if args.key?(:commands)
178
+ @credentials = args[:credentials] if args.key?(:credentials)
179
+ @encrypted_environment = args[:encrypted_environment] if args.key?(:encrypted_environment)
180
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
181
+ @environment = args[:environment] if args.key?(:environment)
182
+ @flags = args[:flags] if args.key?(:flags)
183
+ @image_uri = args[:image_uri] if args.key?(:image_uri)
184
+ @labels = args[:labels] if args.key?(:labels)
185
+ @mounts = args[:mounts] if args.key?(:mounts)
186
+ @name = args[:name] if args.key?(:name)
187
+ @pid_namespace = args[:pid_namespace] if args.key?(:pid_namespace)
188
+ @port_mappings = args[:port_mappings] if args.key?(:port_mappings)
189
+ @timeout = args[:timeout] if args.key?(:timeout)
73
190
  end
74
191
  end
75
192
 
@@ -198,20 +315,49 @@ module Google
198
315
  end
199
316
  end
200
317
 
201
- # A generic empty message that you can re-use to avoid defining duplicated empty
202
- # messages in your APIs. A typical example is to use it as the request or the
203
- # response type of an API method. For instance: service Foo ` rpc Bar(google.
204
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
205
- # `Empty` is empty JSON object ````.
206
- class Empty
318
+ # Carries information about a disk that can be attached to a VM. See https://
319
+ # cloud.google.com/compute/docs/disks/performance for more information about
320
+ # disk type, size, and performance considerations. Specify either `Volume` or `
321
+ # Disk`, but not both.
322
+ class Disk
207
323
  include Google::Apis::Core::Hashable
208
324
 
325
+ # A user-supplied name for the disk. Used when mounting the disk into actions.
326
+ # The name must contain only upper and lowercase alphanumeric characters and
327
+ # hyphens and cannot start with a hyphen.
328
+ # Corresponds to the JSON property `name`
329
+ # @return [String]
330
+ attr_accessor :name
331
+
332
+ # The size, in GB, of the disk to attach. If the size is not specified, a
333
+ # default is chosen to ensure reasonable I/O performance. If the disk type is
334
+ # specified as `local-ssd`, multiple local drives are automatically combined to
335
+ # provide the requested size. Note, however, that each physical SSD is 375GB in
336
+ # size, and no more than 8 drives can be attached to a single instance.
337
+ # Corresponds to the JSON property `sizeGb`
338
+ # @return [Fixnum]
339
+ attr_accessor :size_gb
340
+
341
+ # An optional image to put on the disk before attaching it to the VM.
342
+ # Corresponds to the JSON property `sourceImage`
343
+ # @return [String]
344
+ attr_accessor :source_image
345
+
346
+ # The Compute Engine disk type. If unspecified, `pd-standard` is used.
347
+ # Corresponds to the JSON property `type`
348
+ # @return [String]
349
+ attr_accessor :type
350
+
209
351
  def initialize(**args)
210
352
  update!(**args)
211
353
  end
212
354
 
213
355
  # Update properties of this object
214
356
  def update!(**args)
357
+ @name = args[:name] if args.key?(:name)
358
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
359
+ @source_image = args[:source_image] if args.key?(:source_image)
360
+ @type = args[:type] if args.key?(:type)
215
361
  end
216
362
  end
217
363
 
@@ -248,6 +394,32 @@ module Google
248
394
  end
249
395
  end
250
396
 
397
+ # Configuration for an existing disk to be attached to the VM.
398
+ class ExistingDisk
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # If `disk` contains slashes, the Cloud Life Sciences API assumes that it is a
402
+ # complete URL for the disk. If `disk` does not contain slashes, the Cloud Life
403
+ # Sciences API assumes that the disk is a zonal disk and a URL will be generated
404
+ # of the form `zones//disks/`, where `` is the zone in which the instance is
405
+ # allocated. The disk must be ext4 formatted. If all `Mount` references to this
406
+ # disk have the `read_only` flag set to true, the disk will be attached in `read-
407
+ # only` mode and can be shared with other instances. Otherwise, the disk will be
408
+ # available for writing but cannot be shared.
409
+ # Corresponds to the JSON property `disk`
410
+ # @return [String]
411
+ attr_accessor :disk
412
+
413
+ def initialize(**args)
414
+ update!(**args)
415
+ end
416
+
417
+ # Update properties of this object
418
+ def update!(**args)
419
+ @disk = args[:disk] if args.key?(:disk)
420
+ end
421
+ end
422
+
251
423
  # An event generated when the execution of a pipeline has failed. Note that
252
424
  # other events can continue to occur after this event.
253
425
  class FailedEvent
@@ -274,19 +446,41 @@ module Google
274
446
  end
275
447
  end
276
448
 
277
- # The response message for Operations.ListOperations.
278
- class ListOperationsResponse
449
+ # Carries information about the pipeline execution that is returned in the long
450
+ # running operation's metadata field.
451
+ class Metadata
279
452
  include Google::Apis::Core::Hashable
280
453
 
281
- # The standard List next-page token.
282
- # Corresponds to the JSON property `nextPageToken`
454
+ # The time at which the operation was created by the API.
455
+ # Corresponds to the JSON property `createTime`
283
456
  # @return [String]
284
- attr_accessor :next_page_token
457
+ attr_accessor :create_time
285
458
 
286
- # A list of operations that matches the specified filter in the request.
287
- # Corresponds to the JSON property `operations`
288
- # @return [Array<Google::Apis::GenomicsV1::Operation>]
289
- attr_accessor :operations
459
+ # The time at which execution was completed and resources were cleaned up.
460
+ # Corresponds to the JSON property `endTime`
461
+ # @return [String]
462
+ attr_accessor :end_time
463
+
464
+ # The list of events that have happened so far during the execution of this
465
+ # operation.
466
+ # Corresponds to the JSON property `events`
467
+ # @return [Array<Google::Apis::GenomicsV1::Event>]
468
+ attr_accessor :events
469
+
470
+ # The user-defined labels associated with this operation.
471
+ # Corresponds to the JSON property `labels`
472
+ # @return [Hash<String,String>]
473
+ attr_accessor :labels
474
+
475
+ # Specifies a series of actions to execute, expressed as Docker containers.
476
+ # Corresponds to the JSON property `pipeline`
477
+ # @return [Google::Apis::GenomicsV1::Pipeline]
478
+ attr_accessor :pipeline
479
+
480
+ # The first time at which resources were allocated to execute the pipeline.
481
+ # Corresponds to the JSON property `startTime`
482
+ # @return [String]
483
+ attr_accessor :start_time
290
484
 
291
485
  def initialize(**args)
292
486
  update!(**args)
@@ -294,50 +488,34 @@ module Google
294
488
 
295
489
  # Update properties of this object
296
490
  def update!(**args)
297
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
298
- @operations = args[:operations] if args.key?(:operations)
491
+ @create_time = args[:create_time] if args.key?(:create_time)
492
+ @end_time = args[:end_time] if args.key?(:end_time)
493
+ @events = args[:events] if args.key?(:events)
494
+ @labels = args[:labels] if args.key?(:labels)
495
+ @pipeline = args[:pipeline] if args.key?(:pipeline)
496
+ @start_time = args[:start_time] if args.key?(:start_time)
299
497
  end
300
498
  end
301
499
 
302
- # This resource represents a long-running operation that is the result of a
303
- # network API call.
304
- class Operation
500
+ # Carries information about a particular disk mount inside a container.
501
+ class Mount
305
502
  include Google::Apis::Core::Hashable
306
503
 
307
- # If the value is `false`, it means the operation is still in progress. If `true`
308
- # , the operation is completed, and either `error` or `response` is available.
309
- # Corresponds to the JSON property `done`
310
- # @return [Boolean]
311
- attr_accessor :done
312
- alias_method :done?, :done
313
-
314
- # The `Status` type defines a logical error model that is suitable for different
315
- # programming environments, including REST APIs and RPC APIs. It is used by [
316
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
317
- # data: error code, error message, and error details. You can find out more
318
- # about this error model and how to work with it in the [API Design Guide](https:
319
- # //cloud.google.com/apis/design/errors).
320
- # Corresponds to the JSON property `error`
321
- # @return [Google::Apis::GenomicsV1::Status]
322
- attr_accessor :error
323
-
324
- # An OperationMetadata or Metadata object. This will always be returned with the
325
- # Operation.
326
- # Corresponds to the JSON property `metadata`
327
- # @return [Hash<String,Object>]
328
- attr_accessor :metadata
504
+ # The name of the disk to mount, as specified in the resources section.
505
+ # Corresponds to the JSON property `disk`
506
+ # @return [String]
507
+ attr_accessor :disk
329
508
 
330
- # The server-assigned name, which is only unique within the same service that
331
- # originally returns it. For example: `operations/CJHU7Oi_ChDrveSpBRjfuL-
332
- # qzoWAgEw`
333
- # Corresponds to the JSON property `name`
509
+ # The path to mount the disk inside the container.
510
+ # Corresponds to the JSON property `path`
334
511
  # @return [String]
335
- attr_accessor :name
512
+ attr_accessor :path
336
513
 
337
- # An Empty object.
338
- # Corresponds to the JSON property `response`
339
- # @return [Hash<String,Object>]
340
- attr_accessor :response
514
+ # If true, the disk is mounted read-only inside the container.
515
+ # Corresponds to the JSON property `readOnly`
516
+ # @return [Boolean]
517
+ attr_accessor :read_only
518
+ alias_method :read_only?, :read_only
341
519
 
342
520
  def initialize(**args)
343
521
  update!(**args)
@@ -345,33 +523,61 @@ module Google
345
523
 
346
524
  # Update properties of this object
347
525
  def update!(**args)
348
- @done = args[:done] if args.key?(:done)
349
- @error = args[:error] if args.key?(:error)
350
- @metadata = args[:metadata] if args.key?(:metadata)
351
- @name = args[:name] if args.key?(:name)
352
- @response = args[:response] if args.key?(:response)
526
+ @disk = args[:disk] if args.key?(:disk)
527
+ @path = args[:path] if args.key?(:path)
528
+ @read_only = args[:read_only] if args.key?(:read_only)
353
529
  end
354
530
  end
355
531
 
356
- # An event that occurred during an Operation.
357
- class OperationEvent
532
+ # Configuration for an `NFSMount` to be attached to the VM.
533
+ class NfsMount
358
534
  include Google::Apis::Core::Hashable
359
535
 
360
- # Required description of event.
361
- # Corresponds to the JSON property `description`
536
+ # A target NFS mount. The target must be specified as `address:/mount".
537
+ # Corresponds to the JSON property `target`
362
538
  # @return [String]
363
- attr_accessor :description
539
+ attr_accessor :target
364
540
 
365
- # Optional time of when event finished. An event can have a start time and no
366
- # finish time. If an event has a finish time, there must be a start time.
367
- # Corresponds to the JSON property `endTime`
541
+ def initialize(**args)
542
+ update!(**args)
543
+ end
544
+
545
+ # Update properties of this object
546
+ def update!(**args)
547
+ @target = args[:target] if args.key?(:target)
548
+ end
549
+ end
550
+
551
+ # VM networking options.
552
+ class Network
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # The network name to attach the VM's network interface to. The value will be
556
+ # prefixed with `global/networks/` unless it contains a `/`, in which case it is
557
+ # assumed to be a fully specified network resource URL. If unspecified, the
558
+ # global default network is used.
559
+ # Corresponds to the JSON property `name`
368
560
  # @return [String]
369
- attr_accessor :end_time
561
+ attr_accessor :name
370
562
 
371
- # Optional time of when event started.
372
- # Corresponds to the JSON property `startTime`
563
+ # If the specified network is configured for custom subnet creation, the name of
564
+ # the subnetwork to attach the instance to must be specified here. The value is
565
+ # prefixed with `regions/*/subnetworks/` unless it contains a `/`, in which case
566
+ # it is assumed to be a fully specified subnetwork resource URL. If the `*`
567
+ # character appears in the value, it is replaced with the region that the
568
+ # virtual machine has been allocated in.
569
+ # Corresponds to the JSON property `subnetwork`
373
570
  # @return [String]
374
- attr_accessor :start_time
571
+ attr_accessor :subnetwork
572
+
573
+ # If set to true, do not attach a public IP address to the VM. Note that without
574
+ # a public IP address, additional configuration is required to allow the VM to
575
+ # access Google services. See https://cloud.google.com/vpc/docs/configure-
576
+ # private-google-access for more information.
577
+ # Corresponds to the JSON property `usePrivateAddress`
578
+ # @return [Boolean]
579
+ attr_accessor :use_private_address
580
+ alias_method :use_private_address?, :use_private_address
375
581
 
376
582
  def initialize(**args)
377
583
  update!(**args)
@@ -379,65 +585,84 @@ module Google
379
585
 
380
586
  # Update properties of this object
381
587
  def update!(**args)
382
- @description = args[:description] if args.key?(:description)
383
- @end_time = args[:end_time] if args.key?(:end_time)
384
- @start_time = args[:start_time] if args.key?(:start_time)
588
+ @name = args[:name] if args.key?(:name)
589
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
590
+ @use_private_address = args[:use_private_address] if args.key?(:use_private_address)
385
591
  end
386
592
  end
387
593
 
388
- # Metadata describing an Operation.
389
- class OperationMetadata
594
+ # Configuration for a persistent disk to be attached to the VM. See https://
595
+ # cloud.google.com/compute/docs/disks/performance for more information about
596
+ # disk type, size, and performance considerations.
597
+ class PersistentDisk
390
598
  include Google::Apis::Core::Hashable
391
599
 
392
- # This field is deprecated. Use `labels` instead. Optionally provided by the
393
- # caller when submitting the request that creates the operation.
394
- # Corresponds to the JSON property `clientId`
395
- # @return [String]
396
- attr_accessor :client_id
600
+ # The size, in GB, of the disk to attach. If the size is not specified, a
601
+ # default is chosen to ensure reasonable I/O performance. If the disk type is
602
+ # specified as `local-ssd`, multiple local drives are automatically combined to
603
+ # provide the requested size. Note, however, that each physical SSD is 375GB in
604
+ # size, and no more than 8 drives can be attached to a single instance.
605
+ # Corresponds to the JSON property `sizeGb`
606
+ # @return [Fixnum]
607
+ attr_accessor :size_gb
397
608
 
398
- # The time at which the job was submitted to the Genomics service.
399
- # Corresponds to the JSON property `createTime`
609
+ # An image to put on the disk before attaching it to the VM.
610
+ # Corresponds to the JSON property `sourceImage`
400
611
  # @return [String]
401
- attr_accessor :create_time
612
+ attr_accessor :source_image
402
613
 
403
- # The time at which the job stopped running.
404
- # Corresponds to the JSON property `endTime`
614
+ # The Compute Engine disk type. If unspecified, `pd-standard` is used.
615
+ # Corresponds to the JSON property `type`
405
616
  # @return [String]
406
- attr_accessor :end_time
407
-
408
- # Optional event messages that were generated during the job's execution. This
409
- # also contains any warnings that were generated during import or export.
410
- # Corresponds to the JSON property `events`
411
- # @return [Array<Google::Apis::GenomicsV1::OperationEvent>]
412
- attr_accessor :events
617
+ attr_accessor :type
413
618
 
414
- # Optionally provided by the caller when submitting the request that creates the
415
- # operation.
416
- # Corresponds to the JSON property `labels`
417
- # @return [Hash<String,String>]
418
- attr_accessor :labels
419
-
420
- # The Google Cloud Project in which the job is scoped.
421
- # Corresponds to the JSON property `projectId`
422
- # @return [String]
423
- attr_accessor :project_id
619
+ def initialize(**args)
620
+ update!(**args)
621
+ end
424
622
 
425
- # The original request that started the operation. Note that this will be in
426
- # current version of the API. If the operation was started with v1beta2 API and
427
- # a GetOperation is performed on v1 API, a v1 request will be returned.
428
- # Corresponds to the JSON property `request`
429
- # @return [Hash<String,Object>]
430
- attr_accessor :request
623
+ # Update properties of this object
624
+ def update!(**args)
625
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
626
+ @source_image = args[:source_image] if args.key?(:source_image)
627
+ @type = args[:type] if args.key?(:type)
628
+ end
629
+ end
431
630
 
432
- # Runtime metadata on this Operation.
433
- # Corresponds to the JSON property `runtimeMetadata`
434
- # @return [Hash<String,Object>]
435
- attr_accessor :runtime_metadata
631
+ # Specifies a series of actions to execute, expressed as Docker containers.
632
+ class Pipeline
633
+ include Google::Apis::Core::Hashable
436
634
 
437
- # The time at which the job began to run.
438
- # Corresponds to the JSON property `startTime`
635
+ # The list of actions to execute, in the order they are specified.
636
+ # Corresponds to the JSON property `actions`
637
+ # @return [Array<Google::Apis::GenomicsV1::Action>]
638
+ attr_accessor :actions
639
+
640
+ # Holds encrypted information that is only decrypted and stored in RAM by the
641
+ # worker VM when running the pipeline.
642
+ # Corresponds to the JSON property `encryptedEnvironment`
643
+ # @return [Google::Apis::GenomicsV1::Secret]
644
+ attr_accessor :encrypted_environment
645
+
646
+ # The environment to pass into every action. Each action can also specify
647
+ # additional environment variables but cannot delete an entry from this map (
648
+ # though they can overwrite it with a different value).
649
+ # Corresponds to the JSON property `environment`
650
+ # @return [Hash<String,String>]
651
+ attr_accessor :environment
652
+
653
+ # The system resources for the pipeline run. At least one zone or region must be
654
+ # specified or the pipeline run will fail.
655
+ # Corresponds to the JSON property `resources`
656
+ # @return [Google::Apis::GenomicsV1::Resources]
657
+ attr_accessor :resources
658
+
659
+ # The maximum amount of time to give the pipeline to complete. This includes the
660
+ # time spent waiting for a worker to be allocated. If the pipeline fails to
661
+ # complete before the timeout, it will be cancelled and the error code will be
662
+ # set to DEADLINE_EXCEEDED. If unspecified, it will default to 7 days.
663
+ # Corresponds to the JSON property `timeout`
439
664
  # @return [String]
440
- attr_accessor :start_time
665
+ attr_accessor :timeout
441
666
 
442
667
  def initialize(**args)
443
668
  update!(**args)
@@ -445,15 +670,11 @@ module Google
445
670
 
446
671
  # Update properties of this object
447
672
  def update!(**args)
448
- @client_id = args[:client_id] if args.key?(:client_id)
449
- @create_time = args[:create_time] if args.key?(:create_time)
450
- @end_time = args[:end_time] if args.key?(:end_time)
451
- @events = args[:events] if args.key?(:events)
452
- @labels = args[:labels] if args.key?(:labels)
453
- @project_id = args[:project_id] if args.key?(:project_id)
454
- @request = args[:request] if args.key?(:request)
455
- @runtime_metadata = args[:runtime_metadata] if args.key?(:runtime_metadata)
456
- @start_time = args[:start_time] if args.key?(:start_time)
673
+ @actions = args[:actions] if args.key?(:actions)
674
+ @encrypted_environment = args[:encrypted_environment] if args.key?(:encrypted_environment)
675
+ @environment = args[:environment] if args.key?(:environment)
676
+ @resources = args[:resources] if args.key?(:resources)
677
+ @timeout = args[:timeout] if args.key?(:timeout)
457
678
  end
458
679
  end
459
680
 
@@ -495,6 +716,46 @@ module Google
495
716
  end
496
717
  end
497
718
 
719
+ # The system resources for the pipeline run. At least one zone or region must be
720
+ # specified or the pipeline run will fail.
721
+ class Resources
722
+ include Google::Apis::Core::Hashable
723
+
724
+ # The project ID to allocate resources in.
725
+ # Corresponds to the JSON property `projectId`
726
+ # @return [String]
727
+ attr_accessor :project_id
728
+
729
+ # The list of regions allowed for VM allocation. If set, the `zones` field must
730
+ # not be set.
731
+ # Corresponds to the JSON property `regions`
732
+ # @return [Array<String>]
733
+ attr_accessor :regions
734
+
735
+ # Carries information about a Compute Engine VM resource.
736
+ # Corresponds to the JSON property `virtualMachine`
737
+ # @return [Google::Apis::GenomicsV1::VirtualMachine]
738
+ attr_accessor :virtual_machine
739
+
740
+ # The list of zones allowed for VM allocation. If set, the `regions` field must
741
+ # not be set.
742
+ # Corresponds to the JSON property `zones`
743
+ # @return [Array<String>]
744
+ attr_accessor :zones
745
+
746
+ def initialize(**args)
747
+ update!(**args)
748
+ end
749
+
750
+ # Update properties of this object
751
+ def update!(**args)
752
+ @project_id = args[:project_id] if args.key?(:project_id)
753
+ @regions = args[:regions] if args.key?(:regions)
754
+ @virtual_machine = args[:virtual_machine] if args.key?(:virtual_machine)
755
+ @zones = args[:zones] if args.key?(:zones)
756
+ end
757
+ end
758
+
498
759
  # The response to the RunPipeline method, returned in the operation's result
499
760
  # field on success.
500
761
  class RunPipelineResponse
@@ -509,16 +770,23 @@ module Google
509
770
  end
510
771
  end
511
772
 
512
- # Runtime metadata that will be populated in the runtimeMetadata field of the
513
- # Operation associated with a RunPipeline execution.
514
- class RuntimeMetadata
773
+ # Holds encrypted information that is only decrypted and stored in RAM by the
774
+ # worker VM when running the pipeline.
775
+ class Secret
515
776
  include Google::Apis::Core::Hashable
516
777
 
517
- # Describes a Compute Engine resource that is being managed by a running
518
- # pipeline.
519
- # Corresponds to the JSON property `computeEngine`
520
- # @return [Google::Apis::GenomicsV1::ComputeEngine]
521
- attr_accessor :compute_engine
778
+ # The value of the cipherText response from the `encrypt` method. This field is
779
+ # intentionally unaudited.
780
+ # Corresponds to the JSON property `cipherText`
781
+ # @return [String]
782
+ attr_accessor :cipher_text
783
+
784
+ # The name of the Cloud KMS key that will be used to decrypt the secret value.
785
+ # The VM service account must have the required permissions and authentication
786
+ # scopes to invoke the `decrypt` method on the specified key.
787
+ # Corresponds to the JSON property `keyName`
788
+ # @return [String]
789
+ attr_accessor :key_name
522
790
 
523
791
  def initialize(**args)
524
792
  update!(**args)
@@ -526,36 +794,26 @@ module Google
526
794
 
527
795
  # Update properties of this object
528
796
  def update!(**args)
529
- @compute_engine = args[:compute_engine] if args.key?(:compute_engine)
797
+ @cipher_text = args[:cipher_text] if args.key?(:cipher_text)
798
+ @key_name = args[:key_name] if args.key?(:key_name)
530
799
  end
531
800
  end
532
801
 
533
- # The `Status` type defines a logical error model that is suitable for different
534
- # programming environments, including REST APIs and RPC APIs. It is used by [
535
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
536
- # data: error code, error message, and error details. You can find out more
537
- # about this error model and how to work with it in the [API Design Guide](https:
538
- # //cloud.google.com/apis/design/errors).
539
- class Status
802
+ # Carries information about a Google Cloud service account.
803
+ class ServiceAccount
540
804
  include Google::Apis::Core::Hashable
541
805
 
542
- # The status code, which should be an enum value of google.rpc.Code.
543
- # Corresponds to the JSON property `code`
544
- # @return [Fixnum]
545
- attr_accessor :code
546
-
547
- # A list of messages that carry the error details. There is a common set of
548
- # message types for APIs to use.
549
- # Corresponds to the JSON property `details`
550
- # @return [Array<Hash<String,Object>>]
551
- attr_accessor :details
552
-
553
- # A developer-facing error message, which should be in English. Any user-facing
554
- # error message should be localized and sent in the google.rpc.Status.details
555
- # field, or localized by the client.
556
- # Corresponds to the JSON property `message`
806
+ # Email address of the service account. If not specified, the default Compute
807
+ # Engine service account for the project will be used.
808
+ # Corresponds to the JSON property `email`
557
809
  # @return [String]
558
- attr_accessor :message
810
+ attr_accessor :email
811
+
812
+ # List of scopes to be enabled for this service account on the VM, in addition
813
+ # to the cloud-platform API scope that will be added by default.
814
+ # Corresponds to the JSON property `scopes`
815
+ # @return [Array<String>]
816
+ attr_accessor :scopes
559
817
 
560
818
  def initialize(**args)
561
819
  update!(**args)
@@ -563,9 +821,8 @@ module Google
563
821
 
564
822
  # Update properties of this object
565
823
  def update!(**args)
566
- @code = args[:code] if args.key?(:code)
567
- @details = args[:details] if args.key?(:details)
568
- @message = args[:message] if args.key?(:message)
824
+ @email = args[:email] if args.key?(:email)
825
+ @scopes = args[:scopes] if args.key?(:scopes)
569
826
  end
570
827
  end
571
828
 
@@ -597,6 +854,186 @@ module Google
597
854
  end
598
855
  end
599
856
 
857
+ # Carries information about a Compute Engine VM resource.
858
+ class VirtualMachine
859
+ include Google::Apis::Core::Hashable
860
+
861
+ # The list of accelerators to attach to the VM.
862
+ # Corresponds to the JSON property `accelerators`
863
+ # @return [Array<Google::Apis::GenomicsV1::Accelerator>]
864
+ attr_accessor :accelerators
865
+
866
+ # The size of the boot disk, in GB. The boot disk must be large enough to
867
+ # accommodate all of the Docker images from each action in the pipeline at the
868
+ # same time. If not specified, a small but reasonable default value is used.
869
+ # Corresponds to the JSON property `bootDiskSizeGb`
870
+ # @return [Fixnum]
871
+ attr_accessor :boot_disk_size_gb
872
+
873
+ # The host operating system image to use. Currently, only Container-Optimized OS
874
+ # images can be used. The default value is `projects/cos-cloud/global/images/
875
+ # family/cos-stable`, which selects the latest stable release of Container-
876
+ # Optimized OS. This option is provided to allow testing against the beta
877
+ # release of the operating system to ensure that the new version does not
878
+ # interact negatively with production pipelines. To test a pipeline against the
879
+ # beta release of Container-Optimized OS, use the value `projects/cos-cloud/
880
+ # global/images/family/cos-beta`.
881
+ # Corresponds to the JSON property `bootImage`
882
+ # @return [String]
883
+ attr_accessor :boot_image
884
+
885
+ # The CPU platform to request. An instance based on a newer platform can be
886
+ # allocated, but never one with fewer capabilities. The value of this parameter
887
+ # must be a valid Compute Engine CPU platform name (such as "Intel Skylake").
888
+ # This parameter is only useful for carefully optimized work loads where the CPU
889
+ # platform has a significant impact. For more information about the effect of
890
+ # this parameter, see https://cloud.google.com/compute/docs/instances/specify-
891
+ # min-cpu-platform.
892
+ # Corresponds to the JSON property `cpuPlatform`
893
+ # @return [String]
894
+ attr_accessor :cpu_platform
895
+
896
+ # The list of disks to create and attach to the VM. Specify either the `volumes[]
897
+ # ` field or the `disks[]` field, but not both.
898
+ # Corresponds to the JSON property `disks`
899
+ # @return [Array<Google::Apis::GenomicsV1::Disk>]
900
+ attr_accessor :disks
901
+
902
+ # The Compute Engine Disk Images to use as a Docker cache. The disks will be
903
+ # mounted into the Docker folder in a way that the images present in the cache
904
+ # will not need to be pulled. The digests of the cached images must match those
905
+ # of the tags used or the latest version will still be pulled. The root
906
+ # directory of the ext4 image must contain `image` and `overlay2` directories
907
+ # copied from the Docker directory of a VM where the desired Docker images have
908
+ # already been pulled. Any images pulled that are not cached will be stored on
909
+ # the first cache disk instead of the boot disk. Only a single image is
910
+ # supported.
911
+ # Corresponds to the JSON property `dockerCacheImages`
912
+ # @return [Array<String>]
913
+ attr_accessor :docker_cache_images
914
+
915
+ # Whether Stackdriver monitoring should be enabled on the VM.
916
+ # Corresponds to the JSON property `enableStackdriverMonitoring`
917
+ # @return [Boolean]
918
+ attr_accessor :enable_stackdriver_monitoring
919
+ alias_method :enable_stackdriver_monitoring?, :enable_stackdriver_monitoring
920
+
921
+ # Optional set of labels to apply to the VM and any attached disk resources.
922
+ # These labels must adhere to the [name and value restrictions](https://cloud.
923
+ # google.com/compute/docs/labeling-resources) on VM labels imposed by Compute
924
+ # Engine. Labels keys with the prefix 'google-' are reserved for use by Google.
925
+ # Labels applied at creation time to the VM. Applied on a best-effort basis to
926
+ # attached disk resources shortly after VM creation.
927
+ # Corresponds to the JSON property `labels`
928
+ # @return [Hash<String,String>]
929
+ attr_accessor :labels
930
+
931
+ # Required. The machine type of the virtual machine to create. Must be the short
932
+ # name of a standard machine type (such as "n1-standard-1") or a custom machine
933
+ # type (such as "custom-1-4096", where "1" indicates the number of vCPUs and "
934
+ # 4096" indicates the memory in MB). See [Creating an instance with a custom
935
+ # machine type](https://cloud.google.com/compute/docs/instances/creating-
936
+ # instance-with-custom-machine-type#create) for more specifications on creating
937
+ # a custom machine type.
938
+ # Corresponds to the JSON property `machineType`
939
+ # @return [String]
940
+ attr_accessor :machine_type
941
+
942
+ # VM networking options.
943
+ # Corresponds to the JSON property `network`
944
+ # @return [Google::Apis::GenomicsV1::Network]
945
+ attr_accessor :network
946
+
947
+ # The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The
948
+ # version specified here must be compatible with the GPU libraries contained in
949
+ # the container being executed, and must be one of the drivers hosted in the `
950
+ # nvidia-drivers-us-public` bucket on Google Cloud Storage.
951
+ # Corresponds to the JSON property `nvidiaDriverVersion`
952
+ # @return [String]
953
+ attr_accessor :nvidia_driver_version
954
+
955
+ # If true, allocate a preemptible VM.
956
+ # Corresponds to the JSON property `preemptible`
957
+ # @return [Boolean]
958
+ attr_accessor :preemptible
959
+ alias_method :preemptible?, :preemptible
960
+
961
+ # Carries information about a Google Cloud service account.
962
+ # Corresponds to the JSON property `serviceAccount`
963
+ # @return [Google::Apis::GenomicsV1::ServiceAccount]
964
+ attr_accessor :service_account
965
+
966
+ # The list of disks and other storage to create or attach to the VM. Specify
967
+ # either the `volumes[]` field or the `disks[]` field, but not both.
968
+ # Corresponds to the JSON property `volumes`
969
+ # @return [Array<Google::Apis::GenomicsV1::Volume>]
970
+ attr_accessor :volumes
971
+
972
+ def initialize(**args)
973
+ update!(**args)
974
+ end
975
+
976
+ # Update properties of this object
977
+ def update!(**args)
978
+ @accelerators = args[:accelerators] if args.key?(:accelerators)
979
+ @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb)
980
+ @boot_image = args[:boot_image] if args.key?(:boot_image)
981
+ @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
982
+ @disks = args[:disks] if args.key?(:disks)
983
+ @docker_cache_images = args[:docker_cache_images] if args.key?(:docker_cache_images)
984
+ @enable_stackdriver_monitoring = args[:enable_stackdriver_monitoring] if args.key?(:enable_stackdriver_monitoring)
985
+ @labels = args[:labels] if args.key?(:labels)
986
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
987
+ @network = args[:network] if args.key?(:network)
988
+ @nvidia_driver_version = args[:nvidia_driver_version] if args.key?(:nvidia_driver_version)
989
+ @preemptible = args[:preemptible] if args.key?(:preemptible)
990
+ @service_account = args[:service_account] if args.key?(:service_account)
991
+ @volumes = args[:volumes] if args.key?(:volumes)
992
+ end
993
+ end
994
+
995
+ # Carries information about storage that can be attached to a VM. Specify either
996
+ # `Volume` or `Disk`, but not both.
997
+ class Volume
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ # Configuration for an existing disk to be attached to the VM.
1001
+ # Corresponds to the JSON property `existingDisk`
1002
+ # @return [Google::Apis::GenomicsV1::ExistingDisk]
1003
+ attr_accessor :existing_disk
1004
+
1005
+ # Configuration for an `NFSMount` to be attached to the VM.
1006
+ # Corresponds to the JSON property `nfsMount`
1007
+ # @return [Google::Apis::GenomicsV1::NfsMount]
1008
+ attr_accessor :nfs_mount
1009
+
1010
+ # Configuration for a persistent disk to be attached to the VM. See https://
1011
+ # cloud.google.com/compute/docs/disks/performance for more information about
1012
+ # disk type, size, and performance considerations.
1013
+ # Corresponds to the JSON property `persistentDisk`
1014
+ # @return [Google::Apis::GenomicsV1::PersistentDisk]
1015
+ attr_accessor :persistent_disk
1016
+
1017
+ # A user-supplied name for the volume. Used when mounting the volume into `
1018
+ # Actions`. The name must contain only upper and lowercase alphanumeric
1019
+ # characters and hyphens and cannot start with a hyphen.
1020
+ # Corresponds to the JSON property `volume`
1021
+ # @return [String]
1022
+ attr_accessor :volume
1023
+
1024
+ def initialize(**args)
1025
+ update!(**args)
1026
+ end
1027
+
1028
+ # Update properties of this object
1029
+ def update!(**args)
1030
+ @existing_disk = args[:existing_disk] if args.key?(:existing_disk)
1031
+ @nfs_mount = args[:nfs_mount] if args.key?(:nfs_mount)
1032
+ @persistent_disk = args[:persistent_disk] if args.key?(:persistent_disk)
1033
+ @volume = args[:volume] if args.key?(:volume)
1034
+ end
1035
+ end
1036
+
600
1037
  # An event generated after a worker VM has been assigned to run the pipeline.
601
1038
  class WorkerAssignedEvent
602
1039
  include Google::Apis::Core::Hashable