Amazon FSx

2019/02/06 - Amazon FSx - 1 updated api methods

Changes  New optional ExportPath parameter added to the CreateFileSystemLustreConfiguration object for user-defined export paths. Used with the CreateFileSystem action when creating an Amazon FSx for Lustre file system.

CreateFileSystem (updated) Link ΒΆ
Changes (request)
{'LustreConfiguration': {'ExportPath': 'string'}}

Creates a new, empty Amazon FSx file system.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError . If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

  • Creates a new, empty Amazon FSx file system with an assigned ID, and an initial lifecycle state of CREATING .

  • Returns the description of the file system.

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

Note

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING . You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

See also: AWS API Documentation

Request Syntax

client.create_file_system(
    ClientRequestToken='string',
    FileSystemType='WINDOWS'|'LUSTRE',
    StorageCapacity=123,
    SubnetIds=[
        'string',
    ],
    SecurityGroupIds=[
        'string',
    ],
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    KmsKeyId='string',
    WindowsConfiguration={
        'ActiveDirectoryId': 'string',
        'ThroughputCapacity': 123,
        'WeeklyMaintenanceStartTime': 'string',
        'DailyAutomaticBackupStartTime': 'string',
        'AutomaticBackupRetentionDays': 123,
        'CopyTagsToBackups': True|False
    },
    LustreConfiguration={
        'WeeklyMaintenanceStartTime': 'string',
        'ImportPath': 'string',
        'ExportPath': 'string',
        'ImportedFileChunkSize': 123
    }
)
type ClientRequestToken

string

param ClientRequestToken

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

This field is autopopulated if not provided.

type FileSystemType

string

param FileSystemType

[REQUIRED]

The type of file system.

type StorageCapacity

integer

param StorageCapacity

[REQUIRED]

The storage capacity of the file system.

For Windows file systems, the storage capacity has a minimum of 300 GiB, and a maximum of 65,536 GiB.

For Lustre file systems, the storage capacity has a minimum of 3,600 GiB. Storage capacity is provisioned in increments of 3,600 GiB.

type SubnetIds

list

param SubnetIds

[REQUIRED]

A list of IDs for the subnets that the file system will be accessible from. File systems support only one subnet. The file server is also launched in that subnet's Availability Zone.

  • (string) --

    The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

type SecurityGroupIds

list

param SecurityGroupIds

A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups will apply to all network interfaces. This list isn't returned in later describe requests.

  • (string) --

    The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security Groups for Linux Instances in the Amazon EC2 User Guide .

type Tags

list

param Tags

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

  • (dict) --

    Specifies a key-value pair for a resource tag.

    • Key (string) --

      A value that specifies the TagKey , the name of the tag. Tag keys must be unique for the resource to which they are attached.

    • Value (string) --

      A value that specifies the TagValue , the value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key-value pair in a tag set of finances : April and also of payroll : April .

type KmsKeyId

string

param KmsKeyId

The ID of your AWS Key Management Service (AWS KMS) key. This ID is used to encrypt the data in your file system at rest. For more information, see Encrypt in the AWS Key Management Service API Reference .

type WindowsConfiguration

dict

param WindowsConfiguration

The configuration for this Microsoft Windows file system.

  • ActiveDirectoryId (string) --

    The ID for an existing Microsoft Active Directory instance that the file system should join when it's created.

  • ThroughputCapacity (integer) -- [REQUIRED]

    The throughput of an Amazon FSx file system, measured in megabytes per second.

  • WeeklyMaintenanceStartTime (string) --

    The preferred start time to perform weekly maintenance, in the UTC time zone.

  • DailyAutomaticBackupStartTime (string) --

    The preferred time to take daily automatic backups, in the UTC time zone.

  • AutomaticBackupRetentionDays (integer) --

    The number of days to retain automatic backups. The default is to retain backups for 7 days. Setting this value to 0 disables the creation of automatic backups. The maximum retention period for backups is 35 days.

  • CopyTagsToBackups (boolean) --

    A boolean flag indicating whether tags on the file system should be copied to backups. This value defaults to false. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups.

type LustreConfiguration

dict

param LustreConfiguration

