CfnVolume

class aws_cdk.aws_fsx.CfnVolume(scope, id, *, name, backup_id=None, ontap_configuration=None, open_zfs_configuration=None, tags=None, volume_type=None)

Bases: CfnResource

A CloudFormation AWS::FSx::Volume.

Creates an FSx for ONTAP or Amazon FSx for OpenZFS storage volume.

CloudformationResource:

AWS::FSx::Volume

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

cfn_volume = fsx.CfnVolume(self, "MyCfnVolume",
    name="name",

    # the properties below are optional
    backup_id="backupId",
    ontap_configuration=fsx.CfnVolume.OntapConfigurationProperty(
        size_in_megabytes="sizeInMegabytes",
        storage_virtual_machine_id="storageVirtualMachineId",

        # the properties below are optional
        copy_tags_to_backups="copyTagsToBackups",
        junction_path="junctionPath",
        ontap_volume_type="ontapVolumeType",
        security_style="securityStyle",
        snapshot_policy="snapshotPolicy",
        storage_efficiency_enabled="storageEfficiencyEnabled",
        tiering_policy=fsx.CfnVolume.TieringPolicyProperty(
            cooling_period=123,
            name="name"
        )
    ),
    open_zfs_configuration=fsx.CfnVolume.OpenZFSConfigurationProperty(
        parent_volume_id="parentVolumeId",

        # the properties below are optional
        copy_tags_to_snapshots=False,
        data_compression_type="dataCompressionType",
        nfs_exports=[fsx.CfnVolume.NfsExportsProperty(
            client_configurations=[fsx.CfnVolume.ClientConfigurationsProperty(
                clients="clients",
                options=["options"]
            )]
        )],
        options=["options"],
        origin_snapshot=fsx.CfnVolume.OriginSnapshotProperty(
            copy_strategy="copyStrategy",
            snapshot_arn="snapshotArn"
        ),
        read_only=False,
        record_size_ki_b=123,
        storage_capacity_quota_gi_b=123,
        storage_capacity_reservation_gi_b=123,
        user_and_group_quotas=[fsx.CfnVolume.UserAndGroupQuotasProperty(
            id=123,
            storage_capacity_quota_gi_b=123,
            type="type"
        )]
    ),
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    volume_type="volumeType"
)

Create a new AWS::FSx::Volume.

Parameters:
  • scope (Construct) –

    • scope in which this resource is defined.

  • id (str) –

    • scoped id of the resource.

  • name (str) – The name of the volume.

  • backup_id (Optional[str]) – Specifies the ID of the volume backup to use to create a new volume.

  • ontap_configuration (Union[IResolvable, OntapConfigurationProperty, Dict[str, Any], None]) – The configuration of an Amazon FSx for NetApp ONTAP volume.

  • open_zfs_configuration (Union[IResolvable, OpenZFSConfigurationProperty, Dict[str, Any], None]) – The configuration of an Amazon FSx for OpenZFS volume.

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – An array of key-value pairs to apply to this resource. For more information, see Tag .

  • volume_type (Optional[str]) – The type of the volume.

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_depends_on(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
   "GlobalSecondaryIndexes": [
     {
       "Projection": {
         "NonKeyAttributes": [ "myattribute" ]
         ...
       }
       ...
     },
     {
       "ProjectionType": "INCLUDE"
       ...
     },
   ]
   ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermdediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resoure, please consult that specific resource’s documentation.

Return type:

None

get_att(attribute_name)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:

attribute_name (str) – The name of the attribute.

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) –

  • tree inspector to collect and process attributes.

Return type:

None

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::FSx::Volume'
attr_resource_arn

Returns the volume’s Amazon Resource Name (ARN).

Example: arn:aws:fsx:us-east-2:111122223333:volume/fs-0123456789abcdef9/fsvol-01234567891112223

CloudformationAttribute:

ResourceARN

attr_uuid

Returns the volume’s universally unique identifier (UUID).

Example: abcd0123-cd45-ef67-11aa-1111aaaa23bc

CloudformationAttribute:

UUID

attr_volume_id

Returns the volume’s ID.

Example: fsvol-0123456789abcdefa

CloudformationAttribute:

VolumeId

backup_id

Specifies the ID of the volume backup to use to create a new volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-backupid

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

name

The name of the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-name

node

The construct tree node associated with this construct.

ontap_configuration

The configuration of an Amazon FSx for NetApp ONTAP volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-ontapconfiguration

open_zfs_configuration

The configuration of an Amazon FSx for OpenZFS volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-openzfsconfiguration

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

tags

An array of key-value pairs to apply to this resource.

For more information, see Tag .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-tags

volume_type

The type of the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-volume.html#cfn-fsx-volume-volumetype

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(construct)

