Class: AWSCDK::FSX::CfnFileSystem::OntapConfigurationProperty

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

Overview

The configuration for this Amazon FSx for NetApp ONTAP file system.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(deployment_type:, automatic_backup_retention_days: nil, daily_automatic_backup_start_time: nil, disk_iops_configuration: nil, endpoint_ip_address_range: nil, endpoint_ipv6_address_range: nil, fsx_admin_password: nil, ha_pairs: nil, preferred_subnet_id: nil, route_table_ids: nil, throughput_capacity: nil, throughput_capacity_per_ha_pair: nil, weekly_maintenance_start_time: nil) ⇒ OntapConfigurationProperty

Returns a new instance of OntapConfigurationProperty.

Parameters:

  • deployment_type (String)

    Specifies the FSx for ONTAP file system deployment type to use in creating the file system.

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

    The number of days to retain automatic backups.

  • 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 configuration for the FSx for ONTAP 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)
  • fsx_admin_password (String, nil) (defaults to: nil)

    The ONTAP administrative password for the fsxadmin user with which you administer your file system using the NetApp ONTAP CLI and REST API.

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

    Specifies how many high-availability (HA) pairs of file servers will power your file system.

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

    Required when DeploymentType is set to MULTI_AZ_1 or MULTI_AZ_2 .

  • 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)

    Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps).

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

    Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

  • 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.



1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
# File 'fsx/cfn_file_system.rb', line 1329

