#[non_exhaustive]pub struct Volume {Show 40 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 hot_tier_size_used_gib: i64,
/* 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)
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
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_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);