Check whether the given construct is a CfnResource.

Parameters:

construct (IConstruct) –

Return type:

bool

classmethod is_construct(x)

Return whether the given object is a Construct.

Parameters:

x (Any) –

Return type:

bool

ClientConfigurationsProperty

class CfnVolume.ClientConfigurationsProperty(*, clients, options)

Bases: object

Specifies who can mount an OpenZFS file system and the options available while mounting the file system.

Parameters:
  • clients (str) – A value that specifies who can mount the file system. You can provide a wildcard character ( * ), an IP address ( 0.0.0.0 ), or a CIDR address ( 192.0.2.0/24 ). By default, Amazon FSx uses the wildcard character when specifying the client.

  • options (Sequence[str]) – The options to use when mounting the file system. For a list of options that you can use with Network File System (NFS), see the exports(5) - Linux man page . When choosing your options, consider the following: - crossmnt is used by default. If you don’t specify crossmnt when changing the client configuration, you won’t be able to see or access snapshots in your file system’s snapshot directory. - sync is used by default. If you instead specify async , the system acknowledges writes before writing to disk. If the system crashes before the writes are finished, you lose the unwritten data.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

client_configurations_property = fsx.CfnVolume.ClientConfigurationsProperty(
    clients="clients",
    options=["options"]
)

Attributes

clients

A value that specifies who can mount the file system.

You can provide a wildcard character ( * ), an IP address ( 0.0.0.0 ), or a CIDR address ( 192.0.2.0/24 ). By default, Amazon FSx uses the wildcard character when specifying the client.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations.html#cfn-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations-clients

options

The options to use when mounting the file system.

For a list of options that you can use with Network File System (NFS), see the exports(5) - Linux man page . When choosing your options, consider the following:

  • crossmnt is used by default. If you don’t specify crossmnt when changing the client configuration, you won’t be able to see or access snapshots in your file system’s snapshot directory.

  • sync is used by default. If you instead specify async , the system acknowledges writes before writing to disk. If the system crashes before the writes are finished, you lose the unwritten data.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations.html#cfn-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations-options

NfsExportsProperty

class CfnVolume.NfsExportsProperty(*, client_configurations)

Bases: object

The configuration object for mounting a Network File System (NFS) file system.

Parameters:

client_configurations (Union[IResolvable, Sequence[Union[IResolvable, ClientConfigurationsProperty, Dict[str, Any]]]]) – A list of configuration objects that contain the client and options for mounting the OpenZFS file system.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-nfsexports.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

nfs_exports_property = fsx.CfnVolume.NfsExportsProperty(
    client_configurations=[fsx.CfnVolume.ClientConfigurationsProperty(
        clients="clients",
        options=["options"]
    )]
)

Attributes

client_configurations

A list of configuration objects that contain the client and options for mounting the OpenZFS file system.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-nfsexports.html#cfn-fsx-volume-openzfsconfiguration-nfsexports-clientconfigurations

OntapConfigurationProperty

class CfnVolume.OntapConfigurationProperty(*, size_in_megabytes, storage_virtual_machine_id, copy_tags_to_backups=None, junction_path=None, ontap_volume_type=None, security_style=None, snapshot_policy=None, storage_efficiency_enabled=None, tiering_policy=None)

Bases: object

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

Parameters:
  • size_in_megabytes (str) – Specifies the size of the volume, in megabytes (MB), that you are creating. Provide any whole number in the range of 20–104857600 to specify the size of the volume.

  • storage_virtual_machine_id (str) – Specifies the ONTAP SVM in which to create the volume.

  • copy_tags_to_backups (Optional[str]) – 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.

  • junction_path (Optional[str]) – 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 .

  • ontap_volume_type (Optional[str]) – 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 .

  • security_style (Optional[str]) – 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. For more information, see Volume security style in the Amazon FSx for NetApp ONTAP User Guide . 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 if the file system is managed by both UNIX and Windows administrators and users consist of both NFS and SMB clients.

  • snapshot_policy (Optional[str]) – 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 .

  • storage_efficiency_enabled (Optional[str]) – Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume, or set to false to disable them. This parameter is required.

  • tiering_policy (Union[IResolvable, TieringPolicyProperty, Dict[str, Any], None]) – 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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

ontap_configuration_property = fsx.CfnVolume.OntapConfigurationProperty(
    size_in_megabytes="sizeInMegabytes",
    storage_virtual_machine_id="storageVirtualMachineId",

    # the properties below are optional
    copy_tags_to_backups="copyTagsToBackups",
    junction_path="junctionPath",
    ontap_volume_type="ontapVolumeType",
    security_style="securityStyle",
    snapshot_policy="snapshotPolicy",
    storage_efficiency_enabled="storageEfficiencyEnabled",
    tiering_policy=fsx.CfnVolume.TieringPolicyProperty(
        cooling_period=123,
        name="name"
    )
)

