LustreFileSystemArgs

data class LustreFileSystemArgs(val autoImportPolicy: Output<String>? = null, val automaticBackupRetentionDays: Output<Int>? = null, val backupId: Output<String>? = null, val copyTagsToBackups: Output<Boolean>? = null, val dailyAutomaticBackupStartTime: Output<String>? = null, val dataCompressionType: Output<String>? = null, val deploymentType: Output<String>? = null, val driveCacheType: Output<String>? = null, val exportPath: Output<String>? = null, val fileSystemTypeVersion: Output<String>? = null, val importPath: Output<String>? = null, val importedFileChunkSize: Output<Int>? = null, val kmsKeyId: Output<String>? = null, val logConfiguration: Output<LustreFileSystemLogConfigurationArgs>? = null, val perUnitStorageThroughput: Output<Int>? = null, val rootSquashConfiguration: Output<LustreFileSystemRootSquashConfigurationArgs>? = null, val securityGroupIds: Output<List<String>>? = null, val storageCapacity: Output<Int>? = null, val storageType: Output<String>? = null, val subnetIds: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val weeklyMaintenanceStartTime: Output<String>? = null) : ConvertibleToJava<LustreFileSystemArgs>

Manages a FSx Lustre File System. See the FSx Lustre Guide for more information.

NOTE: auto_import_policy, export_path, import_path and imported_file_chunk_size are not supported with the PERSISTENT_2 deployment type. Use aws.fsx.DataRepositoryAssociation instead.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.fsx.LustreFileSystem;
import com.pulumi.aws.fsx.LustreFileSystemArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new LustreFileSystem("example", LustreFileSystemArgs.builder()
.importPath(String.format("s3://%s", aws_s3_bucket.example().bucket()))
.storageCapacity(1200)
.subnetIds(aws_subnet.example().id())
.build());
}
}

Import

FSx File Systems can be imported using the id, e.g.,

$ pulumi import aws:fsx/lustreFileSystem:LustreFileSystem example fs-543ab12b1ca672f33

Certain resource arguments, like security_group_ids, do not have a FSx API method for reading the information after creation. If the argument is set in the provider configuration on an imported resource, this provider will always show a difference. To workaround this behavior, either omit the argument from the provider configuration or use ignoreChanges to hide the difference, e.g. terraform resource "aws_fsx_lustre_file_system" "example" {

... other configuration ...

security_group_ids = aws_security_group.example.id

There is no FSx API for reading security_group_ids

lifecycle { ignore_changes = security_group_ids } }

Constructors

Link copied to clipboard
constructor(autoImportPolicy: Output<String>? = null, automaticBackupRetentionDays: Output<Int>? = null, backupId: Output<String>? = null, copyTagsToBackups: Output<Boolean>? = null, dailyAutomaticBackupStartTime: Output<String>? = null, dataCompressionType: Output<String>? = null, deploymentType: Output<String>? = null, driveCacheType: Output<String>? = null, exportPath: Output<String>? = null, fileSystemTypeVersion: Output<String>? = null, importPath: Output<String>? = null, importedFileChunkSize: Output<Int>? = null, kmsKeyId: Output<String>? = null, logConfiguration: Output<LustreFileSystemLogConfigurationArgs>? = null, perUnitStorageThroughput: Output<Int>? = null, rootSquashConfiguration: Output<LustreFileSystemRootSquashConfigurationArgs>? = null, securityGroupIds: Output<List<String>>? = null, storageCapacity: Output<Int>? = null, storageType: Output<String>? = null, subnetIds: Output<String>? = null, tags: Output<Map<String, String>>? = null, weeklyMaintenanceStartTime: Output<String>? = null)

Properties

Link copied to clipboard
val autoImportPolicy: Output<String>? = null

How Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. see Auto Import Data Repo for more details. Only supported on PERSISTENT_1 deployment types.

Link copied to clipboard
val automaticBackupRetentionDays: Output<Int>? = null

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. only valid for PERSISTENT_1 and PERSISTENT_2 deployment_type.

