Class AllocationPolicy.Disk.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder>
com.google.cloud.batch.v1alpha.AllocationPolicy.Disk.Builder
All Implemented Interfaces:
AllocationPolicy.DiskOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
AllocationPolicy.Disk

public static final class AllocationPolicy.Disk.Builder extends com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder> implements AllocationPolicy.DiskOrBuilder
 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.
 
Protobuf type google.cloud.batch.v1alpha.AllocationPolicy.Disk
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder>
    • getDefaultInstanceForType

      public AllocationPolicy.Disk getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public AllocationPolicy.Disk build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public AllocationPolicy.Disk buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public AllocationPolicy.Disk.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AllocationPolicy.Disk.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<AllocationPolicy.Disk.Builder>
    • mergeFrom

      public AllocationPolicy.Disk.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AllocationPolicy.Disk.Builder>
      Throws:
      IOException
    • getDataSourceCase

      public AllocationPolicy.Disk.DataSourceCase getDataSourceCase()
      Specified by:
      getDataSourceCase in interface AllocationPolicy.DiskOrBuilder
    • clearDataSource

      public AllocationPolicy.Disk.Builder clearDataSource()
    • hasImage

      public boolean hasImage()
       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.
       
      string image = 4;
      Specified by:
      hasImage in interface AllocationPolicy.DiskOrBuilder
      Returns:
      Whether the image field is set.
    • getImage

      public String getImage()
       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.
       
      string image = 4;
      Specified by:
      getImage in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The image.
    • getImageBytes

      public com.google.protobuf.ByteString getImageBytes()
       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.
       
      string image = 4;
      Specified by:
      getImageBytes in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The bytes for image.
    • setImage

      public AllocationPolicy.Disk.Builder setImage(String value)
       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.
       
      string image = 4;
      Parameters:
      value - The image to set.
      Returns:
      This builder for chaining.
    • clearImage

      public AllocationPolicy.Disk.Builder clearImage()
       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.
       
      string image = 4;
      Returns:
      This builder for chaining.
    • setImageBytes

      public AllocationPolicy.Disk.Builder setImageBytes(com.google.protobuf.ByteString value)
       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.
       
      string image = 4;
      Parameters:
      value - The bytes for image to set.
      Returns:
      This builder for chaining.
    • hasSnapshot

      public boolean hasSnapshot()
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Specified by:
      hasSnapshot in interface AllocationPolicy.DiskOrBuilder
      Returns:
      Whether the snapshot field is set.
    • getSnapshot

      public String getSnapshot()
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Specified by:
      getSnapshot in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The snapshot.
    • getSnapshotBytes

      public com.google.protobuf.ByteString getSnapshotBytes()
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Specified by:
      getSnapshotBytes in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The bytes for snapshot.
    • setSnapshot

      public AllocationPolicy.Disk.Builder setSnapshot(String value)
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Parameters:
      value - The snapshot to set.
      Returns:
      This builder for chaining.
    • clearSnapshot

      public AllocationPolicy.Disk.Builder clearSnapshot()
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Returns:
      This builder for chaining.
    • setSnapshotBytes

      public AllocationPolicy.Disk.Builder setSnapshotBytes(com.google.protobuf.ByteString value)
       Name of a snapshot used as the data source.
       Snapshot is not supported as boot disk now.
       
      string snapshot = 5;
      Parameters:
      value - The bytes for snapshot to set.
      Returns:
      This builder for chaining.
    • getType

      public String getType()
       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.
       
      string type = 1;
      Specified by:
      getType in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The type.
    • getTypeBytes

      public com.google.protobuf.ByteString getTypeBytes()
       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.
       
      string type = 1;
      Specified by:
      getTypeBytes in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The bytes for type.
    • setType

      public AllocationPolicy.Disk.Builder setType(String value)
       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.
       
      string type = 1;
      Parameters:
      value - The type to set.
      Returns:
      This builder for chaining.
    • clearType

      public AllocationPolicy.Disk.Builder clearType()
       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.
       
      string type = 1;
      Returns:
      This builder for chaining.
    • setTypeBytes

      public AllocationPolicy.Disk.Builder setTypeBytes(com.google.protobuf.ByteString value)
       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.
       
      string type = 1;
      Parameters:
      value - The bytes for type to set.
      Returns:
      This builder for chaining.
    • getSizeGb

      public long getSizeGb()
       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.
       
      int64 size_gb = 2;
      Specified by:
      getSizeGb in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The sizeGb.
    • setSizeGb

      public AllocationPolicy.Disk.Builder setSizeGb(long value)
       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.
       
      int64 size_gb = 2;
      Parameters:
      value - The sizeGb to set.
      Returns:
      This builder for chaining.
    • clearSizeGb

      public AllocationPolicy.Disk.Builder clearSizeGb()
       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.
       
      int64 size_gb = 2;
      Returns:
      This builder for chaining.
    • getDiskInterface

      public String getDiskInterface()
       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.
       
      string disk_interface = 6;
      Specified by:
      getDiskInterface in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The diskInterface.
    • getDiskInterfaceBytes

      public com.google.protobuf.ByteString getDiskInterfaceBytes()
       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.
       
      string disk_interface = 6;
      Specified by:
      getDiskInterfaceBytes in interface AllocationPolicy.DiskOrBuilder
      Returns:
      The bytes for diskInterface.
    • setDiskInterface

      public AllocationPolicy.Disk.Builder setDiskInterface(String value)
       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.
       
      string disk_interface = 6;
      Parameters:
      value - The diskInterface to set.
      Returns:
      This builder for chaining.
    • clearDiskInterface

      public AllocationPolicy.Disk.Builder clearDiskInterface()
       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.
       
      string disk_interface = 6;
      Returns:
      This builder for chaining.
    • setDiskInterfaceBytes

      public AllocationPolicy.Disk.Builder setDiskInterfaceBytes(com.google.protobuf.ByteString value)
       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.
       
      string disk_interface = 6;
      Parameters:
      value - The bytes for diskInterface to set.
      Returns:
      This builder for chaining.