Class AllocationPolicy.Disk

  • All Implemented Interfaces:
    AllocationPolicy.DiskOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
    Enclosing class:
    AllocationPolicy

    public static final class AllocationPolicy.Disk
    extends com.google.protobuf.GeneratedMessageV3
    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
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS images.
         
        string image = 4;
        Specified by:
        getImageBytes in interface AllocationPolicy.DiskOrBuilder
        Returns:
        The bytes for image.
      • 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.
      • 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".
         
        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".
         
        string type = 1;
        Specified by:
        getTypeBytes in interface AllocationPolicy.DiskOrBuilder
        Returns:
        The bytes for type.
      • 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.
      • 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.
         We only support "SCSI" for persistent disks now.
         
        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.
         We only support "SCSI" for persistent disks now.
         
        string disk_interface = 6;
        Specified by:
        getDiskInterfaceBytes in interface AllocationPolicy.DiskOrBuilder
        Returns:
        The bytes for diskInterface.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(ByteBuffer data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(ByteBuffer data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(com.google.protobuf.ByteString data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(com.google.protobuf.ByteString data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(byte[] data)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static AllocationPolicy.Disk parseFrom​(byte[] data,
                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

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

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

        protected AllocationPolicy.Disk.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<AllocationPolicy.Disk> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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