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.



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

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)


985
986
987
# File 'lib/google/apis/batch_v1/classes.rb', line 985

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)


997
998
999
# File 'lib/google/apis/batch_v1/classes.rb', line 997

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)


1013
1014
1015
# File 'lib/google/apis/batch_v1/classes.rb', line 1013

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)


1019
1020
1021
# File 'lib/google/apis/batch_v1/classes.rb', line 1019

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)


1028
1029
1030
# File 'lib/google/apis/batch_v1/classes.rb', line 1028

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1035
1036
1037
1038
1039
1040
1041
# File 'lib/google/apis/batch_v1/classes.rb', line 1035

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