Skip to main content

StoragePool

Struct StoragePool 

Source
#[non_exhaustive]
pub struct StoragePool {
Show 32 fields pub name: String, pub service_level: ServiceLevel, pub capacity_gib: i64, pub volume_capacity_gib: i64, pub volume_count: i32, pub state: State, pub state_details: String, pub create_time: Option<Timestamp>, pub description: String, pub labels: HashMap<String, String>, pub network: String, pub active_directory: String, pub kms_config: String, pub ldap_enabled: bool, pub psa_range: String, pub encryption_type: EncryptionType, pub global_access_allowed: Option<bool>, pub allow_auto_tiering: bool, pub replica_zone: String, pub zone: String, pub satisfies_pzs: bool, pub satisfies_pzi: bool, pub custom_performance_enabled: bool, pub total_throughput_mibps: i64, pub total_iops: i64, pub hot_tier_size_gib: i64, pub enable_hot_tier_auto_resize: Option<bool>, pub qos_type: QosType, pub available_throughput_mibps: f64, pub cold_tier_size_used_gib: i64, pub hot_tier_size_used_gib: i64, pub type: Option<StoragePoolType>, /* private fields */
}
Expand description

StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Identifier. Name of the storage pool

§service_level: ServiceLevel

Required. Service level of the storage pool

§capacity_gib: i64

Required. Capacity in GIB of the pool

§volume_capacity_gib: i64

Output only. Allocated size of all volumes in GIB in the storage pool

§volume_count: i32

Output only. Volume count of the storage pool

§state: State

Output only. State of the storage pool

§state_details: String

Output only. State details of the storage pool

§create_time: Option<Timestamp>

Output only. Create time of the storage pool

§description: String

Optional. Description of the storage pool

§labels: HashMap<String, String>

Optional. Labels as key value pairs

§network: String

Required. VPC Network name. Format: projects/{project}/global/networks/{network}

§active_directory: String

Optional. Specifies the Active Directory to be used for creating a SMB volume.

§kms_config: String

Optional. Specifies the KMS config to be used for volume encryption.

§ldap_enabled: bool

Optional. Flag indicating if the pool is NFS LDAP enabled or not.

§psa_range: String

Optional. This field is not implemented. The values provided in this field are ignored.

§encryption_type: EncryptionType

Output only. Specifies the current pool encryption key source.

§global_access_allowed: Option<bool>
👎Deprecated

Deprecated. Used to allow SO pool to access AD or DNS server from other regions.

§allow_auto_tiering: bool

Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can’t be disabled once enabled.

§replica_zone: String

Optional. Specifies the replica zone for regional storagePool.

§zone: String

Optional. Specifies the active zone for regional storagePool.

§satisfies_pzs: bool

Output only. Reserved for future use

§satisfies_pzi: bool

Output only. Reserved for future use

§custom_performance_enabled: bool

Optional. True if using Independent Scaling of capacity and performance (Hyperdisk) By default set to false

§total_throughput_mibps: i64

Optional. Custom Performance Total Throughput of the pool (in MiBps)

§total_iops: i64

Optional. Custom Performance Total IOPS of the pool if not provided, it will be calculated based on the total_throughput_mibps

§hot_tier_size_gib: i64

Optional. Total hot tier capacity for the Storage Pool. It is applicable only to Flex service level. It should be less than the minimum storage pool size and cannot be more than the current storage pool size. It cannot be decreased once set.

§enable_hot_tier_auto_resize: Option<bool>

Optional. Flag indicating that the hot-tier threshold will be auto-increased by 10% of the hot-tier when it hits 100%. Default is true. The increment will kick in only if the new size after increment is still less than or equal to storage pool size.

§qos_type: QosType

Optional. QoS (Quality of Service) Type of the storage pool

§available_throughput_mibps: f64

Output only. Available throughput of the storage pool (in MiB/s).

§cold_tier_size_used_gib: i64

Output only. Total cold tier data rounded down to the nearest GiB used by the storage pool.

§hot_tier_size_used_gib: i64

Output only. Total hot tier data rounded down to the nearest GiB used by the storage pool.

§type: Option<StoragePoolType>

Optional. Type of the storage pool. This field is used to control whether the pool supports FILE based volumes only or UNIFIED (both FILE and BLOCK) volumes or UNIFIED_LARGE_CAPACITY (both FILE and BLOCK) volumes with large capacity. If not specified during creation, it defaults to FILE.

Implementations§

Source§

