Volume
The Volume resource lets you manage AWS FSx Volumes for file storage solutions, allowing you to create, configure, and manage scalable file systems.
Minimal Example
Section titled “Minimal Example”Create a basic FSx Volume with essential properties:
import AWS from "alchemy/aws/control";
const basicVolume = await AWS.FSx.Volume("basicVolume", { name: "my-basic-volume", volumeType: "FRONTEND", openZFSConfiguration: { userAndGroupQuotas: [ { userId: "1001", quota: 1000000000 // Set a quota for the user } ], volumeQuota: 5000000000 // Set a quota for the volume }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a volume with additional settings such as tags and backup options:
const advancedVolume = await AWS.FSx.Volume("advancedVolume", { name: "my-advanced-volume", volumeType: "FRONTEND", backupId: "backup-123456", tags: [ { Key: "Environment", Value: "Production" }, { Key: "Project", Value: "ProjectX" } ], ontapConfiguration: { storageEfficiencyEnabled: true, snapshotPolicy: "daily" }});
Adopting Existing Resources
Section titled “Adopting Existing Resources”Use the adopt option to manage an existing FSx Volume without failure:
const existingVolume = await AWS.FSx.Volume("existingVolume", { name: "my-existing-volume", adopt: true // This will adopt the existing resource instead of failing});
Custom Configuration with OpenZFS
Section titled “Custom Configuration with OpenZFS”Create a volume with a custom OpenZFS configuration:
const customOpenZFSVolume = await AWS.FSx.Volume("customOpenZFSVolume", { name: "my-custom-zfs-volume", volumeType: "OPENZFS", openZFSConfiguration: { userAndGroupQuotas: [ { userId: "1002", quota: 2000000000 // Set a quota for the user } ], volumeQuota: 10000000000 // Set a quota for the volume }, tags: [ { Key: "Type", Value: "ZFS" } ]});