Attributes

copy_tags_to_backups

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-copytagstobackups

junction_path

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 .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-junctionpath

ontap_volume_type

.

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

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-ontapvolumetype

Type:

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

security_style

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. For more information, see Volume security style in the Amazon FSx for NetApp ONTAP User Guide . 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 if the file system is managed by both UNIX and Windows administrators and users consist of both NFS and SMB clients.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-securitystyle

size_in_megabytes

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

Provide any whole number in the range of 20–104857600 to specify the size of the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-sizeinmegabytes

snapshot_policy

.

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

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-snapshotpolicy

Type:

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

storage_efficiency_enabled

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

This parameter is required.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-storageefficiencyenabled

storage_virtual_machine_id

Specifies the ONTAP SVM in which to create the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-storagevirtualmachineid

tiering_policy

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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration.html#cfn-fsx-volume-ontapconfiguration-tieringpolicy

OpenZFSConfigurationProperty

class CfnVolume.OpenZFSConfigurationProperty(*, parent_volume_id, copy_tags_to_snapshots=None, data_compression_type=None, nfs_exports=None, options=None, origin_snapshot=None, read_only=None, record_size_kib=None, storage_capacity_quota_gib=None, storage_capacity_reservation_gib=None, user_and_group_quotas=None)

Bases: object

Specifies the configuration of the Amazon FSx for OpenZFS volume that you are creating.

Parameters:
  • parent_volume_id (str) – The ID of the volume to use as the parent volume of the volume that you are creating.

  • copy_tags_to_snapshots (Union[bool, IResolvable, None]) – A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false . If it’s set to true , all tags for the volume are copied to snapshots 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 snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

  • data_compression_type (Optional[str]) – 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. 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.

  • nfs_exports (Union[IResolvable, Sequence[Union[IResolvable, NfsExportsProperty, Dict[str, Any]]], None]) – The configuration object for mounting a Network File System (NFS) file system.

  • options (Optional[Sequence[str]]) – To delete the volume’s child volumes, snapshots, and clones, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS .

  • origin_snapshot (Union[IResolvable, OriginSnapshotProperty, Dict[str, Any], None]) – The configuration object that specifies the snapshot to use as the origin of the data for the volume.

  • read_only (Union[bool, IResolvable, None]) – A Boolean value indicating whether the volume is read-only.

  • record_size_kib (Union[int, float, None]) – Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 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 .

  • storage_capacity_quota_gib (Union[int, float, None]) – 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 .

  • storage_capacity_reservation_gib (Union[int, float, None]) –

    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 .

  • user_and_group_quotas (Union[IResolvable, Sequence[Union[IResolvable, UserAndGroupQuotasProperty, Dict[str, Any]]], None]) – An object specifying how much storage users or groups can use on the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

open_zFSConfiguration_property = fsx.CfnVolume.OpenZFSConfigurationProperty(
    parent_volume_id="parentVolumeId",

    # the properties below are optional
    copy_tags_to_snapshots=False,
    data_compression_type="dataCompressionType",
    nfs_exports=[fsx.CfnVolume.NfsExportsProperty(
        client_configurations=[fsx.CfnVolume.ClientConfigurationsProperty(
            clients="clients",
            options=["options"]
        )]
    )],
    options=["options"],
    origin_snapshot=fsx.CfnVolume.OriginSnapshotProperty(
        copy_strategy="copyStrategy",
        snapshot_arn="snapshotArn"
    ),
    read_only=False,
    record_size_ki_b=123,
    storage_capacity_quota_gi_b=123,
    storage_capacity_reservation_gi_b=123,
    user_and_group_quotas=[fsx.CfnVolume.UserAndGroupQuotasProperty(
        id=123,
        storage_capacity_quota_gi_b=123,
        type="type"
    )]
)

Attributes

copy_tags_to_snapshots

A Boolean value indicating whether tags for the volume should be copied to snapshots.

This value defaults to false . If it’s set to true , all tags for the volume are copied to snapshots 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 snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-copytagstosnapshots

data_compression_type

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

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-datacompressiontype

nfs_exports

The configuration object for mounting a Network File System (NFS) file system.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-nfsexports

options

To delete the volume’s child volumes, snapshots, and clones, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-options

origin_snapshot

The configuration object that specifies the snapshot to use as the origin of the data for the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-originsnapshot

parent_volume_id

The ID of the volume to use as the parent volume of the volume that you are creating.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-parentvolumeid

read_only

A Boolean value indicating whether the volume is read-only.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-readonly

