Class: AWSCDK::FSX::CfnVolume::OntapConfigurationProperty

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

Overview

Specifies the configuration of the ONTAP volume that you are creating.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(storage_virtual_machine_id:, aggregate_configuration: nil, copy_tags_to_backups: nil, junction_path: nil, ontap_volume_type: nil, security_style: nil, size_in_bytes: nil, size_in_megabytes: nil, snaplock_configuration: nil, snapshot_policy: nil, storage_efficiency_enabled: nil, tiering_policy: nil, volume_style: nil) ⇒ OntapConfigurationProperty

Returns a new instance of OntapConfigurationProperty.

Parameters:

  • storage_virtual_machine_id (String)

    Specifies the ONTAP SVM in which to create the volume.

  • aggregate_configuration (AWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::AggregateConfigurationProperty, nil) (defaults to: nil)

    Used to specify the configuration options for an FSx for ONTAP volume's storage aggregate or aggregates.

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

    A boolean flag indicating whether tags for the volume should be copied to backups.

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

    Specifies the location in the SVM's namespace where the volume is mounted.

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

    Specifies the type of volume you are creating. Valid values are the following:.

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

    Specifies the security style for the volume.

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

    Specifies the configured size of the volume, in bytes.

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

    Use SizeInBytes instead.

  • snaplock_configuration (AWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::SnaplockConfigurationProperty, nil) (defaults to: nil)

    The SnapLock configuration object for an FSx for ONTAP SnapLock volume.

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

    Specifies the snapshot policy for the volume. There are three built-in snapshot policies:.

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

    Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them.

  • tiering_policy (AWSCDK::IResolvable, AWSCDK::FSX::CfnVolume::TieringPolicyProperty, nil) (defaults to: nil)

    Describes the data tiering policy for an ONTAP volume.

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

    Use to specify the style of an ONTAP volume.



802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
# File 'fsx/cfn_volume.rb', line 802