The configuration object for Lustre file systems used in the CreateFileSystem operation.

  • WeeklyMaintenanceStartTime (string) --

    The preferred time to perform weekly maintenance, in the UTC time zone.

  • ImportPath (string) --

    (Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix . If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

  • ExportPath (string) --

    (Optional) The path in Amazon S3 where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an ExportPath value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp] . The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z .

    The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath . If you only specify a bucket name, such as s3://import-bucket , you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix] , Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.

  • ImportedFileChunkSize (integer) --

    (Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

    The chunk size default is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

rtype

dict

returns

Response Syntax

{
    'FileSystem': {
        'OwnerId': 'string',
        'CreationTime': datetime(2015, 1, 1),
        'FileSystemId': 'string',
        'FileSystemType': 'WINDOWS'|'LUSTRE',
        'Lifecycle': 'AVAILABLE'|'CREATING'|'FAILED'|'DELETING',
        'FailureDetails': {
            'Message': 'string'
        },
        'StorageCapacity': 123,
        'VpcId': 'string',
        'SubnetIds': [
            'string',
        ],
        'NetworkInterfaceIds': [
            'string',
        ],
        'DNSName': 'string',
        'KmsKeyId': 'string',
        'ResourceARN': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'WindowsConfiguration': {
            'ActiveDirectoryId': 'string',
            'ThroughputCapacity': 123,
            'MaintenanceOperationsInProgress': [
                'PATCHING'|'BACKING_UP',
            ],
            'WeeklyMaintenanceStartTime': 'string',
            'DailyAutomaticBackupStartTime': 'string',
            'AutomaticBackupRetentionDays': 123,
            'CopyTagsToBackups': True|False
        },
        'LustreConfiguration': {
            'WeeklyMaintenanceStartTime': 'string',
            'DataRepositoryConfiguration': {
                'ImportPath': 'string',
                'ExportPath': 'string',
                'ImportedFileChunkSize': 123
            }
        }
    }
}

Response Structure

  • (dict) --

    The response object for the CreateFileSystem operation.

    • FileSystem (dict) --

      A description of the file system.

      • OwnerId (string) --

        The AWS account that created the file system. If the file system was created by an IAM user, the AWS account to which the IAM user belongs is the owner.

      • CreationTime (datetime) --

        The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.

      • FileSystemId (string) --

        The eight-digit ID of the file system that was automatically assigned by Amazon FSx.

      • FileSystemType (string) --

        Type of file system. Currently the only supported type is WINDOWS.

      • Lifecycle (string) --

        The lifecycle status of the file system.

      • FailureDetails (dict) --

        Structure providing details of any failures that occur when creating the file system has failed.

        • Message (string) --

          Message describing the failures that occurred during file system creation.

      • StorageCapacity (integer) --

        The storage capacity of the file system in gigabytes.

      • VpcId (string) --

        The ID of the primary VPC for the file system.

      • SubnetIds (list) --

        The IDs of the subnets to contain the endpoint for the file system. One and only one is supported. The file system is launched in the Availability Zone associated with this subnet.

        • (string) --

          The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

      • NetworkInterfaceIds (list) --

        The IDs of the elastic network interface from which a specific file system is accessible. The elastic network interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

        For an Amazon FSx for Windows File Server file system, you can have one network interface Id. For an Amazon FSx for Lustre file system, you can have more than one.

        • (string) --

          An elastic network interface ID. An elastic network interface is a logical networking component in a virtual private cloud (VPC) that represents a virtual network card. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide for Linux Instances .

      • DNSName (string) --

        The DNS name for the file system.

      • KmsKeyId (string) --

        The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for an Amazon FSx for Windows File Server file system.

      • ResourceARN (string) --

        The resource ARN of the file system.

      • Tags (list) --

        The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide .

        • (dict) --

          Specifies a key-value pair for a resource tag.

          • Key (string) --

            A value that specifies the TagKey , the name of the tag. Tag keys must be unique for the resource to which they are attached.

          • Value (string) --

            A value that specifies the TagValue , the value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key-value pair in a tag set of finances : April and also of payroll : April .

      • WindowsConfiguration (dict) --

        The configuration for this Microsoft Windows file system.

        • ActiveDirectoryId (string) --

          The ID for an existing Microsoft Active Directory instance that the file system should join when it's created.

        • ThroughputCapacity (integer) --

          The throughput of an Amazon FSx file system, measured in megabytes per second.

        • MaintenanceOperationsInProgress (list) --

          The list of maintenance operations in progress for this file system.

          • (string) --

            An enumeration specifying the currently ongoing maintenance operation.

        • WeeklyMaintenanceStartTime (string) --

          The preferred time to perform weekly maintenance, in the UTC time zone.

        • DailyAutomaticBackupStartTime (string) --

          The preferred time to take daily automatic backups, in the UTC time zone.

        • AutomaticBackupRetentionDays (integer) --

          The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days.

        • CopyTagsToBackups (boolean) --

          A boolean flag indicating whether tags on the file system should be copied to backups. This value defaults to false. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups.

      • LustreConfiguration (dict) --

        The configuration for the Amazon FSx for Lustre file system.

        • WeeklyMaintenanceStartTime (string) --

          The UTC time that you want to begin your weekly maintenance window.

        • DataRepositoryConfiguration (dict) --

          The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

          • ImportPath (string) --

            The import path to the Amazon S3 bucket (and optional prefix) that you're using as the data repository for your FSx for Lustre file system, for example s3://import-bucket/optional-prefix . If a prefix is specified after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

          • ExportPath (string) --

            The export path to the Amazon S3 bucket (and prefix) that you are using to store new and changed Lustre file system files in S3.

          • ImportedFileChunkSize (integer) --

            For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

            The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.