BackupVault
The BackupVault resource allows you to manage AWS Backup BackupVaults for storing and organizing backup data securely.
Minimal Example
Section titled “Minimal Example”Create a basic backup vault with a name and optional tags.
import AWS from "alchemy/aws/control";
const backupVault = await AWS.Backup.BackupVault("myBackupVault", { BackupVaultName: "MyBackupVault", BackupVaultTags: { Environment: "Production", Project: "WebsiteMigration" }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a backup vault with encryption and notifications.
const secureBackupVault = await AWS.Backup.BackupVault("secureBackupVault", { BackupVaultName: "SecureBackupVault", EncryptionKeyArn: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef", Notifications: { BackupVaultEvents: ["BACKUP_JOB_FAILED", "BACKUP_JOB_COMPLETED"], SNSTopicArn: "arn:aws:sns:us-west-2:123456789012:MySNSTopic" }});
Lock Configuration
Section titled “Lock Configuration”Create a backup vault with lock configuration to prevent accidental deletion.
const lockedBackupVault = await AWS.Backup.BackupVault("lockedBackupVault", { BackupVaultName: "LockedBackupVault", LockConfiguration: { MinRetentionDays: 30, MaxRetentionDays: 365 }});
Access Policy
Section titled “Access Policy”Set an access policy for the backup vault to control permissions.
const policyBackupVault = await AWS.Backup.BackupVault("policyBackupVault", { BackupVaultName: "PolicyBackupVault", AccessPolicy: { Version: "2012-10-17", Statement: [ { Effect: "Allow", Principal: { AWS: "arn:aws:iam::123456789012:user/BackupUser" }, Action: "backup:StartBackupJob", Resource: "*" } ] }});