#[non_exhaustive]pub struct CreateOpenZfsVolumeConfiguration {
pub parent_volume_id: Option<String>,
pub storage_capacity_reservation_gib: Option<i32>,
pub storage_capacity_quota_gib: Option<i32>,
pub record_size_kib: Option<i32>,
pub data_compression_type: Option<OpenZfsDataCompressionType>,
pub copy_tags_to_snapshots: Option<bool>,
pub origin_snapshot: Option<CreateOpenZfsOriginSnapshotConfiguration>,
pub read_only: Option<bool>,
pub nfs_exports: Option<Vec<OpenZfsNfsExport>>,
pub user_and_group_quotas: Option<Vec<OpenZfsUserOrGroupQuota>>,
}
Expand description
Specifies the configuration of the Amazon FSx for OpenZFS volume that you are creating.
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.parent_volume_id: Option<String>
The ID of the volume to use as the parent volume of the volume that you are creating.
storage_capacity_reservation_gib: Option<i32>
Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume. Setting StorageCapacityReservationGiB
guarantees that the specified amount of storage space on the parent volume will always be available for the volume. You can't reserve more storage than the parent volume has. To not specify a storage capacity reservation, set this to 0
or -1
. For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide.
storage_capacity_quota_gib: Option<i32>
Sets the maximum storage size in gibibytes (GiB) for the volume. You can specify a quota that is larger than the storage on the parent volume. A volume quota limits the amount of storage that the volume can consume to the configured amount, but does not guarantee the space will be available on the parent volume. To guarantee quota space, you must also set StorageCapacityReservationGiB
. To not specify a storage capacity quota, set this to -1
.
For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide.
record_size_kib: Option<i32>
Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096 KiB, with a default of 1024 KiB. For all other file systems, valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB, with a default of 128 KiB. We recommend using the default setting for the majority of use cases. Generally, workloads that write in fixed small or large record sizes may benefit from setting a custom record size, like database workloads (small record size) or media streaming workloads (large record size). For additional guidance on when to set a custom record size, see ZFS Record size in the Amazon FSx for OpenZFS User Guide.
data_compression_type: Option<OpenZfsDataCompressionType>
Specifies the method used to compress the data on the volume. The compression type is NONE
by default.
-
NONE
- Doesn't compress the data on the volume.NONE
is the default. -
ZSTD
- Compresses the data in the volume using the Zstandard (ZSTD) compression algorithm. ZSTD compression provides a higher level of data compression and higher read throughput performance than LZ4 compression. -
LZ4
- Compresses the data in the volume using the LZ4 compression algorithm. LZ4 compression provides a lower level of compression and higher write throughput performance than ZSTD compression.
For more information about volume compression types and the performance of your Amazon FSx for OpenZFS file system, see Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.
A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false
. If this value is set to true
, and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set to true
, and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.
origin_snapshot: Option<CreateOpenZfsOriginSnapshotConfiguration>
The configuration object that specifies the snapshot to use as the origin of the data for the volume.
read_only: Option<bool>
A Boolean value indicating whether the volume is read-only.
nfs_exports: Option<Vec<OpenZfsNfsExport>>
The configuration object for mounting a Network File System (NFS) file system.
user_and_group_quotas: Option<Vec<OpenZfsUserOrGroupQuota>>
Configures how much storage users and groups can use on the volume.
Implementations§
Source§impl CreateOpenZfsVolumeConfiguration
impl CreateOpenZfsVolumeConfiguration
Sourcepub fn parent_volume_id(&self) -> Option<&str>
pub fn parent_volume_id(&self) -> Option<&str>
The ID of the volume to use as the parent volume of the volume that you are creating.
Sourcepub fn storage_capacity_reservation_gib(&self) -> Option<i32>
pub fn storage_capacity_reservation_gib(&self) -> Option<i32>
Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume. Setting StorageCapacityReservationGiB
guarantees that the specified amount of storage space on the parent volume will always be available for the volume. You can't reserve more storage than the parent volume has. To not specify a storage capacity reservation, set this to 0
or -1
. For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide.
Sourcepub fn storage_capacity_quota_gib(&self) -> Option<i32>
pub fn storage_capacity_quota_gib(&self) -> Option<i32>
Sets the maximum storage size in gibibytes (GiB) for the volume. You can specify a quota that is larger than the storage on the parent volume. A volume quota limits the amount of storage that the volume can consume to the configured amount, but does not guarantee the space will be available on the parent volume. To guarantee quota space, you must also set StorageCapacityReservationGiB
. To not specify a storage capacity quota, set this to -1
.
For more information, see Volume properties in the Amazon FSx for OpenZFS User Guide.
Sourcepub fn record_size_kib(&self) -> Option<i32>
pub fn record_size_kib(&self) -> Option<i32>
Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). For file systems using the Intelligent-Tiering storage class, valid values are 128, 256, 512, 1024, 2048, or 4096 KiB, with a default of 1024 KiB. For all other file systems, valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB, with a default of 128 KiB. We recommend using the default setting for the majority of use cases. Generally, workloads that write in fixed small or large record sizes may benefit from setting a custom record size, like database workloads (small record size) or media streaming workloads (large record size). For additional guidance on when to set a custom record size, see ZFS Record size in the Amazon FSx for OpenZFS User Guide.
Sourcepub fn data_compression_type(&self) -> Option<&OpenZfsDataCompressionType>
pub fn data_compression_type(&self) -> Option<&OpenZfsDataCompressionType>
Specifies the method used to compress the data on the volume. The compression type is NONE
by default.
-
NONE
- Doesn't compress the data on the volume.NONE
is the default. -
ZSTD
- Compresses the data in the volume using the Zstandard (ZSTD) compression algorithm. ZSTD compression provides a higher level of data compression and higher read throughput performance than LZ4 compression. -
LZ4
- Compresses the data in the volume using the LZ4 compression algorithm. LZ4 compression provides a lower level of compression and higher write throughput performance than ZSTD compression.
For more information about volume compression types and the performance of your Amazon FSx for OpenZFS file system, see Tips for maximizing performance File system and volume settings in the Amazon FSx for OpenZFS User Guide.
A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false
. If this value is set to true
, and you do not specify any tags, all tags for the original volume are copied over to snapshots. If this value is set to true
, and you do specify one or more tags, only the specified tags for the original volume are copied over to snapshots. If you specify one or more tags when creating a new snapshot, no tags are copied over from the original volume, regardless of this value.
Sourcepub fn origin_snapshot(
&self,
) -> Option<&CreateOpenZfsOriginSnapshotConfiguration>
pub fn origin_snapshot( &self, ) -> Option<&CreateOpenZfsOriginSnapshotConfiguration>
The configuration object that specifies the snapshot to use as the origin of the data for the volume.
Sourcepub fn read_only(&self) -> Option<bool>
pub fn read_only(&self) -> Option<bool>
A Boolean value indicating whether the volume is read-only.
Sourcepub fn nfs_exports(&self) -> &[OpenZfsNfsExport]
pub fn nfs_exports(&self) -> &[OpenZfsNfsExport]
The configuration object for mounting a Network File System (NFS) file system.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .nfs_exports.is_none()
.
Sourcepub fn user_and_group_quotas(&self) -> &[OpenZfsUserOrGroupQuota]
pub fn user_and_group_quotas(&self) -> &[OpenZfsUserOrGroupQuota]
Configures how much storage users and groups can use on the volume.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .user_and_group_quotas.is_none()
.
Source§impl CreateOpenZfsVolumeConfiguration
impl CreateOpenZfsVolumeConfiguration
Sourcepub fn builder() -> CreateOpenZfsVolumeConfigurationBuilder
pub fn builder() -> CreateOpenZfsVolumeConfigurationBuilder
Creates a new builder-style object to manufacture CreateOpenZfsVolumeConfiguration
.
Trait Implementations§
Source§impl Clone for CreateOpenZfsVolumeConfiguration
impl Clone for CreateOpenZfsVolumeConfiguration
Source§fn clone(&self) -> CreateOpenZfsVolumeConfiguration
fn clone(&self) -> CreateOpenZfsVolumeConfiguration
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl PartialEq for CreateOpenZfsVolumeConfiguration
impl PartialEq for CreateOpenZfsVolumeConfiguration
Source§fn eq(&self, other: &CreateOpenZfsVolumeConfiguration) -> bool
fn eq(&self, other: &CreateOpenZfsVolumeConfiguration) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for CreateOpenZfsVolumeConfiguration
Auto Trait Implementations§
impl Freeze for CreateOpenZfsVolumeConfiguration
impl RefUnwindSafe for CreateOpenZfsVolumeConfiguration
impl Send for CreateOpenZfsVolumeConfiguration
impl Sync for CreateOpenZfsVolumeConfiguration
impl Unpin for CreateOpenZfsVolumeConfiguration
impl UnwindSafe for CreateOpenZfsVolumeConfiguration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);