Link copied to clipboard
val backupId: Output<String>? = null

The ID of the source backup to create the filesystem from.

Link copied to clipboard
val copyTagsToBackups: Output<Boolean>? = null

A boolean flag indicating whether tags for the file system should be copied to backups. Applicable for PERSISTENT_1 and PERSISTENT_2 deployment_type. The default value is false.

Link copied to clipboard

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. only valid for PERSISTENT_1 and PERSISTENT_2 deployment_type. Requires automatic_backup_retention_days to be set.

Link copied to clipboard
val dataCompressionType: Output<String>? = null

Sets the data compression configuration for the file system. Valid values are LZ4 and NONE. Default value is NONE. Unsetting this value reverts the compression type back to NONE.

Link copied to clipboard
val deploymentType: Output<String>? = null

The filesystem deployment type. One of: SCRATCH_1, SCRATCH_2, PERSISTENT_1, PERSISTENT_2.

Link copied to clipboard
val driveCacheType: Output<String>? = null

The type of drive cache used by PERSISTENT_1 filesystems that are provisioned with HDD storage_type. Required for HDD storage_type, set to either READ or NONE.

Link copied to clipboard
val exportPath: Output<String>? = null

S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with import_path argument and the path must use the same Amazon S3 bucket as specified in import_path. Set equal to import_path to overwrite files on export. Defaults to s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}. Only supported on PERSISTENT_1 deployment types.

Link copied to clipboard
val fileSystemTypeVersion: Output<String>? = null

Sets the Lustre version for the file system that you're creating. Valid values are 2.10 for SCRATCH_1, SCRATCH_2 and PERSISTENT_1 deployment types. Valid values for 2.12 include all deployment types.

Link copied to clipboard
val importedFileChunkSize: Output<Int>? = null

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. Can only be specified with import_path argument. Defaults to 1024. Minimum of 1 and maximum of 512000. Only supported on PERSISTENT_1 deployment types.

Link copied to clipboard
val importPath: Output<String>? = null

S3 URI (with optional prefix) that you're using as the data repository for your FSx for Lustre file system. For example, s3://example-bucket/optional-prefix/. Only supported on PERSISTENT_1 deployment types.

Link copied to clipboard
val kmsKeyId: Output<String>? = null

ARN for the KMS Key to encrypt the file system at rest, applicable for PERSISTENT_1 and PERSISTENT_2 deployment_type. Defaults to an AWS managed KMS Key.

Link copied to clipboard

The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs.

Link copied to clipboard
val perUnitStorageThroughput: Output<Int>? = null

Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the PERSISTENT_1 and PERSISTENT_2 deployment_type. Valid values for PERSISTENT_1 deployment_type and SSD storage_type are 50, 100, 200. Valid values for PERSISTENT_1 deployment_type and HDD storage_type are 12, 40. Valid values for PERSISTENT_2 deployment_type and SSD storage_type are 125, 250, 500, 1000.

Link copied to clipboard

The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user.

Link copied to clipboard
val securityGroupIds: Output<List<String>>? = null

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.

Link copied to clipboard
val storageCapacity: Output<Int>? = null

The storage capacity (GiB) of the file system. Minimum of 1200. See more details at Allowed values for Fsx storage capacity. Update is allowed only for SCRATCH_2, PERSISTENT_1 and PERSISTENT_2 deployment types, See more details at Fsx Storage Capacity Update. Required when not creating filesystem for a backup.

Link copied to clipboard
val storageType: Output<String>? = null

The filesystem storage type. Either SSD or HDD, defaults to SSD. HDD is only supported on PERSISTENT_1 deployment types.

Link copied to clipboard
val subnetIds: Output<String>? = null

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

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the file system. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Link copied to clipboard
val weeklyMaintenanceStartTime: Output<String>? = null

The preferred start time (in d:HH:MM format) to perform weekly maintenance, in the UTC time zone.

Functions

Link copied to clipboard
open override fun toJava(): LustreFileSystemArgs