Struct google_api_proto::google::cloud::batch::v1alpha::allocation_policy::Disk
source · pub struct Disk {
pub type: String,
pub size_gb: i64,
pub disk_interface: String,
pub data_source: Option<DataSource>,
}
Expand description
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.
Fields§
§type: String
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.
size_gb: i64
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.
disk_interface: String
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.
data_source: Option<DataSource>
A data source from which a PD will be created.
Trait Implementations§
source§impl Message for Disk
impl Message for Disk
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Disk
impl PartialEq for Disk
impl StructuralPartialEq for Disk
Auto Trait Implementations§
impl Freeze for Disk
impl RefUnwindSafe for Disk
impl Send for Disk
impl Sync for Disk
impl Unpin for Disk
impl UnwindSafe for Disk
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request