#[non_exhaustive]pub struct Lun {
pub name: String,
pub id: String,
pub state: State,
pub size_gb: i64,
pub multiprotocol_type: MultiprotocolType,
pub storage_volume: String,
pub shareable: bool,
pub boot_lun: bool,
pub storage_type: StorageType,
pub wwid: String,
pub expire_time: Option<Timestamp>,
pub instances: Vec<String>,
/* private fields */
}Expand description
A storage volume logical unit number (LUN).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringOutput only. The name of the LUN.
id: StringAn identifier for the LUN, generated by the backend.
state: StateThe state of this storage volume.
size_gb: i64The size of this LUN, in gigabytes.
multiprotocol_type: MultiprotocolTypeThe LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system.
storage_volume: StringDisplay the storage volume for this LUN.
Display if this LUN can be shared between multiple physical servers.
boot_lun: boolDisplay if this LUN is a boot LUN.
storage_type: StorageTypeThe storage type for this LUN.
wwid: StringThe WWID for this LUN.
expire_time: Option<Timestamp>Output only. Time after which LUN will be fully deleted. It is filled only for LUNs in COOL_OFF state.
instances: Vec<String>Output only. Instances this Lun is attached to.
Implementations§
Source§impl Lun
impl Lun
pub fn new() -> Self
Sourcepub fn set_size_gb<T: Into<i64>>(self, v: T) -> Self
pub fn set_size_gb<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_multiprotocol_type<T: Into<MultiprotocolType>>(self, v: T) -> Self
pub fn set_multiprotocol_type<T: Into<MultiprotocolType>>(self, v: T) -> Self
Sets the value of multiprotocol_type.
§Example
use google_cloud_baremetalsolution_v2::model::lun::MultiprotocolType;
let x0 = Lun::new().set_multiprotocol_type(MultiprotocolType::Linux);Sourcepub fn set_storage_volume<T: Into<String>>(self, v: T) -> Self
pub fn set_storage_volume<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_boot_lun<T: Into<bool>>(self, v: T) -> Self
pub fn set_boot_lun<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_storage_type<T: Into<StorageType>>(self, v: T) -> Self
pub fn set_storage_type<T: Into<StorageType>>(self, v: T) -> Self
Sets the value of storage_type.
§Example
use google_cloud_baremetalsolution_v2::model::lun::StorageType;
let x0 = Lun::new().set_storage_type(StorageType::Ssd);
let x1 = Lun::new().set_storage_type(StorageType::Hdd);Sourcepub fn set_expire_time<T>(self, v: T) -> Self
pub fn set_expire_time<T>(self, v: T) -> Self
Sets the value of expire_time.
§Example
use wkt::Timestamp;
let x = Lun::new().set_expire_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_expire_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_expire_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of expire_time.
§Example
use wkt::Timestamp;
let x = Lun::new().set_or_clear_expire_time(Some(Timestamp::default()/* use setters */));
let x = Lun::new().set_or_clear_expire_time(None::<Timestamp>);