Class: AWSCDK::FSX::CfnFileSystem::OpenZFSConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fsx/cfn_file_system.rb

Overview

The OpenZFS configuration for the file system that's being created.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(deployment_type:, automatic_backup_retention_days: nil, copy_tags_to_backups: nil, copy_tags_to_volumes: nil, daily_automatic_backup_start_time: nil, disk_iops_configuration: nil, endpoint_ip_address_range: nil, endpoint_ipv6_address_range: nil, options: nil, preferred_subnet_id: nil, read_cache_configuration: nil, root_volume_configuration: nil, route_table_ids: nil, throughput_capacity: nil, weekly_maintenance_start_time: nil) ⇒ OpenZFSConfigurationProperty

Returns a new instance of OpenZFSConfigurationProperty.

Parameters:

  • deployment_type (String)

    Specifies the file system deployment type. Valid values are the following:.

  • automatic_backup_retention_days (Numeric, nil) (defaults to: nil)

    The number of days to retain automatic backups.

  • copy_tags_to_backups (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A Boolean value indicating whether tags for the file system should be copied to backups.

  • copy_tags_to_volumes (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A Boolean value indicating whether tags for the file system should be copied to volumes.

  • daily_automatic_backup_start_time (String, nil) (defaults to: nil)

    A recurring daily time, in the format HH:MM .

  • disk_iops_configuration (AWSCDK::IResolvable, AWSCDK::FSX::CfnFileSystem::DiskIopsConfigurationProperty, nil) (defaults to: nil)

    The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for NetApp ONTAP, Amazon FSx for Windows File Server, or FSx for OpenZFS file system.

  • endpoint_ip_address_range (String, nil) (defaults to: nil)

    (Multi-AZ only) Specifies the IPv4 address range in which the endpoints to access your file system will be created.

  • endpoint_ipv6_address_range (String, nil) (defaults to: nil)

    (Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.

  • options (Array<String>, nil) (defaults to: nil)

    To delete a file system if there are child volumes present below the root volume, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS .

  • preferred_subnet_id (String, nil) (defaults to: nil)

    Required when DeploymentType is set to MULTI_AZ_1 .

  • read_cache_configuration (AWSCDK::IResolvable, AWSCDK::FSX::CfnFileSystem::ReadCacheConfigurationProperty, nil) (defaults to: nil)

    Specifies the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.

  • root_volume_configuration (AWSCDK::IResolvable, AWSCDK::FSX::CfnFileSystem::RootVolumeConfigurationProperty, nil) (defaults to: nil)

    The configuration Amazon FSx uses when creating the root value of the Amazon FSx for OpenZFS file system.

  • route_table_ids (Array<String>, nil) (defaults to: nil)

    (Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server.

  • throughput_capacity (Numeric, nil) (defaults to: nil)

    Specifies the throughput of an Amazon FSx for OpenZFS file system, measured in megabytes per second (MBps).

  • weekly_maintenance_start_time (String, nil) (defaults to: nil)

    The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.



1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
# File 'fsx/cfn_file_system.rb', line 1531

def initialize(deployment_type:, automatic_backup_retention_days: nil, copy_tags_to_backups: nil, copy_tags_to_volumes: nil, daily_automatic_backup_start_time: nil, disk_iops_configuration: nil, endpoint_ip_address_range: nil, endpoint_ipv6_address_range: nil, options: nil, preferred_subnet_id: nil, read_cache_configuration: nil, root_volume_configuration: nil, route_table_ids: nil, throughput_capacity: nil, weekly_maintenance_start_time: nil)
  @deployment_type = deployment_type
  Jsii::Type.check_type(@deployment_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deploymentType")
  @automatic_backup_retention_days = automatic_backup_retention_days
  Jsii::Type.check_type(@automatic_backup_retention_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "automaticBackupRetentionDays") unless @automatic_backup_retention_days.nil?
  @copy_tags_to_backups = copy_tags_to_backups
  Jsii::Type.check_type(@copy_tags_to_backups, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyTagsToBackups") unless @copy_tags_to_backups.nil?
  @copy_tags_to_volumes = copy_tags_to_volumes
  Jsii::Type.check_type(@copy_tags_to_volumes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "copyTagsToVolumes") unless @copy_tags_to_volumes.nil?
  @daily_automatic_backup_start_time = daily_automatic_backup_start_time
  Jsii::Type.check_type(@daily_automatic_backup_start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dailyAutomaticBackupStartTime") unless @daily_automatic_backup_start_time.nil?
  @disk_iops_configuration = disk_iops_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnFileSystem::DiskIopsConfigurationProperty.new(**disk_iops_configuration.transform_keys(&:to_sym)) : disk_iops_configuration
  Jsii::Type.check_type(@disk_iops_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuRmlsZVN5c3RlbS5EaXNrSW9wc0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "diskIopsConfiguration") unless @disk_iops_configuration.nil?
  @endpoint_ip_address_range = endpoint_ip_address_range
  Jsii::Type.check_type(@endpoint_ip_address_range, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointIpAddressRange") unless @endpoint_ip_address_range.nil?
  @endpoint_ipv6_address_range = endpoint_ipv6_address_range
  Jsii::Type.check_type(@endpoint_ipv6_address_range, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointIpv6AddressRange") unless @endpoint_ipv6_address_range.nil?
  @options = options
  Jsii::Type.check_type(@options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "options") unless @options.nil?
  @preferred_subnet_id = preferred_subnet_id
  Jsii::Type.check_type(@preferred_subnet_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredSubnetId") unless @preferred_subnet_id.nil?
  @read_cache_configuration = read_cache_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnFileSystem::ReadCacheConfigurationProperty.new(**read_cache_configuration.transform_keys(&:to_sym)) : read_cache_configuration
  Jsii::Type.check_type(@read_cache_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuRmlsZVN5c3RlbS5SZWFkQ2FjaGVDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "readCacheConfiguration") unless @read_cache_configuration.nil?
  @root_volume_configuration = root_volume_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnFileSystem::RootVolumeConfigurationProperty.new(**root_volume_configuration.transform_keys(&:to_sym)) : root_volume_configuration
  Jsii::Type.check_type(@root_volume_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuRmlsZVN5c3RlbS5Sb290Vm9sdW1lQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "rootVolumeConfiguration") unless @root_volume_configuration.nil?
  @route_table_ids = route_table_ids
  Jsii::Type.check_type(@route_table_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "routeTableIds") unless @route_table_ids.nil?
  @throughput_capacity = throughput_capacity
  Jsii::Type.check_type(@throughput_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throughputCapacity") unless @throughput_capacity.nil?
  @weekly_maintenance_start_time = weekly_maintenance_start_time
  Jsii::Type.check_type(@weekly_maintenance_start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "weeklyMaintenanceStartTime") unless @weekly_maintenance_start_time.nil?
end

Instance Attribute Details

#automatic_backup_retention_daysNumeric? (readonly)

The number of days to retain automatic backups.

Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 30 .



1583
1584
1585
# File 'fsx/cfn_file_system.rb', line 1583

def automatic_backup_retention_days
  @automatic_backup_retention_days
end

#copy_tags_to_backupsBoolean, ... (readonly)

A Boolean value indicating whether tags for the file system should be copied to backups.

This value defaults to false . If it's set to true , all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true , and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.



1590
1591
1592
# File 'fsx/cfn_file_system.rb', line 1590

def copy_tags_to_backups
  @copy_tags_to_backups
end

#copy_tags_to_volumesBoolean, ... (readonly)

A Boolean value indicating whether tags for the file system should be copied to volumes.

This value defaults to false . If it's set to true , all tags for the file system are copied to volumes where the user doesn't specify tags. If this value is true , and you specify one or more tags, only the specified tags are copied to volumes. If you specify one or more tags when creating the volume, no tags are copied from the file system, regardless of this value.



1597
1598
1599
# File 'fsx/cfn_file_system.rb', line 1597

def copy_tags_to_volumes
  @copy_tags_to_volumes
end

#daily_automatic_backup_start_timeString? (readonly)

A recurring daily time, in the format HH:MM .

HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily.



1604
1605
1606
# File 'fsx/cfn_file_system.rb', line 1604

def daily_automatic_backup_start_time
  @daily_automatic_backup_start_time
end

#deployment_typeString (readonly)

Specifies the file system deployment type. Valid values are the following:.

  • MULTI_AZ_1 - Creates file systems with high availability and durability by replicating your data and supporting failover across multiple Availability Zones in the same AWS Region .
  • SINGLE_AZ_HA_2 - Creates file systems with high availability and throughput capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache by deploying a primary and standby file system within the same Availability Zone.
  • SINGLE_AZ_HA_1 - Creates file systems with high availability and throughput capacities of 64 - 4,096 MB/s by deploying a primary and standby file system within the same Availability Zone.
  • SINGLE_AZ_2 - Creates file systems with throughput capacities of 160 - 10,240 MB/s using an NVMe L2ARC cache that automatically recover within a single Availability Zone.
  • SINGLE_AZ_1 - Creates file systems with throughput capacities of 64 - 4,096 MBs that automatically recover within a single Availability Zone.

For a list of which AWS Regions each deployment type is available in, see Deployment type availability . For more information on the differences in performance between deployment types, see File system performance in the Amazon FSx for OpenZFS User Guide .



1576
1577
1578
# File 'fsx/cfn_file_system.rb', line 1576

def deployment_type
  @deployment_type
end

#disk_iops_configurationAWSCDK::IResolvable, ... (readonly)

The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for NetApp ONTAP, Amazon FSx for Windows File Server, or FSx for OpenZFS file system.

By default, Amazon FSx automatically provisions 3 IOPS per GB of storage capacity. You can provision additional IOPS per GB of storage. The configuration consists of the total number of provisioned SSD IOPS and how it is was provisioned, or the mode (by the customer or by Amazon FSx).



1611
1612
1613
# File 'fsx/cfn_file_system.rb', line 1611

def disk_iops_configuration
  @disk_iops_configuration
end

#endpoint_ip_address_rangeString? (readonly)

(Multi-AZ only) Specifies the IPv4 address range in which the endpoints to access your file system will be created.

By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an available /28 IP address range for you from one of the VPC's CIDR ranges. You can have overlapping endpoint IP addresses for file systems deployed in the same VPC/route tables, as long as they don't overlap with any subnet.



1618
1619
1620
# File 'fsx/cfn_file_system.rb', line 1618

def endpoint_ip_address_range
  @endpoint_ip_address_range
end

#endpoint_ipv6_address_rangeString? (readonly)

(Multi-AZ only) Specifies the IP address range in which the endpoints to access your file system will be created.

By default in the Amazon FSx API and Amazon FSx console, Amazon FSx selects an available /118 IP address range for you from one of the VPC's CIDR ranges. You can have overlapping endpoint IP addresses for file systems deployed in the same VPC/route tables, as long as they don't overlap with any subnet.



1625
1626
1627
# File 'fsx/cfn_file_system.rb', line 1625

def endpoint_ipv6_address_range
  @endpoint_ipv6_address_range
end

#optionsArray<String>? (readonly)

To delete a file system if there are child volumes present below the root volume, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS .

If your file system has child volumes and you don't use this option, the delete request will fail.



1632
1633
1634
# File 'fsx/cfn_file_system.rb', line 1632

def options
  @options
end

#preferred_subnet_idString? (readonly)

Required when DeploymentType is set to MULTI_AZ_1 .

This specifies the subnet in which you want the preferred file server to be located.



1639
1640
1641
# File 'fsx/cfn_file_system.rb', line 1639

def preferred_subnet_id
  @preferred_subnet_id
end

#read_cache_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the optional provisioned SSD read cache on file systems that use the Intelligent-Tiering storage class.



1644
1645
1646
# File 'fsx/cfn_file_system.rb', line 1644

def read_cache_configuration
  @read_cache_configuration
end

#root_volume_configurationAWSCDK::IResolvable, ... (readonly)

The configuration Amazon FSx uses when creating the root value of the Amazon FSx for OpenZFS file system.

All volumes are children of the root volume.



1651
1652
1653
# File 'fsx/cfn_file_system.rb', line 1651

def root_volume_configuration
  @root_volume_configuration
end

#route_table_idsArray<String>? (readonly)

(Multi-AZ only) Specifies the route tables in which Amazon FSx creates the rules for routing traffic to the correct file server.

You should specify all virtual private cloud (VPC) route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.



1658
1659
1660
# File 'fsx/cfn_file_system.rb', line 1658

def route_table_ids
  @route_table_ids
end

#throughput_capacityNumeric? (readonly)

Specifies the throughput of an Amazon FSx for OpenZFS file system, measured in megabytes per second (MBps).

Required if you are creating a new file system.

Valid values depend on the DeploymentType that you choose, as follows:

  • For MULTI_AZ_1 and SINGLE_AZ_2 , valid values are 160, 320, 640, 1280, 2560, 3840, 5120, 7680, or 10240 MBps.
  • For SINGLE_AZ_1 , valid values are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MBps.

You pay for additional throughput capacity that you provision.



1672
1673
1674
# File 'fsx/cfn_file_system.rb', line 1672

def throughput_capacity
  @throughput_capacity
end

#weekly_maintenance_start_timeString? (readonly)

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

For example, 1:05:00 specifies maintenance at 5 AM Monday.



1679
1680
1681
# File 'fsx/cfn_file_system.rb', line 1679

def weekly_maintenance_start_time
  @weekly_maintenance_start_time
end

Class Method Details

.jsii_propertiesObject



1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
# File 'fsx/cfn_file_system.rb', line 1681

def self.jsii_properties
  {
    :deployment_type => "deploymentType",
    :automatic_backup_retention_days => "automaticBackupRetentionDays",
    :copy_tags_to_backups => "copyTagsToBackups",
    :copy_tags_to_volumes => "copyTagsToVolumes",
    :daily_automatic_backup_start_time => "dailyAutomaticBackupStartTime",
    :disk_iops_configuration => "diskIopsConfiguration",
    :endpoint_ip_address_range => "endpointIpAddressRange",
    :endpoint_ipv6_address_range => "endpointIpv6AddressRange",
    :options => "options",
    :preferred_subnet_id => "preferredSubnetId",
    :read_cache_configuration => "readCacheConfiguration",
    :root_volume_configuration => "rootVolumeConfiguration",
    :route_table_ids => "routeTableIds",
    :throughput_capacity => "throughputCapacity",
    :weekly_maintenance_start_time => "weeklyMaintenanceStartTime",
  }
end

Instance Method Details

#to_jsiiObject



1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
# File 'fsx/cfn_file_system.rb', line 1701

def to_jsii
  result = {}
  result.merge!({
    "deploymentType" => @deployment_type,
    "automaticBackupRetentionDays" => @automatic_backup_retention_days,
    "copyTagsToBackups" => @copy_tags_to_backups,
    "copyTagsToVolumes" => @copy_tags_to_volumes,
    "dailyAutomaticBackupStartTime" => @daily_automatic_backup_start_time,
    "diskIopsConfiguration" => @disk_iops_configuration,
    "endpointIpAddressRange" => @endpoint_ip_address_range,
    "endpointIpv6AddressRange" => @endpoint_ipv6_address_range,
    "options" => @options,
    "preferredSubnetId" => @preferred_subnet_id,
    "readCacheConfiguration" => @read_cache_configuration,
    "rootVolumeConfiguration" => @root_volume_configuration,
    "routeTableIds" => @route_table_ids,
    "throughputCapacity" => @throughput_capacity,
    "weeklyMaintenanceStartTime" => @weekly_maintenance_start_time,
  })
  result.compact
end