def initialize(deployment_type:, automatic_backup_retention_days: nil, daily_automatic_backup_start_time: nil, disk_iops_configuration: nil, endpoint_ip_address_range: nil, endpoint_ipv6_address_range: nil, fsx_admin_password: nil, ha_pairs: nil, preferred_subnet_id: nil, route_table_ids: nil, throughput_capacity: nil, throughput_capacity_per_ha_pair: 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?
  @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?
  @fsx_admin_password = fsx_admin_password
  Jsii::Type.check_type(@fsx_admin_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fsxAdminPassword") unless @fsx_admin_password.nil?
  @ha_pairs = ha_pairs
  Jsii::Type.check_type(@ha_pairs, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "haPairs") unless @ha_pairs.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?
  @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?
  @throughput_capacity_per_ha_pair = throughput_capacity_per_ha_pair
  Jsii::Type.check_type(@throughput_capacity_per_ha_pair, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "throughputCapacityPerHaPair") unless @throughput_capacity_per_ha_pair.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 .



1376
1377
1378
# File 'fsx/cfn_file_system.rb', line 1376

def automatic_backup_retention_days
  @automatic_backup_retention_days
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.



1383
1384
1385
# File 'fsx/cfn_file_system.rb', line 1383

def daily_automatic_backup_start_time
  @daily_automatic_backup_start_time
end

#deployment_typeString (readonly)

Specifies the FSx for ONTAP file system deployment type to use in creating the file system.

  • MULTI_AZ_1 - A high availability file system configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. This is a first-generation FSx for ONTAP file system.
  • MULTI_AZ_2 - A high availability file system configured for Multi-AZ redundancy to tolerate temporary AZ unavailability. This is a second-generation FSx for ONTAP file system.
  • SINGLE_AZ_1 - A file system configured for Single-AZ redundancy. This is a first-generation FSx for ONTAP file system.
  • SINGLE_AZ_2 - A file system configured with multiple high-availability (HA) pairs for Single-AZ redundancy. This is a second-generation FSx for ONTAP file system.

For information about the use cases for Multi-AZ and Single-AZ deployments, refer to Choosing a file system deployment type .



1369
1370
1371
# File 'fsx/cfn_file_system.rb', line 1369

def deployment_type
  @deployment_type
end

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

The SSD IOPS configuration for the FSx for ONTAP file system.



1388
1389
1390
# File 'fsx/cfn_file_system.rb', line 1388

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, Amazon FSx selects an unused IP address range for you from the 198.19.* range. By default in the Amazon FSx console, Amazon FSx chooses the last 64 IP addresses from the VPC’s primary CIDR range to use as the endpoint IP address range for the file system. 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.



1395
1396
1397
# File 'fsx/cfn_file_system.rb', line 1395

def endpoint_ip_address_range
  @endpoint_ip_address_range
end

#endpoint_ipv6_address_rangeString? (readonly)



1398
1399
1400
# File 'fsx/cfn_file_system.rb', line 1398

def endpoint_ipv6_address_range
  @endpoint_ipv6_address_range
end

#fsx_admin_passwordString? (readonly)

The ONTAP administrative password for the fsxadmin user with which you administer your file system using the NetApp ONTAP CLI and REST API.



1403
1404
1405
# File 'fsx/cfn_file_system.rb', line 1403

def fsx_admin_password
  @fsx_admin_password
end

#ha_pairsNumeric? (readonly)

Specifies how many high-availability (HA) pairs of file servers will power your file system.

First-generation file systems are powered by 1 HA pair. Second-generation multi-AZ file systems are powered by 1 HA pair. Second generation single-AZ file systems are powered by up to 12 HA pairs. The default value is 1. The value of this property affects the values of StorageCapacity , Iops , and ThroughputCapacity . For more information, see High-availability (HA) pairs in the FSx for ONTAP user guide. Block storage protocol support (iSCSI and NVMe over TCP) is disabled on file systems with more than 6 HA pairs. For more information, see Using block storage protocols .

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

  • The value of HAPairs is less than 1 or greater than 12.
  • The value of HAPairs is greater than 1 and the value of DeploymentType is SINGLE_AZ_1 , MULTI_AZ_1 , or MULTI_AZ_2 .


1415
1416
1417
# File 'fsx/cfn_file_system.rb', line 1415

def ha_pairs
  @ha_pairs
end

#preferred_subnet_idString? (readonly)

Required when DeploymentType is set to MULTI_AZ_1 or MULTI_AZ_2 .

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



1422
1423
1424
# File 'fsx/cfn_file_system.rb', line 1422

def preferred_subnet_id
  @preferred_subnet_id
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.

Amazon FSx manages these route tables for Multi-AZ file systems using tag-based authentication. These route tables are tagged with Key: AmazonFSx; Value: ManagedByAmazonFSx . When creating FSx for ONTAP Multi-AZ file systems using CloudFormation we recommend that you add the Key: AmazonFSx; Value: ManagedByAmazonFSx tag manually.



1431
1432
1433
# File 'fsx/cfn_file_system.rb', line 1431

def route_table_ids
  @route_table_ids
end

#throughput_capacityNumeric? (readonly)

Sets the throughput capacity for the file system that you're creating in megabytes per second (MBps).

For more information, see Managing throughput capacity in the FSx for ONTAP User Guide.

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

  • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value.
  • The value of ThroughputCapacity when divided by the value of HAPairs is outside of the valid range for ThroughputCapacity .


1443
1444
1445
# File 'fsx/cfn_file_system.rb', line 1443

def throughput_capacity
  @throughput_capacity
end

#throughput_capacity_per_ha_pairNumeric? (readonly)

Use to choose the throughput capacity per HA pair, rather than the total throughput for the file system.

You can define either the ThroughputCapacityPerHAPair or the ThroughputCapacity when creating a file system, but not both.

This field and ThroughputCapacity are the same for file systems powered by one HA pair.

  • For SINGLE_AZ_1 and MULTI_AZ_1 file systems, valid values are 128, 256, 512, 1024, 2048, or 4096 MBps.
  • For SINGLE_AZ_2 , valid values are 1536, 3072, or 6144 MBps.
  • For MULTI_AZ_2 , valid values are 384, 768, 1536, 3072, or 6144 MBps.

Amazon FSx responds with an HTTP status code 400 (Bad Request) for the following conditions:

  • The value of ThroughputCapacity and ThroughputCapacityPerHAPair are not the same value for file systems with one HA pair.
  • The value of deployment type is SINGLE_AZ_2 and ThroughputCapacity / ThroughputCapacityPerHAPair is not a valid HA pair (a value between 1 and 12).
  • The value of ThroughputCapacityPerHAPair is not a valid value.


1462
1463
1464
# File 'fsx/cfn_file_system.rb', line 1462

def throughput_capacity_per_ha_pair
  @throughput_capacity_per_ha_pair
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.



1469
1470
1471
# File 'fsx/cfn_file_system.rb', line 1469

def weekly_maintenance_start_time
  @weekly_maintenance_start_time
end

Class Method Details

.jsii_propertiesObject



1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
# File 'fsx/cfn_file_system.rb', line 1471

def self.jsii_properties
  {
    :deployment_type => "deploymentType",
    :automatic_backup_retention_days => "automaticBackupRetentionDays",
    :daily_automatic_backup_start_time => "dailyAutomaticBackupStartTime",
    :disk_iops_configuration => "diskIopsConfiguration",
    :endpoint_ip_address_range => "endpointIpAddressRange",
    :endpoint_ipv6_address_range => "endpointIpv6AddressRange",
    :fsx_admin_password => "fsxAdminPassword",
    :ha_pairs => "haPairs",
    :preferred_subnet_id => "preferredSubnetId",
    :route_table_ids => "routeTableIds",
    :throughput_capacity => "throughputCapacity",
    :throughput_capacity_per_ha_pair => "throughputCapacityPerHaPair",
    :weekly_maintenance_start_time => "weeklyMaintenanceStartTime",
  }
end

Instance Method Details

#to_jsiiObject



1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
# File 'fsx/cfn_file_system.rb', line 1489

def to_jsii
  result = {}
  result.merge!({
    "deploymentType" => @deployment_type,
    "automaticBackupRetentionDays" => @automatic_backup_retention_days,
    "dailyAutomaticBackupStartTime" => @daily_automatic_backup_start_time,
    "diskIopsConfiguration" => @disk_iops_configuration,
    "endpointIpAddressRange" => @endpoint_ip_address_range,
    "endpointIpv6AddressRange" => @endpoint_ipv6_address_range,
    "fsxAdminPassword" => @fsx_admin_password,
    "haPairs" => @ha_pairs,
    "preferredSubnetId" => @preferred_subnet_id,
    "routeTableIds" => @route_table_ids,
    "throughputCapacity" => @throughput_capacity,
    "throughputCapacityPerHaPair" => @throughput_capacity_per_ha_pair,
    "weeklyMaintenanceStartTime" => @weekly_maintenance_start_time,
  })
  result.compact
end