Class: Google::Apis::GenomicsV2alpha1::VirtualMachine

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/genomics_v2alpha1/classes.rb,
lib/google/apis/genomics_v2alpha1/representations.rb,
lib/google/apis/genomics_v2alpha1/representations.rb

Overview

Carries information about a Compute Engine VM resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ VirtualMachine

Returns a new instance of VirtualMachine.



1307
1308
1309
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1307

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#acceleratorsArray<Google::Apis::GenomicsV2alpha1::Accelerator>

The list of accelerators to attach to the VM. Corresponds to the JSON property accelerators



1193
1194
1195
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1193

def accelerators
  @accelerators
end

#boot_disk_size_gbFixnum

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

Returns:

  • (Fixnum)


1200
1201
1202
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1200

def boot_disk_size_gb
  @boot_disk_size_gb
end

#boot_imageString

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

Returns:

  • (String)


1212
1213
1214
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1212

def boot_image
  @boot_image
end

#cpu_platformString

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

Returns:

  • (String)


1223
1224
1225
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1223

def cpu_platform
  @cpu_platform
end

#disksArray<Google::Apis::GenomicsV2alpha1::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



1229
1230
1231
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1229

def disks
  @disks
end

#docker_cache_imagesArray<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

Returns:

  • (Array<String>)


1242
1243
1244
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1242

def docker_cache_images
  @docker_cache_images
end

#enable_stackdriver_monitoringBoolean Also known as: enable_stackdriver_monitoring?

Whether Stackdriver monitoring should be enabled on the VM. Corresponds to the JSON property enableStackdriverMonitoring

Returns:

  • (Boolean)


1247
1248
1249
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1247

def enable_stackdriver_monitoring
  @enable_stackdriver_monitoring
end

#labelsHash<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

Returns:

  • (Hash<String,String>)


1258
1259
1260
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1258

def labels
  @labels
end

#machine_typeString

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

Returns:

  • (String)


1269
1270
1271
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1269

def machine_type
  @machine_type
end

#networkGoogle::Apis::GenomicsV2alpha1::Network

VM networking options. Corresponds to the JSON property network



1274
1275
1276
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1274

def network
  @network
end

#nvidia_driver_versionString

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

Returns:

  • (String)


1282
1283
1284
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1282

def nvidia_driver_version
  @nvidia_driver_version
end

#preemptibleBoolean Also known as: preemptible?

If true, allocate a preemptible VM. Corresponds to the JSON property preemptible

Returns:

  • (Boolean)


1287
1288
1289
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1287

def preemptible
  @preemptible
end

#reservationString

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

Returns:

  • (String)


1294
1295
1296
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1294

def reservation
  @reservation
end

#service_accountGoogle::Apis::GenomicsV2alpha1::ServiceAccount

Carries information about a Google Cloud service account. Corresponds to the JSON property serviceAccount



1299
1300
1301
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1299

def 
  @service_account
end

#volumesArray<Google::Apis::GenomicsV2alpha1::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



1305
1306
1307
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1305

def volumes
  @volumes
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
# File 'lib/google/apis/genomics_v2alpha1/classes.rb', line 1312

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