def initialize(storage_virtual_machine_id:, aggregate_configuration: nil, copy_tags_to_backups: nil, junction_path: nil, ontap_volume_type: nil, security_style: nil, size_in_bytes: nil, size_in_megabytes: nil, snaplock_configuration: nil, snapshot_policy: nil, storage_efficiency_enabled: nil, tiering_policy: nil, volume_style: nil)
  @storage_virtual_machine_id = storage_virtual_machine_id
  Jsii::Type.check_type(@storage_virtual_machine_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageVirtualMachineId")
  @aggregate_configuration = aggregate_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::AggregateConfigurationProperty.new(**aggregate_configuration.transform_keys(&:to_sym)) : aggregate_configuration
  Jsii::Type.check_type(@aggregate_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "aggregateConfiguration") unless @aggregate_configuration.nil?
  @copy_tags_to_backups = copy_tags_to_backups
  Jsii::Type.check_type(@copy_tags_to_backups, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "copyTagsToBackups") unless @copy_tags_to_backups.nil?
  @junction_path = junction_path
  Jsii::Type.check_type(@junction_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "junctionPath") unless @junction_path.nil?
  @ontap_volume_type = ontap_volume_type
  Jsii::Type.check_type(@ontap_volume_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ontapVolumeType") unless @ontap_volume_type.nil?
  @security_style = security_style
  Jsii::Type.check_type(@security_style, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityStyle") unless @security_style.nil?
  @size_in_bytes = size_in_bytes
  Jsii::Type.check_type(@size_in_bytes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sizeInBytes") unless @size_in_bytes.nil?
  @size_in_megabytes = size_in_megabytes
  Jsii::Type.check_type(@size_in_megabytes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sizeInMegabytes") unless @size_in_megabytes.nil?
  @snaplock_configuration = snaplock_configuration.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::SnaplockConfigurationProperty.new(**snaplock_configuration.transform_keys(&:to_sym)) : snaplock_configuration
  Jsii::Type.check_type(@snaplock_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlNuYXBsb2NrQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "snaplockConfiguration") unless @snaplock_configuration.nil?
  @snapshot_policy = snapshot_policy
  Jsii::Type.check_type(@snapshot_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotPolicy") unless @snapshot_policy.nil?
  @storage_efficiency_enabled = storage_efficiency_enabled
  Jsii::Type.check_type(@storage_efficiency_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "storageEfficiencyEnabled") unless @storage_efficiency_enabled.nil?
  @tiering_policy = tiering_policy.is_a?(Hash) ? ::AWSCDK::FSX::CfnVolume::TieringPolicyProperty.new(**tiering_policy.transform_keys(&:to_sym)) : tiering_policy
  Jsii::Type.check_type(@tiering_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19mc3guQ2ZuVm9sdW1lLlRpZXJpbmdQb2xpY3lQcm9wZXJ0eSJ9XX19")), "tieringPolicy") unless @tiering_policy.nil?
  @volume_style = volume_style
  Jsii::Type.check_type(@volume_style, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "volumeStyle") unless @volume_style.nil?
end

Instance Attribute Details

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

Used to specify the configuration options for an FSx for ONTAP volume's storage aggregate or aggregates.



840
841
842
# File 'fsx/cfn_volume.rb', line 840

def aggregate_configuration
  @aggregate_configuration
end

#copy_tags_to_backupsString? (readonly)

A boolean flag indicating whether tags for the volume should be copied to backups.

This value defaults to false. If it's set to true, all tags for the volume 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 volume, regardless of this value.



847
848
849
# File 'fsx/cfn_volume.rb', line 847

def copy_tags_to_backups
  @copy_tags_to_backups
end

#junction_pathString? (readonly)

Specifies the location in the SVM's namespace where the volume is mounted.

This parameter is required. The JunctionPath must have a leading forward slash, such as /vol3 .



854
855
856
# File 'fsx/cfn_volume.rb', line 854

def junction_path
  @junction_path
end

#ontap_volume_typeString? (readonly)

Specifies the type of volume you are creating. Valid values are the following:.

  • RW specifies a read/write volume. RW is the default.
  • DP specifies a data-protection volume. A DP volume is read-only and can be used as the destination of a NetApp SnapMirror relationship.

For more information, see Volume types in the Amazon FSx for NetApp ONTAP User Guide.



864
865
866
# File 'fsx/cfn_volume.rb', line 864

def ontap_volume_type
  @ontap_volume_type
end

#security_styleString? (readonly)

Specifies the security style for the volume.

If a volume's security style is not specified, it is automatically set to the root volume's security style. The security style determines the type of permissions that FSx for ONTAP uses to control data access. Specify one of the following values:

  • UNIX if the file system is managed by a UNIX administrator, the majority of users are NFS clients, and an application accessing the data uses a UNIX user as the service account.
  • NTFS if the file system is managed by a Windows administrator, the majority of users are SMB clients, and an application accessing the data uses a Windows user as the service account.
  • MIXED This is an advanced setting. For more information, see the topic What the security styles and their effects are in the NetApp Documentation Center.

For more information, see Volume security style in the FSx for ONTAP User Guide.



877
878
879
# File 'fsx/cfn_volume.rb', line 877

def security_style
  @security_style
end

#size_in_bytesString? (readonly)

Specifies the configured size of the volume, in bytes.



882
883
884
# File 'fsx/cfn_volume.rb', line 882

def size_in_bytes
  @size_in_bytes
end

#size_in_megabytesString? (readonly)

Use SizeInBytes instead.

Specifies the size of the volume, in megabytes (MB), that you are creating.



889
890
891
# File 'fsx/cfn_volume.rb', line 889

def size_in_megabytes
  @size_in_megabytes
end

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

The SnapLock configuration object for an FSx for ONTAP SnapLock volume.



894
895
896
# File 'fsx/cfn_volume.rb', line 894

def snaplock_configuration
  @snaplock_configuration
end

#snapshot_policyString? (readonly)

Specifies the snapshot policy for the volume. There are three built-in snapshot policies:.

  • default : This is the default policy. A maximum of six hourly snapshots taken five minutes past the hour. A maximum of two daily snapshots taken Monday through Saturday at 10 minutes after midnight. A maximum of two weekly snapshots taken every Sunday at 15 minutes after midnight.
  • default-1weekly : This policy is the same as the default policy except that it only retains one snapshot from the weekly schedule.
  • none : This policy does not take any snapshots. This policy can be assigned to volumes to prevent automatic snapshots from being taken.

You can also provide the name of a custom policy that you created with the ONTAP CLI or REST API.

For more information, see Snapshot policies in the Amazon FSx for NetApp ONTAP User Guide.



907
908
909
# File 'fsx/cfn_volume.rb', line 907

def snapshot_policy
  @snapshot_policy
end

#storage_efficiency_enabledString? (readonly)

Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them.

StorageEfficiencyEnabled is required when creating a RW volume ( OntapVolumeType set to RW ).



914
915
916
# File 'fsx/cfn_volume.rb', line 914

def storage_efficiency_enabled
  @storage_efficiency_enabled
end

#storage_virtual_machine_idString (readonly)

Specifies the ONTAP SVM in which to create the volume.



835
836
837
# File 'fsx/cfn_volume.rb', line 835

def storage_virtual_machine_id
  @storage_virtual_machine_id
end

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

Describes the data tiering policy for an ONTAP volume.

When enabled, Amazon FSx for ONTAP's intelligent tiering automatically transitions a volume's data between the file system's primary storage and capacity pool storage based on your access patterns.

Valid tiering policies are the following:

  • SNAPSHOT_ONLY - (Default value) moves cold snapshots to the capacity pool storage tier.
  • AUTO - moves cold user data and snapshots to the capacity pool storage tier based on your access patterns.
  • ALL - moves all user data blocks in both the active file system and Snapshot copies to the storage pool tier.
  • NONE - keeps a volume's data in the primary storage tier, preventing it from being moved to the capacity pool tier.


928
929
930
# File 'fsx/cfn_volume.rb', line 928

def tiering_policy
  @tiering_policy
end

#volume_styleString? (readonly)

Use to specify the style of an ONTAP volume.

FSx for ONTAP offers two styles of volumes that you can use for different purposes, FlexVol and FlexGroup volumes. For more information, see Volume styles in the Amazon FSx for NetApp ONTAP User Guide.



935
936
937
# File 'fsx/cfn_volume.rb', line 935

def volume_style
  @volume_style
end

Class Method Details

.jsii_propertiesObject



937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
# File 'fsx/cfn_volume.rb', line 937

def self.jsii_properties
  {
    :storage_virtual_machine_id => "storageVirtualMachineId",
    :aggregate_configuration => "aggregateConfiguration",
    :copy_tags_to_backups => "copyTagsToBackups",
    :junction_path => "junctionPath",
    :ontap_volume_type => "ontapVolumeType",
    :security_style => "securityStyle",
    :size_in_bytes => "sizeInBytes",
    :size_in_megabytes => "sizeInMegabytes",
    :snaplock_configuration => "snaplockConfiguration",
    :snapshot_policy => "snapshotPolicy",
    :storage_efficiency_enabled => "storageEfficiencyEnabled",
    :tiering_policy => "tieringPolicy",
    :volume_style => "volumeStyle",
  }
end

Instance Method Details

#to_jsiiObject



955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
# File 'fsx/cfn_volume.rb', line 955

def to_jsii
  result = {}
  result.merge!({
    "storageVirtualMachineId" => @storage_virtual_machine_id,
    "aggregateConfiguration" => @aggregate_configuration,
    "copyTagsToBackups" => @copy_tags_to_backups,
    "junctionPath" => @junction_path,
    "ontapVolumeType" => @ontap_volume_type,
    "securityStyle" => @security_style,
    "sizeInBytes" => @size_in_bytes,
    "sizeInMegabytes" => @size_in_megabytes,
    "snaplockConfiguration" => @snaplock_configuration,
    "snapshotPolicy" => @snapshot_policy,
    "storageEfficiencyEnabled" => @storage_efficiency_enabled,
    "tieringPolicy" => @tiering_policy,
    "volumeStyle" => @volume_style,
  })
  result.compact
end