Skip to content

ControlPanel

The ControlPanel resource allows you to create and manage AWS Route53RecoveryControl ControlPanels for controlling the failover and recovery of your applications across multiple AWS accounts and regions.

Minimal Example

Create a basic ControlPanel with required properties and an optional tag.

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

const basicControlPanel = await AWS.Route53RecoveryControl.ControlPanel("basicControlPanel", {
  Name: "PrimaryControlPanel",
  ClusterArn: "arn:aws:route53-recovery-control::123456789012:cluster:example-cluster",
  Tags: [{ Key: "Environment", Value: "Production" }]
});

Advanced Configuration

Configure a ControlPanel with a name and tags, while adopting an existing resource if it already exists.

ts
const advancedControlPanel = await AWS.Route53RecoveryControl.ControlPanel("advancedControlPanel", {
  Name: "SecondaryControlPanel",
  ClusterArn: "arn:aws:route53-recovery-control::123456789012:cluster:example-cluster",
  Tags: [{ Key: "Environment", Value: "Staging" }],
  adopt: true
});

ControlPanel without Cluster

Create a ControlPanel without specifying a ClusterArn, indicating it will not be associated with any existing cluster.

ts
const standaloneControlPanel = await AWS.Route53RecoveryControl.ControlPanel("standaloneControlPanel", {
  Name: "StandaloneControlPanel"
});

Updating a ControlPanel

An example of how to update the name of an existing ControlPanel.

ts
const updatedControlPanel = await AWS.Route53RecoveryControl.ControlPanel("updatedControlPanel", {
  Name: "UpdatedControlPanelName"
});

Deleting a ControlPanel

Illustrate how to delete a ControlPanel when it is no longer needed.

ts
const deleteControlPanel = await AWS.Route53RecoveryControl.ControlPanel("deleteControlPanel", {
  Name: "ToBeDeletedControlPanel",
  delete: true // Indicates that the ControlPanel should be deleted on --destroy
});