Class: AWSCDK::FSX::CfnVolume::OpenZFSConfigurationProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::FSX::CfnVolume::OpenZFSConfigurationProperty
- Defined in:
- fsx/cfn_volume.rb
Overview
Specifies the configuration of the Amazon FSx for OpenZFS volume that you are creating.
Instance Attribute Summary collapse
-
#copy_tags_to_snapshots ⇒ Boolean, ...
readonly
A Boolean value indicating whether tags for the volume should be copied to snapshots.
-
#data_compression_type ⇒ String?
readonly
Specifies the method used to compress the data on the volume.
-
#nfs_exports ⇒ AWSCDK::IResolvable, ...
readonly
The configuration object for mounting a Network File System (NFS) file system.
-
#options ⇒ Array<String>?
readonly
To delete the volume's child volumes, snapshots, and clones, use the string
DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. -
#origin_snapshot ⇒ AWSCDK::IResolvable, ...
readonly
The configuration object that specifies the snapshot to use as the origin of the data for the volume.
-
#parent_volume_id ⇒ String
readonly
The ID of the volume to use as the parent volume of the volume that you are creating.
-
#read_only ⇒ Boolean, ...
readonly
A Boolean value indicating whether the volume is read-only.
-
#record_size_kib ⇒ Numeric?
readonly
Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB).
-
#storage_capacity_quota_gib ⇒ Numeric?
readonly
Sets the maximum storage size in gibibytes (GiB) for the volume.
-
#storage_capacity_reservation_gib ⇒ Numeric?
readonly
Specifies the amount of storage in gibibytes (GiB) to reserve from the parent volume.
-
#user_and_group_quotas ⇒ AWSCDK::IResolvable, ...
readonly
Configures how much storage users and groups can use on the volume.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(parent_volume_id:, copy_tags_to_snapshots: nil, data_compression_type: nil, nfs_exports: nil, options: nil, origin_snapshot: nil, read_only: nil, record_size_kib: nil, storage_capacity_quota_gib: nil, storage_capacity_reservation_gib: nil, user_and_group_quotas: nil) ⇒ OpenZFSConfigurationProperty
constructor
A new instance of OpenZFSConfigurationProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(parent_volume_id:, copy_tags_to_snapshots: nil, data_compression_type: nil, nfs_exports: nil, options: nil, origin_snapshot: nil, read_only: nil, record_size_kib: nil, storage_capacity_quota_gib: nil, storage_capacity_reservation_gib: nil, user_and_group_quotas: nil) ⇒ OpenZFSConfigurationProperty
Returns a new instance of OpenZFSConfigurationProperty.
993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 |
# File 'fsx/cfn_volume.rb', line 993 def initialize(parent_volume_id:, copy_tags_to_snapshots: nil, data_compression_type: nil, nfs_exports: nil, options: nil, origin_snapshot: nil, read_only: nil, record_size_kib: nil, storage_capacity_quota_gib: nil, storage_capacity_reservation_gib: nil, user_and_group_quotas: nil) @parent_volume_id = parent_volume_id Jsii::Type.check_type(@parent_volume_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parentVolumeId") @copy_tags_to_snapshots = Jsii::Type.check_type(@copy_tags_to_snapshots, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyTagsToSnapshots") unless @copy_tags_to_snapshots.nil? @data_compression_type = data_compression_type Jsii::Type.check_type(@data_compression_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dataCompressionType") unless @data_compression_type.nil? @nfs_exports = nfs_exports Jsii::Type.check_type(@nfs_exports, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4LkNmblZvbHVtZS5OZnNFeHBvcnRzUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "nfsExports") unless @nfs_exports.nil? @options = Jsii::Type.check_type(@options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "options") unless @options.nil? @origin_snapshot = origin_snapshot.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::OriginSnapshotProperty.new(**origin_snapshot.transform_keys(&:to_sym)) : origin_snapshot Jsii::Type.check_type(@origin_snapshot, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLk9yaWdpblNuYXBzaG90UHJvcGVydHkifV19fQ==")), "originSnapshot") unless @origin_snapshot.nil? @read_only = read_only Jsii::Type.check_type(@read_only, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "readOnly") unless @read_only.nil? @record_size_kib = record_size_kib Jsii::Type.check_type(@record_size_kib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "recordSizeKiB") unless @record_size_kib.nil? @storage_capacity_quota_gib = storage_capacity_quota_gib Jsii::Type.check_type(@storage_capacity_quota_gib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "storageCapacityQuotaGiB") unless @storage_capacity_quota_gib.nil? @storage_capacity_reservation_gib = storage_capacity_reservation_gib Jsii::Type.check_type(@storage_capacity_reservation_gib, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "storageCapacityReservationGiB") unless @storage_capacity_reservation_gib.nil? @user_and_group_quotas = user_and_group_quotas Jsii::Type.check_type(@user_and_group_quotas, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZnN4LkNmblZvbHVtZS5Vc2VyQW5kR3JvdXBRdW90YXNQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "userAndGroupQuotas") unless @user_and_group_quotas.nil? end |
Instance Attribute Details
#copy_tags_to_snapshots ⇒ Boolean, ... (readonly)
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.
1029 1030 1031 |
# File 'fsx/cfn_volume.rb', line 1029 def @copy_tags_to_snapshots end |
#data_compression_type ⇒ String? (readonly)
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.NONEis the default.ZSTD- Compresses the data in the volume using the Zstandard (ZSTD) compression algorithm. Compared to LZ4, Z-Standard provides a better compression ratio to minimize on-disk storage utilization.LZ4- Compresses the data in the volume using the LZ4 compression algorithm. Compared to Z-Standard, LZ4 is less compute-intensive and delivers higher write throughput speeds.
1038 1039 1040 |
# File 'fsx/cfn_volume.rb', line 1038 def data_compression_type @data_compression_type end |
#nfs_exports ⇒ AWSCDK::IResolvable, ... (readonly)
The configuration object for mounting a Network File System (NFS) file system.
1043 1044 1045 |
# File 'fsx/cfn_volume.rb', line 1043 def nfs_exports @nfs_exports end |
#options ⇒ Array<String>? (readonly)
To delete the volume's child volumes, snapshots, and clones, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS .
1048 1049 1050 |
# File 'fsx/cfn_volume.rb', line 1048 def @options end |
#origin_snapshot ⇒ AWSCDK::IResolvable, ... (readonly)
The configuration object that specifies the snapshot to use as the origin of the data for the volume.
1053 1054 1055 |
# File 'fsx/cfn_volume.rb', line 1053 def origin_snapshot @origin_snapshot end |
#parent_volume_id ⇒ String (readonly)
The ID of the volume to use as the parent volume of the volume that you are creating.
1022 1023 1024 |
# File 'fsx/cfn_volume.rb', line 1022 def parent_volume_id @parent_volume_id end |
#read_only ⇒ Boolean, ... (readonly)
A Boolean value indicating whether the volume is read-only.
1058 1059 1060 |
# File 'fsx/cfn_volume.rb', line 1058 def read_only @read_only end |
#record_size_kib ⇒ Numeric? (readonly)
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 .
1065 1066 1067 |
# File 'fsx/cfn_volume.rb', line 1065 def record_size_kib @record_size_kib end |
#storage_capacity_quota_gib ⇒ Numeric? (readonly)
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 .
1074 1075 1076 |
# File 'fsx/cfn_volume.rb', line 1074 def storage_capacity_quota_gib @storage_capacity_quota_gib end |
#storage_capacity_reservation_gib ⇒ Numeric? (readonly)
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 .
1081 1082 1083 |
# File 'fsx/cfn_volume.rb', line 1081 def storage_capacity_reservation_gib @storage_capacity_reservation_gib end |
#user_and_group_quotas ⇒ AWSCDK::IResolvable, ... (readonly)
Configures how much storage users and groups can use on the volume.
1086 1087 1088 |
# File 'fsx/cfn_volume.rb', line 1086 def user_and_group_quotas @user_and_group_quotas end |
Class Method Details
.jsii_properties ⇒ Object
1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 |
# File 'fsx/cfn_volume.rb', line 1088 def self.jsii_properties { :parent_volume_id => "parentVolumeId", :copy_tags_to_snapshots => "copyTagsToSnapshots", :data_compression_type => "dataCompressionType", :nfs_exports => "nfsExports", :options => "options", :origin_snapshot => "originSnapshot", :read_only => "readOnly", :record_size_kib => "recordSizeKiB", :storage_capacity_quota_gib => "storageCapacityQuotaGiB", :storage_capacity_reservation_gib => "storageCapacityReservationGiB", :user_and_group_quotas => "userAndGroupQuotas", } end |
Instance Method Details
#to_jsii ⇒ Object
1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 |
# File 'fsx/cfn_volume.rb', line 1104 def to_jsii result = {} result.merge!({ "parentVolumeId" => @parent_volume_id, "copyTagsToSnapshots" => @copy_tags_to_snapshots, "dataCompressionType" => @data_compression_type, "nfsExports" => @nfs_exports, "options" => @options, "originSnapshot" => @origin_snapshot, "readOnly" => @read_only, "recordSizeKiB" => @record_size_kib, "storageCapacityQuotaGiB" => @storage_capacity_quota_gib, "storageCapacityReservationGiB" => @storage_capacity_reservation_gib, "userAndGroupQuotas" => @user_and_group_quotas, }) result.compact end |