Class: Google::Apis::BatchV1::Disk

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

Overview

A new persistent disk or a local ssd. A VM can only have one local SSD setting but multiple local SSD partitions. See https://cloud.google.com/compute/docs/ disks#pdspecs and https://cloud.google.com/compute/docs/disks#localssds.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Disk

Returns a new instance of Disk.



1033
1034
1035
# File 'lib/google/apis/batch_v1/classes.rb', line 1033

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

Instance Attribute Details

#disk_interfaceString

Local SSDs are available through both "SCSI" and "NVMe" interfaces. If not indicated, "NVMe" will be the default one for local ssds. This field is ignored for persistent disks as the interface is chosen automatically. See https://cloud.google.com/compute/docs/disks/persistent-disks# choose_an_interface. Corresponds to the JSON property diskInterface

Returns:

  • (String)


988
989
990
# File 'lib/google/apis/batch_v1/classes.rb', line 988

def disk_interface
  @disk_interface
end

#imageString

URL for a VM image to use as the data source for this disk. For example, the following are all valid URLs: * Specify the image by its family name: projects/ project/global/images/family/image_family * Specify the image version: projects/project/global/images/image_version You can also use Batch customized image in short names. The following image values are supported for a boot disk: * batch-debian: use Batch Debian images. * batch-cos: use Batch Container-Optimized images. * batch-hpc-rocky: use Batch HPC Rocky Linux images. Corresponds to the JSON property image

Returns:

  • (String)


1000
1001
1002
# File 'lib/google/apis/batch_v1/classes.rb', line 1000

def image
  @image
end

#size_gbFixnum

Disk size in GB. Non-Boot Disk: If the type specifies a persistent disk, this field is ignored if data_source is set as image or snapshot. If the type specifies a local SSD, this field should be a multiple of 375 GB, otherwise, the final size will be the next greater multiple of 375 GB. Boot Disk: Batch will calculate the boot disk size based on source image and task requirements if you do not speicify the size. If both this field and the boot_disk_mib field in task spec's compute_resource are defined, Batch will only honor this field. Also, this field should be no smaller than the source disk's size when the data_source is set as snapshot or image. For example, if you set an image as the data_source field and the image's default disk size 30 GB, you can only use this field to make the disk larger or equal to 30 GB. Corresponds to the JSON property sizeGb

Returns:

  • (Fixnum)


1016
1017
1018
# File 'lib/google/apis/batch_v1/classes.rb', line 1016

def size_gb
  @size_gb
end

#snapshotString

Name of a snapshot used as the data source. Snapshot is not supported as boot disk now. Corresponds to the JSON property snapshot

Returns:

  • (String)


1022
1023
1024
# File 'lib/google/apis/batch_v1/classes.rb', line 1022

def snapshot
  @snapshot
end

#typeString

Disk type as shown in gcloud compute disk-types list. For example, local SSD uses type "local-ssd". Persistent disks and boot disks use "pd-balanced", "pd- extreme", "pd-ssd" or "pd-standard". If not specified, "pd-standard" will be used as the default type for non-boot disks, "pd-balanced" will be used as the default type for boot disks. Corresponds to the JSON property type

Returns:

  • (String)


1031
1032
1033
# File 'lib/google/apis/batch_v1/classes.rb', line 1031

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1038
1039
1040
1041
1042
1043
1044
# File 'lib/google/apis/batch_v1/classes.rb', line 1038

def update!(**args)
  @disk_interface = args[:disk_interface] if args.key?(:disk_interface)
  @image = args[:image] if args.key?(:image)
  @size_gb = args[:size_gb] if args.key?(:size_gb)
  @snapshot = args[:snapshot] if args.key?(:snapshot)
  @type = args[:type] if args.key?(:type)
end