Skip to content

ResiliencyPolicy ​

The ResiliencyPolicy resource enables you to define and manage AWS ResilienceHub ResiliencyPolicys that govern the resiliency and recovery strategies for your applications.

Minimal Example ​

Create a basic resiliency policy with required properties and a description:

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

const basicResiliencyPolicy = await AWS.ResilienceHub.ResiliencyPolicy("basicResiliencyPolicy", {
  Policy: {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "resiliencehub:CreateResiliencyPolicy",
        "Resource": "*"
      }
    ]
  },
  PolicyDescription: "Basic resiliency policy for critical applications.",
  Tier: "MissionCritical",
  PolicyName: "BasicPolicy"
});

Advanced Configuration ​

Configure a resiliency policy with additional options, including data location constraints and tags:

ts
const advancedResiliencyPolicy = await AWS.ResilienceHub.ResiliencyPolicy("advancedResiliencyPolicy", {
  Policy: {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "resiliencehub:UpdateResiliencyPolicy",
        "Resource": "*"
      }
    ]
  },
  PolicyDescription: "Advanced resiliency policy for multi-region applications.",
  Tier: "Critical",
  PolicyName: "AdvancedPolicy",
  DataLocationConstraint: "us-west-2",
  Tags: {
    Project: "ResilienceProject",
    Environment: "Production"
  }
});

Example with Adoption of Existing Resources ​

Create a resiliency policy while adopting existing resources instead of failing if they already exist:

ts
const adoptResiliencyPolicy = await AWS.ResilienceHub.ResiliencyPolicy("adoptResiliencyPolicy", {
  Policy: {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Effect": "Allow",
        "Action": "resiliencehub:DeleteResiliencyPolicy",
        "Resource": "*"
      }
    ]
  },
  PolicyDescription: "Policy that adopts existing resources.",
  Tier: "HighAvailability",
  PolicyName: "AdoptExistingPolicy",
  adopt: true
});