Skip to content
GitHubXDiscordRSS

App

Learn how to create, update, and manage AWS ResilienceHub Apps using Alchemy Cloud Control.

The App resource lets you manage AWS ResilienceHub Apps for assessing and improving the resiliency of your applications.

Create a basic ResilienceHub app with essential properties.

import AWS from "alchemy/aws/control";
const resilienceHubApp = await AWS.ResilienceHub.App("basicApp", {
name: "MyResilienceApp",
appTemplateBody: JSON.stringify({
version: "1.0",
resources: []
}),
resourceMappings: [
{
resourceName: "MyEC2Instance",
resourceType: "AWS::EC2::Instance"
}
],
description: "This is a minimal ResilienceHub app."
});

Configure a ResilienceHub app with an assessment schedule and event subscriptions.

const advancedResilienceHubApp = await AWS.ResilienceHub.App("advancedApp", {
name: "AdvancedResilienceApp",
appTemplateBody: JSON.stringify({
version: "1.0",
resources: []
}),
resourceMappings: [
{
resourceName: "MyDynamoDBTable",
resourceType: "AWS::DynamoDB::Table"
}
],
appAssessmentSchedule: "rate(1 day)",
eventSubscriptions: [
{
event: "Creation",
target: "arn:aws:sns:us-west-2:123456789012:MySNSTopic"
}
],
tags: {
Environment: "Production",
Team: "DevOps"
}
});

Create a ResilienceHub app that adopts existing resources without failure if they already exist.

const adoptExistingApp = await AWS.ResilienceHub.App("adoptApp", {
name: "AdoptExistingApp",
appTemplateBody: JSON.stringify({
version: "1.0",
resources: []
}),
resourceMappings: [
{
resourceName: "MyS3Bucket",
resourceType: "AWS::S3::Bucket"
}
],
adopt: true // Adopt existing resources if they exist
});

Set a Resiliency Policy ARN while creating the app to ensure compliance with defined policies.

const policyAssociatedApp = await AWS.ResilienceHub.App("policyApp", {
name: "PolicyAssociatedApp",
appTemplateBody: JSON.stringify({
version: "1.0",
resources: []
}),
resourceMappings: [
{
resourceName: "MyLambdaFunction",
resourceType: "AWS::Lambda::Function"
}
],
resiliencyPolicyArn: "arn:aws:resiliencehub:us-west-2:123456789012:policy/MyResiliencyPolicy"
});