BackupSelection
The BackupSelection resource allows you to manage AWS Backup BackupSelections for defining the resources to back up. This resource is essential for configuring backup plans and ensuring that your data is protected and recoverable.
Minimal Example
Create a basic backup selection linked to a specific backup plan.
ts
import AWS from "alchemy/aws/control";
const backupSelection = await AWS.Backup.BackupSelection("myBackupSelection", {
BackupSelection: {
SelectionName: "MyBackupSelection",
IamRoleArn: "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole",
Resources: [
"arn:aws:ec2:us-west-2:123456789012:volume/vol-12345678"
]
},
BackupPlanId: "myBackupPlanId"
});
Advanced Configuration
Configure a backup selection with additional options like tags and resource filters.
ts
const advancedBackupSelection = await AWS.Backup.BackupSelection("advancedBackupSelection", {
BackupSelection: {
SelectionName: "AdvancedBackupSelection",
IamRoleArn: "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole",
Resources: [
"arn:aws:s3:::my-bucket"
],
Tags: {
Environment: "Production",
Project: "MyProject"
},
ListOfResourceArns: [
"arn:aws:rds:us-west-2:123456789012:db:mydatabase"
]
},
BackupPlanId: "myAdvancedBackupPlanId",
adopt: true
});
Resource Filtering
Create a backup selection that filters resources based on tags.
ts
const filteredBackupSelection = await AWS.Backup.BackupSelection("filteredBackupSelection", {
BackupSelection: {
SelectionName: "FilteredBackupSelection",
IamRoleArn: "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole",
Resources: [],
SelectionCriteria: {
Tags: {
Environment: "Production"
}
}
},
BackupPlanId: "myFilteredBackupPlanId"
});
Adopting Existing Resources
Demonstrate how to adopt an existing backup selection resource without failing if it already exists.
ts
const adoptBackupSelection = await AWS.Backup.BackupSelection("adoptBackupSelection", {
BackupSelection: {
SelectionName: "AdoptedBackupSelection",
IamRoleArn: "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole",
Resources: [
"arn:aws:ec2:us-west-2:123456789012:volume/vol-87654321"
]
},
BackupPlanId: "myAdoptBackupPlanId",
adopt: true // Adopt existing resource if it exists
});