Skip to content

LogicallyAirGappedBackupVault

The LogicallyAirGappedBackupVault resource allows you to manage AWS Backup Logically Air Gapped Backup Vaults for secure backup storage with enhanced protection against cyber threats.

Minimal Example

Create a basic logically air gapped backup vault with required properties and some optional tags.

ts
import AWS from "alchemy/aws/control";

const backupVault = await AWS.Backup.LogicallyAirGappedBackupVault("myBackupVault", {
  BackupVaultName: "MyBackupVault",
  MaxRetentionDays: 30,
  MinRetentionDays: 7,
  BackupVaultTags: {
    Environment: "production",
    Project: "critical-backup"
  }
});

Advanced Configuration

Configure a logically air gapped backup vault with an access policy and notifications settings.

ts
const advancedBackupVault = await AWS.Backup.LogicallyAirGappedBackupVault("advancedBackupVault", {
  BackupVaultName: "AdvancedBackupVault",
  MaxRetentionDays: 60,
  MinRetentionDays: 14,
  AccessPolicy: {
    Version: "2012-10-17",
    Statement: [
      {
        Effect: "Allow",
        Principal: {
          AWS: "arn:aws:iam::123456789012:role/MyBackupRole"
        },
        Action: "backup:StartBackupJob",
        Resource: "*"
      }
    ]
  },
  Notifications: {
    BackupVaultEvents: ["BACKUP_JOB_STARTED", "BACKUP_JOB_COMPLETED"],
    SnsTopicArn: "arn:aws:sns:us-east-1:123456789012:MyNotificationTopic"
  }
});

Adoption of Existing Resources

Use the adoption feature to manage an existing logically air gapped backup vault without failing.

ts
const adoptBackupVault = await AWS.Backup.LogicallyAirGappedBackupVault("adoptBackupVault", {
  BackupVaultName: "ExistingBackupVault",
  MaxRetentionDays: 45,
  MinRetentionDays: 10,
  adopt: true // Adopt existing resource if it already exists
});