pub struct Volume {Show 22 fields
pub availability_domain: String,
pub compartment_id: String,
pub display_name: String,
pub id: String,
pub lifecycle_state: VolumeLifecycleState,
pub size_in_mbs: i64,
pub time_created: DateTime<Utc>,
pub defined_tags: Option<HashMap<String, HashMap<String, Value>>>,
pub freeform_tags: Option<HashMap<String, String>>,
pub system_tags: Option<HashMap<String, HashMap<String, Value>>>,
pub is_hydrated: Option<bool>,
pub kms_key_id: Option<String>,
pub vpus_per_gb: Option<i64>,
pub cluster_placement_group_id: Option<String>,
pub size_in_gbs: Option<i64>,
pub source_details: Option<VolumeSourceFromBlockVolumeReplicaDetails>,
pub volume_group_id: Option<String>,
pub is_auto_tune_enabled: Option<bool>,
pub auto_tuned_vpus_per_gb: Option<i64>,
pub block_volume_replicas: Option<Vec<BlockVolumeReplicaInfo>>,
pub autotune_policies: Option<Vec<AutotunePolicy>>,
pub is_reservations_enabled: Option<bool>,
}Expand description
A detachable block volume device that allows you to dynamically expand the storage capacity of an instance. For more information, see Overview of Cloud Volume Storage.
To use any of the API operations, you must be authorized in an IAM policy. If you’re not authorized, talk to an administrator. If you’re an administrator who needs to write policies to give users access, see Getting Started with Policies.
Warning:* Oracle recommends that you avoid using any confidential information when you supply string values using the API.
Fields§
§availability_domain: StringThe availability domain of the volume.
Example: {@code Uocm:PHX-AD-1}
compartment_id: StringThe OCID of the compartment that contains the volume.
display_name: StringA user-friendly name. Does not have to be unique, and it’s changeable. Avoid entering confidential information.
id: StringThe OCID of the volume.
lifecycle_state: VolumeLifecycleStateThe current state of a volume.
size_in_mbs: i64The size of the volume in MBs. This field is deprecated. Use sizeInGBs instead. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
time_created: DateTime<Utc>The date and time the volume was created. Format defined by RFC3339.
Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
Example: {@code {"Operations": {"CostCenter": "42"}}}
Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags.
Example: {@code {"Department": "Finance"}}
System tags for this resource. Each key is predefined and scoped to a namespace. Example: {@code {"foo-namespace": {"bar-key": "value"}}}
is_hydrated: Option<bool>Specifies whether the cloned volume’s data has finished copying from the source volume or backup.
kms_key_id: Option<String>The OCID of the Vault service key which is the master encryption key for the volume.
vpus_per_gb: Option<i64>The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service’s elastic performance options. See Block Volume Performance Levels for more information.
Allowed values:
{@code 0}: Represents Lower Cost option.
{@code 10}: Represents Balanced option.
{@code 20}: Represents Higher Performance option.
{@code 30}-{@code 120}: Represents the Ultra High Performance option.
For performance autotune enabled volumes, It would be the Default(Minimum) VPUs/GB. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
cluster_placement_group_id: Option<String>The clusterPlacementGroup Id of the volume for volume placement.
size_in_gbs: Option<i64>The size of the volume in GBs. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
source_details: Option<VolumeSourceFromBlockVolumeReplicaDetails>§volume_group_id: Option<String>The OCID of the source volume group.
is_auto_tune_enabled: Option<bool>Specifies whether the auto-tune performance is enabled for this volume. This field is deprecated. Use the {@code DetachedVolumeAutotunePolicy} instead to enable the volume for detached autotune.
auto_tuned_vpus_per_gb: Option<i64>The number of Volume Performance Units per GB that this volume is effectively tuned to. Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
block_volume_replicas: Option<Vec<BlockVolumeReplicaInfo>>The list of block volume replicas of this volume.
autotune_policies: Option<Vec<AutotunePolicy>>The list of autotune policies enabled for this volume.
is_reservations_enabled: Option<bool>When set to true, enables SCSI Persistent Reservation (SCSI PR) for the volume. For more information, see Persistent Reservations.
Implementations§
Source§impl Volume
impl Volume
Sourcepub fn new(required: VolumeRequired) -> Self
pub fn new(required: VolumeRequired) -> Self
Create a new Volume with required fields
Sourcepub fn set_availability_domain(self, value: String) -> Self
pub fn set_availability_domain(self, value: String) -> Self
Set availability_domain
Sourcepub fn set_compartment_id(self, value: String) -> Self
pub fn set_compartment_id(self, value: String) -> Self
Set compartment_id
Set defined_tags
Sourcepub fn set_display_name(self, value: String) -> Self
pub fn set_display_name(self, value: String) -> Self
Set display_name
Set freeform_tags
Set system_tags
Sourcepub fn set_is_hydrated(self, value: Option<bool>) -> Self
pub fn set_is_hydrated(self, value: Option<bool>) -> Self
Set is_hydrated
Sourcepub fn set_kms_key_id(self, value: Option<String>) -> Self
pub fn set_kms_key_id(self, value: Option<String>) -> Self
Set kms_key_id
Sourcepub fn set_lifecycle_state(self, value: VolumeLifecycleState) -> Self
pub fn set_lifecycle_state(self, value: VolumeLifecycleState) -> Self
Set lifecycle_state
Sourcepub fn set_vpus_per_gb(self, value: Option<i64>) -> Self
pub fn set_vpus_per_gb(self, value: Option<i64>) -> Self
Set vpus_per_gb
Sourcepub fn set_cluster_placement_group_id(self, value: Option<String>) -> Self
pub fn set_cluster_placement_group_id(self, value: Option<String>) -> Self
Set cluster_placement_group_id
Sourcepub fn set_size_in_gbs(self, value: Option<i64>) -> Self
pub fn set_size_in_gbs(self, value: Option<i64>) -> Self
Set size_in_gbs
Sourcepub fn set_size_in_mbs(self, value: i64) -> Self
pub fn set_size_in_mbs(self, value: i64) -> Self
Set size_in_mbs
Sourcepub fn set_source_details(
self,
value: Option<VolumeSourceFromBlockVolumeReplicaDetails>,
) -> Self
pub fn set_source_details( self, value: Option<VolumeSourceFromBlockVolumeReplicaDetails>, ) -> Self
Set source_details
Sourcepub fn set_time_created(self, value: DateTime<Utc>) -> Self
pub fn set_time_created(self, value: DateTime<Utc>) -> Self
Set time_created
Sourcepub fn set_volume_group_id(self, value: Option<String>) -> Self
pub fn set_volume_group_id(self, value: Option<String>) -> Self
Set volume_group_id
Sourcepub fn set_is_auto_tune_enabled(self, value: Option<bool>) -> Self
pub fn set_is_auto_tune_enabled(self, value: Option<bool>) -> Self
Set is_auto_tune_enabled
Sourcepub fn set_auto_tuned_vpus_per_gb(self, value: Option<i64>) -> Self
pub fn set_auto_tuned_vpus_per_gb(self, value: Option<i64>) -> Self
Set auto_tuned_vpus_per_gb
Sourcepub fn set_block_volume_replicas(
self,
value: Option<Vec<BlockVolumeReplicaInfo>>,
) -> Self
pub fn set_block_volume_replicas( self, value: Option<Vec<BlockVolumeReplicaInfo>>, ) -> Self
Set block_volume_replicas
Sourcepub fn set_autotune_policies(self, value: Option<Vec<AutotunePolicy>>) -> Self
pub fn set_autotune_policies(self, value: Option<Vec<AutotunePolicy>>) -> Self
Set autotune_policies
Sourcepub fn set_is_reservations_enabled(self, value: Option<bool>) -> Self
pub fn set_is_reservations_enabled(self, value: Option<bool>) -> Self
Set is_reservations_enabled
Set defined_tags (unwraps Option)
Set freeform_tags (unwraps Option)
Set system_tags (unwraps Option)
Sourcepub fn with_is_hydrated(self, value: bool) -> Self
pub fn with_is_hydrated(self, value: bool) -> Self
Set is_hydrated (unwraps Option)
Sourcepub fn with_kms_key_id(self, value: impl Into<String>) -> Self
pub fn with_kms_key_id(self, value: impl Into<String>) -> Self
Set kms_key_id (unwraps Option)
Sourcepub fn with_vpus_per_gb(self, value: i64) -> Self
pub fn with_vpus_per_gb(self, value: i64) -> Self
Set vpus_per_gb (unwraps Option)
Sourcepub fn with_cluster_placement_group_id(self, value: impl Into<String>) -> Self
pub fn with_cluster_placement_group_id(self, value: impl Into<String>) -> Self
Set cluster_placement_group_id (unwraps Option)
Sourcepub fn with_size_in_gbs(self, value: i64) -> Self
pub fn with_size_in_gbs(self, value: i64) -> Self
Set size_in_gbs (unwraps Option)
Sourcepub fn with_source_details(
self,
value: VolumeSourceFromBlockVolumeReplicaDetails,
) -> Self
pub fn with_source_details( self, value: VolumeSourceFromBlockVolumeReplicaDetails, ) -> Self
Set source_details (unwraps Option)
Sourcepub fn with_volume_group_id(self, value: impl Into<String>) -> Self
pub fn with_volume_group_id(self, value: impl Into<String>) -> Self
Set volume_group_id (unwraps Option)
Sourcepub fn with_is_auto_tune_enabled(self, value: bool) -> Self
pub fn with_is_auto_tune_enabled(self, value: bool) -> Self
Set is_auto_tune_enabled (unwraps Option)
Sourcepub fn with_auto_tuned_vpus_per_gb(self, value: i64) -> Self
pub fn with_auto_tuned_vpus_per_gb(self, value: i64) -> Self
Set auto_tuned_vpus_per_gb (unwraps Option)
Sourcepub fn with_block_volume_replicas(
self,
value: Vec<BlockVolumeReplicaInfo>,
) -> Self
pub fn with_block_volume_replicas( self, value: Vec<BlockVolumeReplicaInfo>, ) -> Self
Set block_volume_replicas (unwraps Option)
Sourcepub fn with_autotune_policies(self, value: Vec<AutotunePolicy>) -> Self
pub fn with_autotune_policies(self, value: Vec<AutotunePolicy>) -> Self
Set autotune_policies (unwraps Option)
Sourcepub fn with_is_reservations_enabled(self, value: bool) -> Self
pub fn with_is_reservations_enabled(self, value: bool) -> Self
Set is_reservations_enabled (unwraps Option)