impl StoragePool

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = StoragePool::new().set_name("example");
Source

pub fn set_service_level<T: Into<ServiceLevel>>(self, v: T) -> Self

Sets the value of service_level.

§Example
use google_cloud_netapp_v1::model::ServiceLevel;
let x0 = StoragePool::new().set_service_level(ServiceLevel::Premium);
let x1 = StoragePool::new().set_service_level(ServiceLevel::Extreme);
let x2 = StoragePool::new().set_service_level(ServiceLevel::Standard);
Source

pub fn set_capacity_gib<T: Into<i64>>(self, v: T) -> Self

Sets the value of capacity_gib.

§Example
let x = StoragePool::new().set_capacity_gib(42);
Source

pub fn set_volume_capacity_gib<T: Into<i64>>(self, v: T) -> Self

Sets the value of volume_capacity_gib.

§Example
let x = StoragePool::new().set_volume_capacity_gib(42);
Source

pub fn set_volume_count<T: Into<i32>>(self, v: T) -> Self

Sets the value of volume_count.

§Example
let x = StoragePool::new().set_volume_count(42);
Source

pub fn set_state<T: Into<State>>(self, v: T) -> Self

Sets the value of state.

§Example
use google_cloud_netapp_v1::model::storage_pool::State;
let x0 = StoragePool::new().set_state(State::Ready);
let x1 = StoragePool::new().set_state(State::Creating);
let x2 = StoragePool::new().set_state(State::Deleting);
Source

pub fn set_state_details<T: Into<String>>(self, v: T) -> Self

Sets the value of state_details.

§Example
let x = StoragePool::new().set_state_details("example");
Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

§Example
use wkt::Timestamp;
let x = StoragePool::new().set_create_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of create_time.

§Example
use wkt::Timestamp;
let x = StoragePool::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = StoragePool::new().set_or_clear_create_time(None::<Timestamp>);
Source

pub fn set_description<T: Into<String>>(self, v: T) -> Self

Sets the value of description.

§Example
let x = StoragePool::new().set_description("example");
Source

pub fn set_labels<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of labels.

