Class 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.GeneratedMessageV3.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 Detail

      • 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.Builder<AllocationPolicy.Disk.Builder>
      • clear

        public 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.GeneratedMessageV3.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.GeneratedMessageV3.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
      • clone

        public AllocationPolicy.Disk.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • clearField

        public AllocationPolicy.Disk.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • clearOneof

        public AllocationPolicy.Disk.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • setRepeatedField

        public AllocationPolicy.Disk.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                              int index,
                                                              Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • addRepeatedField

        public AllocationPolicy.Disk.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                              Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.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
      • 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.
      • 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS 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-centos`: use Batch CentOS images.
         * `batch-cos`: use Batch Container-Optimized images.
         * `batch-hpc-centos`: use Batch HPC CentOS 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".
         
        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.
      • 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".
         
        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".
         
        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".
         
        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.
         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.
      • 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.
         We only support "SCSI" for persistent disks now.
         
        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.
         We only support "SCSI" for persistent disks now.
         
        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.
         We only support "SCSI" for persistent disks now.
         
        string disk_interface = 6;
        Parameters:
        value - The bytes for diskInterface to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final AllocationPolicy.Disk.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>
      • mergeUnknownFields

        public final AllocationPolicy.Disk.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<AllocationPolicy.Disk.Builder>