record_size_kib

Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes (KiB).

Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The default is 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 .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-recordsizekib

storage_capacity_quota_gib

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 .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-storagecapacityquotagib

storage_capacity_reservation_gib

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 .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-storagecapacityreservationgib

user_and_group_quotas

An object specifying how much storage users or groups can use on the volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration.html#cfn-fsx-volume-openzfsconfiguration-userandgroupquotas

OriginSnapshotProperty

class CfnVolume.OriginSnapshotProperty(*, copy_strategy, snapshot_arn)

Bases: object

The configuration object that specifies the snapshot to use as the origin of the data for the volume.

Parameters:
  • copy_strategy (str) – The strategy used when copying data from the snapshot to the new volume. - CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying data from the snapshot to a new volume and doesn’t consume disk throughput. However, the origin snapshot can’t be deleted if there is a volume using its copied data. - FULL_COPY - Copies all data from the snapshot to the new volume.

  • snapshot_arn (str) – Specifies the snapshot to use when creating an OpenZFS volume from a snapshot.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-originsnapshot.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

origin_snapshot_property = fsx.CfnVolume.OriginSnapshotProperty(
    copy_strategy="copyStrategy",
    snapshot_arn="snapshotArn"
)

Attributes

copy_strategy

The strategy used when copying data from the snapshot to the new volume.

  • CLONE - The new volume references the data in the origin snapshot. Cloning a snapshot is faster than copying data from the snapshot to a new volume and doesn’t consume disk throughput. However, the origin snapshot can’t be deleted if there is a volume using its copied data.

  • FULL_COPY - Copies all data from the snapshot to the new volume.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-originsnapshot.html#cfn-fsx-volume-openzfsconfiguration-originsnapshot-copystrategy

snapshot_arn

Specifies the snapshot to use when creating an OpenZFS volume from a snapshot.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-originsnapshot.html#cfn-fsx-volume-openzfsconfiguration-originsnapshot-snapshotarn

TieringPolicyProperty

class CfnVolume.TieringPolicyProperty(*, cooling_period=None, name=None)

Bases: object

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.

Parameters:
  • cooling_period (Union[int, float, None]) – Specifies the number of days that user data in a volume must remain inactive before it is considered “cold” and moved to the capacity pool. Used with the AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole number between 2 and 183. Default values are 31 days for AUTO and 2 days for SNAPSHOT_ONLY .

  • name (Optional[str]) – Specifies the tiering policy used to transition data. Default value is SNAPSHOT_ONLY . - SNAPSHOT_ONLY - 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.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-tieringpolicy.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

tiering_policy_property = fsx.CfnVolume.TieringPolicyProperty(
    cooling_period=123,
    name="name"
)

Attributes

cooling_period

Specifies the number of days that user data in a volume must remain inactive before it is considered “cold” and moved to the capacity pool.

Used with the AUTO and SNAPSHOT_ONLY tiering policies. Enter a whole number between 2 and 183. Default values are 31 days for AUTO and 2 days for SNAPSHOT_ONLY .

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-tieringpolicy.html#cfn-fsx-volume-ontapconfiguration-tieringpolicy-coolingperiod

name

Specifies the tiering policy used to transition data. Default value is SNAPSHOT_ONLY .

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

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-ontapconfiguration-tieringpolicy.html#cfn-fsx-volume-ontapconfiguration-tieringpolicy-name

UserAndGroupQuotasProperty

class CfnVolume.UserAndGroupQuotasProperty(*, id, storage_capacity_quota_gib, type)

Bases: object

An object specifying how much storage users or groups can use on the volume.

Parameters:
  • id (Union[int, float]) – The ID of the user or group.

  • storage_capacity_quota_gib (Union[int, float]) – The amount of storage that the user or group can use in gibibytes (GiB).

  • type (str) – A value that specifies whether the quota applies to a user or group.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-userandgroupquotas.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
import aws_cdk.aws_fsx as fsx

user_and_group_quotas_property = fsx.CfnVolume.UserAndGroupQuotasProperty(
    id=123,
    storage_capacity_quota_gi_b=123,
    type="type"
)

Attributes

id

The ID of the user or group.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-userandgroupquotas.html#cfn-fsx-volume-openzfsconfiguration-userandgroupquotas-id

storage_capacity_quota_gib

The amount of storage that the user or group can use in gibibytes (GiB).

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-userandgroupquotas.html#cfn-fsx-volume-openzfsconfiguration-userandgroupquotas-storagecapacityquotagib

type

A value that specifies whether the quota applies to a user or group.

Link:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-volume-openzfsconfiguration-userandgroupquotas.html#cfn-fsx-volume-openzfsconfiguration-userandgroupquotas-type