Class: Google::Apis::LifesciencesV2beta::VirtualMachine
- Inherits:
-
Object
- Object
- Google::Apis::LifesciencesV2beta::VirtualMachine
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/lifesciences_v2beta/classes.rb,
lib/google/apis/lifesciences_v2beta/representations.rb,
lib/google/apis/lifesciences_v2beta/representations.rb
Overview
Carries information about a Compute Engine VM resource.
Instance Attribute Summary collapse
-
#accelerators ⇒ Array<Google::Apis::LifesciencesV2beta::Accelerator>
The list of accelerators to attach to the VM.
-
#boot_disk_size_gb ⇒ Fixnum
The size of the boot disk, in GB.
-
#boot_image ⇒ String
The host operating system image to use.
-
#cpu_platform ⇒ String
The CPU platform to request.
-
#disks ⇒ Array<Google::Apis::LifesciencesV2beta::Disk>
The list of disks to create and attach to the VM.
-
#docker_cache_images ⇒ Array<String>
The Compute Engine Disk Images to use as a Docker cache.
-
#enable_stackdriver_monitoring ⇒ Boolean
(also: #enable_stackdriver_monitoring?)
Whether Stackdriver monitoring should be enabled on the VM.
-
#labels ⇒ Hash<String,String>
Optional set of labels to apply to the VM and any attached disk resources.
-
#machine_type ⇒ String
Required.
-
#network ⇒ Google::Apis::LifesciencesV2beta::Network
VM networking options.
-
#nvidia_driver_version ⇒ String
The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
-
#preemptible ⇒ Boolean
(also: #preemptible?)
If true, allocate a preemptible VM.
-
#reservation ⇒ String
If specified, the VM will only be allocated inside the matching reservation.
-
#service_account ⇒ Google::Apis::LifesciencesV2beta::ServiceAccount
Carries information about a Google Cloud service account.
-
#volumes ⇒ Array<Google::Apis::LifesciencesV2beta::Volume>
The list of disks and other storage to create or attach to the VM.
Instance Method Summary collapse
-
#initialize(**args) ⇒ VirtualMachine
constructor
A new instance of VirtualMachine.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ VirtualMachine
Returns a new instance of VirtualMachine.
1365 1366 1367 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1365 def initialize(**args) update!(**args) end |
Instance Attribute Details
#accelerators ⇒ Array<Google::Apis::LifesciencesV2beta::Accelerator>
The list of accelerators to attach to the VM.
Corresponds to the JSON property accelerators
1251 1252 1253 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1251 def accelerators @accelerators end |
#boot_disk_size_gb ⇒ Fixnum
The size of the boot disk, in GB. The boot disk must be large enough to
accommodate all of the Docker images from each action in the pipeline at the
same time. If not specified, a small but reasonable default value is used.
Corresponds to the JSON property bootDiskSizeGb
1258 1259 1260 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1258 def boot_disk_size_gb @boot_disk_size_gb end |
#boot_image ⇒ String
The host operating system image to use. Currently, only Container-Optimized OS
images can be used. The default value is projects/cos-cloud/global/images/
family/cos-stable
, which selects the latest stable release of Container-
Optimized OS. This option is provided to allow testing against the beta
release of the operating system to ensure that the new version does not
interact negatively with production pipelines. To test a pipeline against the
beta release of Container-Optimized OS, use the value projects/cos-cloud/
global/images/family/cos-beta
.
Corresponds to the JSON property bootImage
1270 1271 1272 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1270 def boot_image @boot_image end |
#cpu_platform ⇒ String
The CPU platform to request. An instance based on a newer platform can be
allocated, but never one with fewer capabilities. The value of this parameter
must be a valid Compute Engine CPU platform name (such as "Intel Skylake").
This parameter is only useful for carefully optimized work loads where the CPU
platform has a significant impact. For more information about the effect of
this parameter, see https://cloud.google.com/compute/docs/instances/specify-
min-cpu-platform.
Corresponds to the JSON property cpuPlatform
1281 1282 1283 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1281 def cpu_platform @cpu_platform end |
#disks ⇒ Array<Google::Apis::LifesciencesV2beta::Disk>
The list of disks to create and attach to the VM. Specify either the volumes[]
field or the disks[]
field, but not both.
Corresponds to the JSON property disks
1287 1288 1289 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1287 def disks @disks end |
#docker_cache_images ⇒ Array<String>
The Compute Engine Disk Images to use as a Docker cache. The disks will be
mounted into the Docker folder in a way that the images present in the cache
will not need to be pulled. The digests of the cached images must match those
of the tags used or the latest version will still be pulled. The root
directory of the ext4 image must contain image
and overlay2
directories
copied from the Docker directory of a VM where the desired Docker images have
already been pulled. Any images pulled that are not cached will be stored on
the first cache disk instead of the boot disk. Only a single image is
supported.
Corresponds to the JSON property dockerCacheImages
1300 1301 1302 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1300 def docker_cache_images @docker_cache_images end |
#enable_stackdriver_monitoring ⇒ Boolean Also known as: enable_stackdriver_monitoring?
Whether Stackdriver monitoring should be enabled on the VM.
Corresponds to the JSON property enableStackdriverMonitoring
1305 1306 1307 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1305 def enable_stackdriver_monitoring @enable_stackdriver_monitoring end |
#labels ⇒ Hash<String,String>
Optional set of labels to apply to the VM and any attached disk resources.
These labels must adhere to the name and value restrictions on VM labels imposed by Compute
Engine. Labels keys with the prefix 'google-' are reserved for use by Google.
Labels applied at creation time to the VM. Applied on a best-effort basis to
attached disk resources shortly after VM creation.
Corresponds to the JSON property labels
1316 1317 1318 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1316 def labels @labels end |
#machine_type ⇒ String
Required. The machine type of the virtual machine to create. Must be the short
name of a standard machine type (such as "n1-standard-1") or a custom machine
type (such as "custom-1-4096", where "1" indicates the number of vCPUs and "
4096" indicates the memory in MB). See Creating an instance with a custom
machine type for more specifications on creating
a custom machine type.
Corresponds to the JSON property machineType
1327 1328 1329 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1327 def machine_type @machine_type end |
#network ⇒ Google::Apis::LifesciencesV2beta::Network
VM networking options.
Corresponds to the JSON property network
1332 1333 1334 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1332 def network @network end |
#nvidia_driver_version ⇒ String
The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator. The
version specified here must be compatible with the GPU libraries contained in
the container being executed, and must be one of the drivers hosted in the
nvidia-drivers-us-public
bucket on Google Cloud Storage.
Corresponds to the JSON property nvidiaDriverVersion
1340 1341 1342 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1340 def nvidia_driver_version @nvidia_driver_version end |
#preemptible ⇒ Boolean Also known as: preemptible?
If true, allocate a preemptible VM.
Corresponds to the JSON property preemptible
1345 1346 1347 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1345 def preemptible @preemptible end |
#reservation ⇒ String
If specified, the VM will only be allocated inside the matching reservation.
It will fail if the VM parameters don't match the reservation.
Corresponds to the JSON property reservation
1352 1353 1354 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1352 def reservation @reservation end |
#service_account ⇒ Google::Apis::LifesciencesV2beta::ServiceAccount
Carries information about a Google Cloud service account.
Corresponds to the JSON property serviceAccount
1357 1358 1359 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1357 def service_account @service_account end |
#volumes ⇒ Array<Google::Apis::LifesciencesV2beta::Volume>
The list of disks and other storage to create or attach to the VM. Specify
either the volumes[]
field or the disks[]
field, but not both.
Corresponds to the JSON property volumes
1363 1364 1365 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1363 def volumes @volumes end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 |
# File 'lib/google/apis/lifesciences_v2beta/classes.rb', line 1370 def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @boot_disk_size_gb = args[:boot_disk_size_gb] if args.key?(:boot_disk_size_gb) @boot_image = args[:boot_image] if args.key?(:boot_image) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @disks = args[:disks] if args.key?(:disks) @docker_cache_images = args[:docker_cache_images] if args.key?(:docker_cache_images) @enable_stackdriver_monitoring = args[:enable_stackdriver_monitoring] if args.key?(:enable_stackdriver_monitoring) @labels = args[:labels] if args.key?(:labels) @machine_type = args[:machine_type] if args.key?(:machine_type) @network = args[:network] if args.key?(:network) @nvidia_driver_version = args[:nvidia_driver_version] if args.key?(:nvidia_driver_version) @preemptible = args[:preemptible] if args.key?(:preemptible) @reservation = args[:reservation] if args.key?(:reservation) @service_account = args[:service_account] if args.key?(:service_account) @volumes = args[:volumes] if args.key?(:volumes) end |