#[non_exhaustive]pub struct Volume {Show 42 fields
pub name: String,
pub state: State,
pub state_details: String,
pub create_time: Option<Timestamp>,
pub share_name: String,
pub psa_range: String,
pub storage_pool: String,
pub network: String,
pub service_level: ServiceLevel,
pub capacity_gib: i64,
pub export_policy: Option<ExportPolicy>,
pub protocols: Vec<Protocols>,
pub smb_settings: Vec<SMBSettings>,
pub mount_options: Vec<MountOption>,
pub unix_permissions: String,
pub labels: HashMap<String, String>,
pub description: String,
pub snapshot_policy: Option<SnapshotPolicy>,
pub snap_reserve: f64,
pub snapshot_directory: bool,
pub used_gib: i64,
pub security_style: SecurityStyle,
pub kerberos_enabled: bool,
pub ldap_enabled: bool,
pub active_directory: String,
pub restore_parameters: Option<RestoreParameters>,
pub kms_config: String,
pub encryption_type: EncryptionType,
pub has_replication: bool,
pub backup_config: Option<BackupConfig>,
pub restricted_actions: Vec<RestrictedAction>,
pub large_capacity: bool,
pub multiple_endpoints: bool,
pub tiering_policy: Option<TieringPolicy>,
pub replica_zone: String,
pub zone: String,
pub cold_tier_size_gib: i64,
pub hybrid_replication_parameters: Option<HybridReplicationParameters>,
pub throughput_mibps: f64,
pub cache_parameters: Option<CacheParameters>,
pub hot_tier_size_used_gib: i64,
pub block_devices: Vec<BlockDevice>,
/* private fields */
}Expand description
Volume provides a filesystem that you can mount.
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: StringIdentifier. Name of the volume
state: StateOutput only. State of the volume
state_details: StringOutput only. State details of the volume
create_time: Option<Timestamp>Output only. Create time of the volume
Required. Share name of the volume
psa_range: StringOutput only. This field is not implemented. The values provided in this field are ignored.
storage_pool: StringRequired. StoragePool name of the volume
network: StringOutput only. VPC Network name. Format: projects/{project}/global/networks/{network}
service_level: ServiceLevelOutput only. Service level of the volume
capacity_gib: i64Required. Capacity in GIB of the volume
export_policy: Option<ExportPolicy>Optional. Export policy of the volume
protocols: Vec<Protocols>Required. Protocols required for the volume
smb_settings: Vec<SMBSettings>Optional. SMB share settings for the volume.
mount_options: Vec<MountOption>Output only. Mount options of this volume
unix_permissions: StringOptional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.
labels: HashMap<String, String>Optional. Labels as key value pairs
description: StringOptional. Description of the volume
snapshot_policy: Option<SnapshotPolicy>Optional. SnapshotPolicy for a volume.
snap_reserve: f64Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.
snapshot_directory: boolOptional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume’s snapshots.
used_gib: i64Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.
security_style: SecurityStyleOptional. Security Style of the Volume
kerberos_enabled: boolOptional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).
ldap_enabled: boolOutput only. Flag indicating if the volume is NFS LDAP enabled or not.
active_directory: StringOutput only. Specifies the ActiveDirectory name of a SMB volume.
restore_parameters: Option<RestoreParameters>Optional. Specifies the source of the volume to be created from.
kms_config: StringOutput only. Specifies the KMS config to be used for volume encryption.
encryption_type: EncryptionTypeOutput only. Specified the current volume encryption key source.
has_replication: boolOutput only. Indicates whether the volume is part of a replication relationship.
backup_config: Option<BackupConfig>BackupConfig of the volume.
restricted_actions: Vec<RestrictedAction>Optional. List of actions that are restricted on this volume.
large_capacity: boolOptional. Flag indicating if the volume will be a large capacity volume or a regular volume.
multiple_endpoints: boolOptional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints.
tiering_policy: Option<TieringPolicy>Tiering policy for the volume.
replica_zone: StringOutput only. Specifies the replica zone for regional volume.
zone: StringOutput only. Specifies the active zone for regional volume.
cold_tier_size_gib: i64Output only. Size of the volume cold tier data rounded down to the nearest GiB.
hybrid_replication_parameters: Option<HybridReplicationParameters>Optional. The Hybrid Replication parameters for the volume.
throughput_mibps: f64Optional. Throughput of the volume (in MiB/s)
cache_parameters: Option<CacheParameters>Optional. Cache parameters for the volume.
hot_tier_size_used_gib: i64Output only. Total hot tier data rounded down to the nearest GiB used by the Volume. This field is only used for flex Service Level
block_devices: Vec<BlockDevice>Optional. Block devices for the volume. Currently, only one block device is permitted per Volume.
Implementations§
Source§impl Volume
impl Volume
pub fn new() -> Self
Sourcepub fn set_state_details<T: Into<String>>(self, v: T) -> Self
pub fn set_state_details<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = Volume::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = Volume::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Volume::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_psa_range<T: Into<String>>(self, v: T) -> Self
pub fn set_psa_range<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_storage_pool<T: Into<String>>(self, v: T) -> Self
pub fn set_storage_pool<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_network<T: Into<String>>(self, v: T) -> Self
pub fn set_network<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_service_level<T: Into<ServiceLevel>>(self, v: T) -> Self
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 = Volume::new().set_service_level(ServiceLevel::Premium);
let x1 = Volume::new().set_service_level(ServiceLevel::Extreme);
let x2 = Volume::new().set_service_level(ServiceLevel::Standard);Sourcepub fn set_capacity_gib<T: Into<i64>>(self, v: T) -> Self
pub fn set_capacity_gib<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_export_policy<T>(self, v: T) -> Selfwhere
T: Into<ExportPolicy>,
pub fn set_export_policy<T>(self, v: T) -> Selfwhere
T: Into<ExportPolicy>,
Sets the value of export_policy.
§Example
use google_cloud_netapp_v1::model::ExportPolicy;
let x = Volume::new().set_export_policy(ExportPolicy::default()/* use setters */);Sourcepub fn set_or_clear_export_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<ExportPolicy>,
pub fn set_or_clear_export_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<ExportPolicy>,
Sets or clears the value of export_policy.
§Example
use google_cloud_netapp_v1::model::ExportPolicy;
let x = Volume::new().set_or_clear_export_policy(Some(ExportPolicy::default()/* use setters */));
let x = Volume::new().set_or_clear_export_policy(None::<ExportPolicy>);Sourcepub fn set_protocols<T, V>(self, v: T) -> Self
pub fn set_protocols<T, V>(self, v: T) -> Self
Sourcepub fn set_smb_settings<T, V>(self, v: T) -> Self
pub fn set_smb_settings<T, V>(self, v: T) -> Self
Sets the value of smb_settings.
§Example
use google_cloud_netapp_v1::model::SMBSettings;
let x = Volume::new().set_smb_settings([
SMBSettings::EncryptData,
SMBSettings::Browsable,
SMBSettings::ChangeNotify,
]);Sourcepub fn set_mount_options<T, V>(self, v: T) -> Self
pub fn set_mount_options<T, V>(self, v: T) -> Self
Sets the value of mount_options.
§Example
use google_cloud_netapp_v1::model::MountOption;
let x = Volume::new()
.set_mount_options([
MountOption::default()/* use setters */,
MountOption::default()/* use (different) setters */,
]);Sourcepub fn set_unix_permissions<T: Into<String>>(self, v: T) -> Self
pub fn set_unix_permissions<T: Into<String>>(self, v: T) -> Self
Sets the value of unix_permissions.
§Example
let x = Volume::new().set_unix_permissions("example");Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_snapshot_policy<T>(self, v: T) -> Selfwhere
T: Into<SnapshotPolicy>,
pub fn set_snapshot_policy<T>(self, v: T) -> Selfwhere
T: Into<SnapshotPolicy>,
Sets the value of snapshot_policy.
§Example
use google_cloud_netapp_v1::model::SnapshotPolicy;
let x = Volume::new().set_snapshot_policy(SnapshotPolicy::default()/* use setters */);Sourcepub fn set_or_clear_snapshot_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<SnapshotPolicy>,
pub fn set_or_clear_snapshot_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<SnapshotPolicy>,
Sets or clears the value of snapshot_policy.
§Example
use google_cloud_netapp_v1::model::SnapshotPolicy;
let x = Volume::new().set_or_clear_snapshot_policy(Some(SnapshotPolicy::default()/* use setters */));
let x = Volume::new().set_or_clear_snapshot_policy(None::<SnapshotPolicy>);Sourcepub fn set_snap_reserve<T: Into<f64>>(self, v: T) -> Self
pub fn set_snap_reserve<T: Into<f64>>(self, v: T) -> Self
Sourcepub fn set_snapshot_directory<T: Into<bool>>(self, v: T) -> Self
pub fn set_snapshot_directory<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_used_gib<T: Into<i64>>(self, v: T) -> Self
pub fn set_used_gib<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_security_style<T: Into<SecurityStyle>>(self, v: T) -> Self
pub fn set_security_style<T: Into<SecurityStyle>>(self, v: T) -> Self
Sets the value of security_style.
§Example
use google_cloud_netapp_v1::model::SecurityStyle;
let x0 = Volume::new().set_security_style(SecurityStyle::Ntfs);
let x1 = Volume::new().set_security_style(SecurityStyle::Unix);Sourcepub fn set_kerberos_enabled<T: Into<bool>>(self, v: T) -> Self
pub fn set_kerberos_enabled<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_ldap_enabled<T: Into<bool>>(self, v: T) -> Self
pub fn set_ldap_enabled<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_active_directory<T: Into<String>>(self, v: T) -> Self
pub fn set_active_directory<T: Into<String>>(self, v: T) -> Self
Sets the value of active_directory.
§Example
let x = Volume::new().set_active_directory("example");Sourcepub fn set_restore_parameters<T>(self, v: T) -> Selfwhere
T: Into<RestoreParameters>,
pub fn set_restore_parameters<T>(self, v: T) -> Selfwhere
T: Into<RestoreParameters>,
Sets the value of restore_parameters.
§Example
use google_cloud_netapp_v1::model::RestoreParameters;
let x = Volume::new().set_restore_parameters(RestoreParameters::default()/* use setters */);Sourcepub fn set_or_clear_restore_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<RestoreParameters>,
pub fn set_or_clear_restore_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<RestoreParameters>,
Sets or clears the value of restore_parameters.
§Example
use google_cloud_netapp_v1::model::RestoreParameters;
let x = Volume::new().set_or_clear_restore_parameters(Some(RestoreParameters::default()/* use setters */));
let x = Volume::new().set_or_clear_restore_parameters(None::<RestoreParameters>);Sourcepub fn set_kms_config<T: Into<String>>(self, v: T) -> Self
pub fn set_kms_config<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_encryption_type<T: Into<EncryptionType>>(self, v: T) -> Self
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 = Volume::new().set_encryption_type(EncryptionType::ServiceManaged);
let x1 = Volume::new().set_encryption_type(EncryptionType::CloudKms);Sourcepub fn set_has_replication<T: Into<bool>>(self, v: T) -> Self
pub fn set_has_replication<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_backup_config<T>(self, v: T) -> Selfwhere
T: Into<BackupConfig>,
pub fn set_backup_config<T>(self, v: T) -> Selfwhere
T: Into<BackupConfig>,
Sets the value of backup_config.
§Example
use google_cloud_netapp_v1::model::BackupConfig;
let x = Volume::new().set_backup_config(BackupConfig::default()/* use setters */);Sourcepub fn set_or_clear_backup_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<BackupConfig>,
pub fn set_or_clear_backup_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<BackupConfig>,
Sets or clears the value of backup_config.
§Example
use google_cloud_netapp_v1::model::BackupConfig;
let x = Volume::new().set_or_clear_backup_config(Some(BackupConfig::default()/* use setters */));
let x = Volume::new().set_or_clear_backup_config(None::<BackupConfig>);Sourcepub fn set_restricted_actions<T, V>(self, v: T) -> Self
pub fn set_restricted_actions<T, V>(self, v: T) -> Self
Sets the value of restricted_actions.
§Example
use google_cloud_netapp_v1::model::RestrictedAction;
let x = Volume::new().set_restricted_actions([
RestrictedAction::Delete,
]);Sourcepub fn set_large_capacity<T: Into<bool>>(self, v: T) -> Self
pub fn set_large_capacity<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_multiple_endpoints<T: Into<bool>>(self, v: T) -> Self
pub fn set_multiple_endpoints<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_tiering_policy<T>(self, v: T) -> Selfwhere
T: Into<TieringPolicy>,
pub fn set_tiering_policy<T>(self, v: T) -> Selfwhere
T: Into<TieringPolicy>,
Sets the value of tiering_policy.
§Example
use google_cloud_netapp_v1::model::TieringPolicy;
let x = Volume::new().set_tiering_policy(TieringPolicy::default()/* use setters */);Sourcepub fn set_or_clear_tiering_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<TieringPolicy>,
pub fn set_or_clear_tiering_policy<T>(self, v: Option<T>) -> Selfwhere
T: Into<TieringPolicy>,
Sets or clears the value of tiering_policy.
§Example
use google_cloud_netapp_v1::model::TieringPolicy;
let x = Volume::new().set_or_clear_tiering_policy(Some(TieringPolicy::default()/* use setters */));
let x = Volume::new().set_or_clear_tiering_policy(None::<TieringPolicy>);Sourcepub fn set_replica_zone<T: Into<String>>(self, v: T) -> Self
pub fn set_replica_zone<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_cold_tier_size_gib<T: Into<i64>>(self, v: T) -> Self
pub fn set_cold_tier_size_gib<T: Into<i64>>(self, v: T) -> Self
Sourcepub fn set_hybrid_replication_parameters<T>(self, v: T) -> Selfwhere
T: Into<HybridReplicationParameters>,
pub fn set_hybrid_replication_parameters<T>(self, v: T) -> Selfwhere
T: Into<HybridReplicationParameters>,
Sets the value of hybrid_replication_parameters.
§Example
use google_cloud_netapp_v1::model::HybridReplicationParameters;
let x = Volume::new().set_hybrid_replication_parameters(HybridReplicationParameters::default()/* use setters */);Sourcepub fn set_or_clear_hybrid_replication_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<HybridReplicationParameters>,
pub fn set_or_clear_hybrid_replication_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<HybridReplicationParameters>,
Sets or clears the value of hybrid_replication_parameters.
§Example
use google_cloud_netapp_v1::model::HybridReplicationParameters;
let x = Volume::new().set_or_clear_hybrid_replication_parameters(Some(HybridReplicationParameters::default()/* use setters */));
let x = Volume::new().set_or_clear_hybrid_replication_parameters(None::<HybridReplicationParameters>);Sourcepub fn set_throughput_mibps<T: Into<f64>>(self, v: T) -> Self
pub fn set_throughput_mibps<T: Into<f64>>(self, v: T) -> Self
Sourcepub fn set_cache_parameters<T>(self, v: T) -> Selfwhere
T: Into<CacheParameters>,
pub fn set_cache_parameters<T>(self, v: T) -> Selfwhere
T: Into<CacheParameters>,
Sets the value of cache_parameters.
§Example
use google_cloud_netapp_v1::model::CacheParameters;
let x = Volume::new().set_cache_parameters(CacheParameters::default()/* use setters */);Sourcepub fn set_or_clear_cache_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<CacheParameters>,
pub fn set_or_clear_cache_parameters<T>(self, v: Option<T>) -> Selfwhere
T: Into<CacheParameters>,
Sets or clears the value of cache_parameters.
§Example
use google_cloud_netapp_v1::model::CacheParameters;
let x = Volume::new().set_or_clear_cache_parameters(Some(CacheParameters::default()/* use setters */));
let x = Volume::new().set_or_clear_cache_parameters(None::<CacheParameters>);Sourcepub fn set_hot_tier_size_used_gib<T: Into<i64>>(self, v: T) -> Self
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 = Volume::new().set_hot_tier_size_used_gib(42);Sourcepub fn set_block_devices<T, V>(self, v: T) -> Self
pub fn set_block_devices<T, V>(self, v: T) -> Self
Sets the value of block_devices.
§Example
use google_cloud_netapp_v1::model::BlockDevice;
let x = Volume::new()
.set_block_devices([
BlockDevice::default()/* use setters */,
BlockDevice::default()/* use (different) setters */,
]);