UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

149 lines 8.49 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.LustreFileSystem = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Manages 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 * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.fsx.LustreFileSystem("example", { * importPath: `s3://${exampleAwsS3Bucket.bucket}`, * storageCapacity: 1200, * subnetIds: exampleAwsSubnet.id, * }); * ``` * * ## 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 `security_group_ids`, 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 `ignore_changes` to hide the difference. For example: */ class LustreFileSystem extends pulumi.CustomResource { /** * Get an existing LustreFileSystem resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, state, opts) { return new LustreFileSystem(name, state, { ...opts, id: id }); } /** * Returns true if the given object is an instance of LustreFileSystem. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === LustreFileSystem.__pulumiType; } constructor(name, argsOrState, opts) { let resourceInputs = {}; opts = opts || {}; if (opts.id) { const state = argsOrState; resourceInputs["arn"] = state?.arn; resourceInputs["autoImportPolicy"] = state?.autoImportPolicy; resourceInputs["automaticBackupRetentionDays"] = state?.automaticBackupRetentionDays; resourceInputs["backupId"] = state?.backupId; resourceInputs["copyTagsToBackups"] = state?.copyTagsToBackups; resourceInputs["dailyAutomaticBackupStartTime"] = state?.dailyAutomaticBackupStartTime; resourceInputs["dataCompressionType"] = state?.dataCompressionType; resourceInputs["dataReadCacheConfiguration"] = state?.dataReadCacheConfiguration; resourceInputs["deploymentType"] = state?.deploymentType; resourceInputs["dnsName"] = state?.dnsName; resourceInputs["driveCacheType"] = state?.driveCacheType; resourceInputs["efaEnabled"] = state?.efaEnabled; resourceInputs["exportPath"] = state?.exportPath; resourceInputs["fileSystemTypeVersion"] = state?.fileSystemTypeVersion; resourceInputs["finalBackupTags"] = state?.finalBackupTags; resourceInputs["importPath"] = state?.importPath; resourceInputs["importedFileChunkSize"] = state?.importedFileChunkSize; resourceInputs["kmsKeyId"] = state?.kmsKeyId; resourceInputs["logConfiguration"] = state?.logConfiguration; resourceInputs["metadataConfiguration"] = state?.metadataConfiguration; resourceInputs["mountName"] = state?.mountName; resourceInputs["networkInterfaceIds"] = state?.networkInterfaceIds; resourceInputs["ownerId"] = state?.ownerId; resourceInputs["perUnitStorageThroughput"] = state?.perUnitStorageThroughput; resourceInputs["region"] = state?.region; resourceInputs["rootSquashConfiguration"] = state?.rootSquashConfiguration; resourceInputs["securityGroupIds"] = state?.securityGroupIds; resourceInputs["skipFinalBackup"] = state?.skipFinalBackup; resourceInputs["storageCapacity"] = state?.storageCapacity; resourceInputs["storageType"] = state?.storageType; resourceInputs["subnetIds"] = state?.subnetIds; resourceInputs["tags"] = state?.tags; resourceInputs["tagsAll"] = state?.tagsAll; resourceInputs["throughputCapacity"] = state?.throughputCapacity; resourceInputs["vpcId"] = state?.vpcId; resourceInputs["weeklyMaintenanceStartTime"] = state?.weeklyMaintenanceStartTime; } else { const args = argsOrState; if (args?.subnetIds === undefined && !opts.urn) { throw new Error("Missing required property 'subnetIds'"); } resourceInputs["autoImportPolicy"] = args?.autoImportPolicy; resourceInputs["automaticBackupRetentionDays"] = args?.automaticBackupRetentionDays; resourceInputs["backupId"] = args?.backupId; resourceInputs["copyTagsToBackups"] = args?.copyTagsToBackups; resourceInputs["dailyAutomaticBackupStartTime"] = args?.dailyAutomaticBackupStartTime; resourceInputs["dataCompressionType"] = args?.dataCompressionType; resourceInputs["dataReadCacheConfiguration"] = args?.dataReadCacheConfiguration; resourceInputs["deploymentType"] = args?.deploymentType; resourceInputs["driveCacheType"] = args?.driveCacheType; resourceInputs["efaEnabled"] = args?.efaEnabled; resourceInputs["exportPath"] = args?.exportPath; resourceInputs["fileSystemTypeVersion"] = args?.fileSystemTypeVersion; resourceInputs["finalBackupTags"] = args?.finalBackupTags; resourceInputs["importPath"] = args?.importPath; resourceInputs["importedFileChunkSize"] = args?.importedFileChunkSize; resourceInputs["kmsKeyId"] = args?.kmsKeyId; resourceInputs["logConfiguration"] = args?.logConfiguration; resourceInputs["metadataConfiguration"] = args?.metadataConfiguration; resourceInputs["perUnitStorageThroughput"] = args?.perUnitStorageThroughput; resourceInputs["region"] = args?.region; resourceInputs["rootSquashConfiguration"] = args?.rootSquashConfiguration; resourceInputs["securityGroupIds"] = args?.securityGroupIds; resourceInputs["skipFinalBackup"] = args?.skipFinalBackup; resourceInputs["storageCapacity"] = args?.storageCapacity; resourceInputs["storageType"] = args?.storageType; resourceInputs["subnetIds"] = args?.subnetIds; resourceInputs["tags"] = args?.tags; resourceInputs["throughputCapacity"] = args?.throughputCapacity; resourceInputs["weeklyMaintenanceStartTime"] = args?.weeklyMaintenanceStartTime; resourceInputs["arn"] = undefined /*out*/; resourceInputs["dnsName"] = undefined /*out*/; resourceInputs["mountName"] = undefined /*out*/; resourceInputs["networkInterfaceIds"] = undefined /*out*/; resourceInputs["ownerId"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["vpcId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(LustreFileSystem.__pulumiType, name, resourceInputs, opts); } } exports.LustreFileSystem = LustreFileSystem; /** @internal */ LustreFileSystem.__pulumiType = 'aws:fsx/lustreFileSystem:LustreFileSystem'; //# sourceMappingURL=lustreFileSystem.js.map