§Example
let x = StoragePool::new().set_labels([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

pub fn set_network<T: Into<String>>(self, v: T) -> Self

Sets the value of network.

§Example
let x = StoragePool::new().set_network("example");
Source

pub fn set_active_directory<T: Into<String>>(self, v: T) -> Self

Sets the value of active_directory.

§Example
let x = StoragePool::new().set_active_directory("example");
Source

pub fn set_kms_config<T: Into<String>>(self, v: T) -> Self

Sets the value of kms_config.

§Example
let x = StoragePool::new().set_kms_config("example");
Source

pub fn set_ldap_enabled<T: Into<bool>>(self, v: T) -> Self

Sets the value of ldap_enabled.

§Example
let x = StoragePool::new().set_ldap_enabled(true);
Source

pub fn set_psa_range<T: Into<String>>(self, v: T) -> Self

Sets the value of psa_range.

§Example
let x = StoragePool::new().set_psa_range("example");
Source

pub fn set_encryption_type<T: Into<EncryptionType>>(self, v: T) -> Self

Sets the value of encryption_type.

§Example
use google_cloud_netapp_v1::model::EncryptionType;
let x0 = StoragePool::new().set_encryption_type(EncryptionType::ServiceManaged);
let x1 = StoragePool::new().set_encryption_type(EncryptionType::CloudKms);
Source

pub fn set_global_access_allowed<T>(self, v: T) -> Self
where T: Into<bool>,

👎Deprecated

Sets the value of global_access_allowed.

§Example
let x = StoragePool::new().set_global_access_allowed(true);
Source

pub fn set_or_clear_global_access_allowed<T>(self, v: Option<T>) -> Self
where T: Into<bool>,

👎Deprecated

Sets or clears the value of global_access_allowed.

§Example
let x = StoragePool::new().set_or_clear_global_access_allowed(Some(false));
let x = StoragePool::new().set_or_clear_global_access_allowed(None::<bool>);
Source

pub fn set_allow_auto_tiering<T: Into<bool>>(self, v: T) -> Self

Sets the value of allow_auto_tiering.

§Example
let x = StoragePool::new().set_allow_auto_tiering(true);
Source

pub fn set_replica_zone<T: Into<String>>(self, v: T) -> Self

Sets the value of replica_zone.

§Example
let x = StoragePool::new().set_replica_zone("example");
Source

pub fn set_zone<T: Into<String>>(self, v: T) -> Self

Sets the value of zone.

§Example
let x = StoragePool::new().set_zone("example");
Source

pub fn set_satisfies_pzs<T: Into<bool>>(self, v: T) -> Self

Sets the value of satisfies_pzs.

§Example
let x = StoragePool::new().set_satisfies_pzs(true);
Source

pub fn set_satisfies_pzi<T: Into<bool>>(self, v: T) -> Self

Sets the value of satisfies_pzi.

§Example
let x = StoragePool::new().set_satisfies_pzi(true);
Source

pub fn set_custom_performance_enabled<T: Into<bool>>(self, v: T) -> Self

Sets the value of custom_performance_enabled.

§Example
let x = StoragePool::new().set_custom_performance_enabled(true);
Source

pub fn set_total_throughput_mibps<T: Into<i64>>(self, v: T) -> Self

Sets the value of total_throughput_mibps.

§Example
let x = StoragePool::new().set_total_throughput_mibps(42);
Source

pub fn set_total_iops<T: Into<i64>>(self, v: T) -> Self

Sets the value of total_iops.

§Example
let x = StoragePool::new().set_total_iops(42);
Source

pub fn set_hot_tier_size_gib<T: Into<i64>>(self, v: T) -> Self

Sets the value of hot_tier_size_gib.

§Example
let x = StoragePool::new().set_hot_tier_size_gib(42);
Source

pub fn set_enable_hot_tier_auto_resize<T>(self, v: T) -> Self
where T: Into<bool>,

Sets the value of enable_hot_tier_auto_resize.

§Example
let x = StoragePool::new().set_enable_hot_tier_auto_resize(true);
Source

pub fn set_or_clear_enable_hot_tier_auto_resize<T>(self, v: Option<T>) -> Self
where T: Into<bool>,

Sets or clears the value of enable_hot_tier_auto_resize.

§Example
let x = StoragePool::new().set_or_clear_enable_hot_tier_auto_resize(Some(false));
let x = StoragePool::new().set_or_clear_enable_hot_tier_auto_resize(None::<bool>);
Source

pub fn set_qos_type<T: Into<QosType>>(self, v: T) -> Self

Sets the value of qos_type.

§Example
use google_cloud_netapp_v1::model::QosType;
let x0 = StoragePool::new().set_qos_type(QosType::Auto);
let x1 = StoragePool::new().set_qos_type(QosType::Manual);
Source

pub fn set_available_throughput_mibps<T: Into<f64>>(self, v: T) -> Self

Sets the value of available_throughput_mibps.

§Example
let x = StoragePool::new().set_available_throughput_mibps(42.0);
Source

pub fn set_cold_tier_size_used_gib<T: Into<i64>>(self, v: T) -> Self

Sets the value of cold_tier_size_used_gib.

§Example
let x = StoragePool::new().set_cold_tier_size_used_gib(42);
Source

pub fn set_hot_tier_size_used_gib<T: Into<i64>>(self, v: T) -> Self

Sets the value of hot_tier_size_used_gib.

§Example
let x = StoragePool::new().set_hot_tier_size_used_gib(42);
Source

pub fn set_type<T>(self, v: T) -> Self

Sets the value of r#type.

§Example
use google_cloud_netapp_v1::model::StoragePoolType;
let x0 = StoragePool::new().set_type(StoragePoolType::File);
let x1 = StoragePool::new().set_type(StoragePoolType::Unified);
let x2 = StoragePool::new().set_type(StoragePoolType::UnifiedLargeCapacity);
Source

pub fn set_or_clear_type<T>(self, v: Option<T>) -> Self

Sets or clears the value of r#type.

§Example
use google_cloud_netapp_v1::model::StoragePoolType;
let x0 = StoragePool::new().set_or_clear_type(Some(StoragePoolType::File));
let x1 = StoragePool::new().set_or_clear_type(Some(StoragePoolType::Unified));
let x2 = StoragePool::new().set_or_clear_type(Some(StoragePoolType::UnifiedLargeCapacity));
let x_none = StoragePool::new().set_or_clear_type(None::<StoragePoolType>);

Trait Implementations§

Source§

impl Clone for StoragePool

Source§

fn clone(&self) -> StoragePool

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StoragePool

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for StoragePool

Source§

fn default() -> StoragePool

Returns the “default value” for a type. Read more
Source§

impl Message for StoragePool

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for StoragePool

Source§

fn eq(&self, other: &StoragePool) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for StoragePool

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,