Package com.pulumi.aws.fsx
Class LustreFileSystem
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.fsx.LustreFileSystem
-
public class LustreFileSystem extends com.pulumi.resources.CustomResourceManages a FSx Lustre File System. See the [FSx Lustre Guide](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) for more information. > **NOTE:** `autoImportPolicy`, `exportPath`, `importPath` and `importedFileChunkSize` are not supported with the `PERSISTENT_2` deployment type. Use `aws.fsx.DataRepositoryAssociation` instead. ## Example Usage
## Import Using `pulumi import`, import FSx File Systems using the `id`. For example: ```sh $ pulumi import aws:fsx/lustreFileSystem:LustreFileSystem example fs-543ab12b1ca672f33 ``` Certain resource arguments, like `securityGroupIds`, do not have a FSx API method for reading the information after creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignoreChanges` to hide the difference. For example: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.ArrayList; import java.util.Arrays; 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", exampleAwsS3Bucket.bucket())) .storageCapacity(1200) .subnetIds(exampleAwsSubnet.id()) .build()); } }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 com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; 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() .securityGroupIds(exampleAwsSecurityGroup.id()) .build(), CustomResourceOptions.builder() .ignoreChanges("securityGroupIds") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description LustreFileSystem(java.lang.String name)LustreFileSystem(java.lang.String name, LustreFileSystemArgs args)LustreFileSystem(java.lang.String name, LustreFileSystemArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>autoImportPolicy()com.pulumi.core.Output<java.lang.Integer>automaticBackupRetentionDays()com.pulumi.core.Output<java.util.Optional<java.lang.String>>backupId()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>copyTagsToBackups()com.pulumi.core.Output<java.lang.String>dailyAutomaticBackupStartTime()com.pulumi.core.Output<java.util.Optional<java.lang.String>>dataCompressionType()com.pulumi.core.Output<java.util.Optional<LustreFileSystemDataReadCacheConfiguration>>dataReadCacheConfiguration()com.pulumi.core.Output<java.util.Optional<java.lang.String>>deploymentType()com.pulumi.core.Output<java.lang.String>dnsName()com.pulumi.core.Output<java.util.Optional<java.lang.String>>driveCacheType()com.pulumi.core.Output<java.lang.Boolean>efaEnabled()com.pulumi.core.Output<java.lang.String>exportPath()com.pulumi.core.Output<java.lang.String>fileSystemTypeVersion()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>finalBackupTags()static LustreFileSystemget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, LustreFileSystemState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.Integer>importedFileChunkSize()com.pulumi.core.Output<java.util.Optional<java.lang.String>>importPath()com.pulumi.core.Output<java.lang.String>kmsKeyId()com.pulumi.core.Output<LustreFileSystemLogConfiguration>logConfiguration()com.pulumi.core.Output<LustreFileSystemMetadataConfiguration>metadataConfiguration()com.pulumi.core.Output<java.lang.String>mountName()com.pulumi.core.Output<java.util.List<java.lang.String>>networkInterfaceIds()com.pulumi.core.Output<java.lang.String>ownerId()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>perUnitStorageThroughput()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<LustreFileSystemRootSquashConfiguration>>rootSquashConfiguration()com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>securityGroupIds()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>skipFinalBackup()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>storageCapacity()com.pulumi.core.Output<java.util.Optional<java.lang.String>>storageType()com.pulumi.core.Output<java.lang.String>subnetIds()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>throughputCapacity()com.pulumi.core.Output<java.lang.String>vpcId()com.pulumi.core.Output<java.lang.String>weeklyMaintenanceStartTime()
-
-
-
Constructor Detail
-
LustreFileSystem
public LustreFileSystem(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
LustreFileSystem
public LustreFileSystem(java.lang.String name, LustreFileSystemArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
LustreFileSystem
public LustreFileSystem(java.lang.String name, LustreFileSystemArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the file system.
-
autoImportPolicy
public com.pulumi.core.Output<java.lang.String> autoImportPolicy()
- Returns:
- 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](https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html) for more details. Only supported on `PERSISTENT_1` deployment types.
-
automaticBackupRetentionDays
public com.pulumi.core.Output<java.lang.Integer> automaticBackupRetentionDays()
- Returns:
- 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.
-
backupId
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> backupId()
- Returns:
- ID of the source backup to create the filesystem from.
-
copyTagsToBackups
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> copyTagsToBackups()
- Returns:
- Whether to copy tags for the file system to backups. Applicable for `PERSISTENT_1` and `PERSISTENT_2` deployment_type. The default value is false.
-
dailyAutomaticBackupStartTime
public com.pulumi.core.Output<java.lang.String> dailyAutomaticBackupStartTime()
- Returns:
- 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 `automaticBackupRetentionDays` to be set.
-
dataCompressionType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> dataCompressionType()
- Returns:
- 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`.
-
dataReadCacheConfiguration
public com.pulumi.core.Output<java.util.Optional<LustreFileSystemDataReadCacheConfiguration>> dataReadCacheConfiguration()
-
deploymentType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> deploymentType()
- Returns:
- Filesystem deployment type. One of: `SCRATCH_1`, `SCRATCH_2`, `PERSISTENT_1`, `PERSISTENT_2`.
-
dnsName
public com.pulumi.core.Output<java.lang.String> dnsName()
- Returns:
- DNS name for the file system, e.g., `fs-12345678.fsx.us-west-2.amazonaws.com`
-
driveCacheType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> driveCacheType()
- Returns:
- 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`.
-
efaEnabled
public com.pulumi.core.Output<java.lang.Boolean> efaEnabled()
- Returns:
- Adds support for Elastic Fabric Adapter (EFA) and GPUDirect Storage (GDS) to Lustre. This must be set at creation. If set this cannot be changed and this prevents changes to `perUnitStorageThroughput`. This is only supported when deploymentType is set to `PERSISTENT_2`, `metadataConfiguration` is used, and an EFA-enabled security group is attached.
-
exportPath
public com.pulumi.core.Output<java.lang.String> exportPath()
- Returns:
- S3 URI (with optional prefix) where the root of your Amazon FSx file system is exported. Can only be specified with `importPath` argument and the path must use the same Amazon S3 bucket as specified in `importPath`. Set equal to `importPath` to overwrite files on export. Defaults to `s3://{IMPORT BUCKET}/FSxLustre{CREATION TIMESTAMP}`. Only supported on `PERSISTENT_1` deployment types.
-
fileSystemTypeVersion
public com.pulumi.core.Output<java.lang.String> fileSystemTypeVersion()
- Returns:
- Sets the Lustre version for the file system. Valid values are `2.10`, `2.12`, and `2.15`. When creating a file system, `2.10` is valid for `SCRATCH_1`, `SCRATCH_2`, and `PERSISTENT_1` deployment types; `2.12` and `2.15` are valid for all deployment types. Changing this value to a higher version triggers an in-place upgrade. Changing to a lower version forces resource replacement (destroy and recreate).
-
finalBackupTags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> finalBackupTags()
- Returns:
- Map of tags to apply to the file system's final backup. **Note:** If the filesystem uses a Scratch deployment type, final backup during delete will always be skipped and this argument will not be used even when set.
-
importPath
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> importPath()
- Returns:
- 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.
-
importedFileChunkSize
public com.pulumi.core.Output<java.lang.Integer> importedFileChunkSize()
- Returns:
- 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 `importPath` argument. Defaults to `1024`. Minimum of `1` and maximum of `512000`. Only supported on `PERSISTENT_1` deployment types.
-
kmsKeyId
public com.pulumi.core.Output<java.lang.String> kmsKeyId()
- Returns:
- 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.
-
logConfiguration
public com.pulumi.core.Output<LustreFileSystemLogConfiguration> logConfiguration()
- Returns:
- 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. See `logConfiguration` Block for details.
-
metadataConfiguration
public com.pulumi.core.Output<LustreFileSystemMetadataConfiguration> metadataConfiguration()
- Returns:
- Lustre metadata configuration used when creating an Amazon FSx for Lustre file system. This can be used to specify a user provisioned metadata scale. This is only supported when `deploymentType` is set to `PERSISTENT_2`. See `metadataConfiguration` Block for details.
-
mountName
public com.pulumi.core.Output<java.lang.String> mountName()
- Returns:
- Value to be used when mounting the filesystem.
-
networkInterfaceIds
public com.pulumi.core.Output<java.util.List<java.lang.String>> networkInterfaceIds()
- Returns:
- Set of Elastic Network Interface identifiers from which the file system is accessible. As explained in the [documentation](https://docs.aws.amazon.com/fsx/latest/LustreGuide/mounting-on-premises.html), the first network interface returned is the primary network interface.
-
ownerId
public com.pulumi.core.Output<java.lang.String> ownerId()
- Returns:
- AWS account identifier that created the file system.
-
perUnitStorageThroughput
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> perUnitStorageThroughput()
- Returns:
- 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` deploymentType and `SSD` storageType are 50, 100, 200. Valid values for `PERSISTENT_1` deploymentType and `HDD` storageType are 12, 40. Valid values for `PERSISTENT_2` deploymentType and ` SSD ` storageType are 125, 250, 500, 1000.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
rootSquashConfiguration
public com.pulumi.core.Output<java.util.Optional<LustreFileSystemRootSquashConfiguration>> rootSquashConfiguration()
- Returns:
- 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. See `rootSquashConfiguration` Block for details.
-
securityGroupIds
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> securityGroupIds()
- Returns:
- 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.
-
skipFinalBackup
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> skipFinalBackup()
- Returns:
- When enabled, will skip the default final backup taken when the file system is deleted. This configuration must be applied separately before attempting to delete the resource to have the desired behavior. Defaults to `true`. **Note:** If the filesystem uses a Scratch deployment type, final backup during delete will always be skipped and this argument will not be used even when set.
-
storageCapacity
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> storageCapacity()
- Returns:
- Storage capacity (GiB) of the file system. Minimum of `1200`. See more details at [Allowed values for FSx storage capacity](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html#FSx-CreateFileSystem-request-StorageCapacity). Update is allowed only for `SCRATCH_2`, `PERSISTENT_1` and `PERSISTENT_2` deployment types, See more details at [FSx Storage Capacity Update](https://docs.aws.amazon.com/fsx/latest/APIReference/API_UpdateFileSystem.html#FSx-UpdateFileSystem-request-StorageCapacity). Required when not creating filesystem for a backup.
-
storageType
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> storageType()
- Returns:
- Filesystem storage type. One of `SSD`, `HDD` or `INTELLIGENT_TIERING`, defaults to `SSD`. `HDD` is only supported on `PERSISTENT_1` deployment types. `INTELLIGENT_TIERING` requires `dataReadCacheConfiguration` and `metadataConfiguration` to be set and is only supported for `PERSISTENT_2` deployment types.
-
subnetIds
public com.pulumi.core.Output<java.lang.String> subnetIds()
- Returns:
- 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.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of tags to assign to the file system. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
throughputCapacity
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> throughputCapacity()
- Returns:
- Throughput in MBps required for the `INTELLIGENT_TIERING` storage type. Must be 4000 or multiples of 4000.
-
vpcId
public com.pulumi.core.Output<java.lang.String> vpcId()
- Returns:
- Identifier of the VPC for the file system.
-
weeklyMaintenanceStartTime
public com.pulumi.core.Output<java.lang.String> weeklyMaintenanceStartTime()
- Returns:
- Preferred start time (in `d:HH:MM` format) to perform weekly maintenance, in the UTC time zone.
-
get
public static LustreFileSystem get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable LustreFileSystemState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-