aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
997 lines • 54.5 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* Represents a Region switch plan.
*
* A plan defines the steps required to shift traffic from one AWS Region to another.
*
* @cloudformationResource AWS::ARCRegionSwitch::Plan
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html
*/
export declare class CfnPlan extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggableV2 {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnPlan from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPlan;
/**
* The Amazon Resource Name (ARN) of the plan.
*
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* Represents a Region switch plan. A plan defines the steps required to shift traffic from one AWS Region to another.
*
* @cloudformationAttribute HealthChecksForPlan
*/
readonly attrHealthChecksForPlan: cdk.IResolvable;
/**
* The owner of a plan.
*
* @cloudformationAttribute Owner
*/
readonly attrOwner: string;
/**
* The version for the plan.
*
* @cloudformationAttribute Version
*/
readonly attrVersion: string;
/**
* The associated application health alarms for a plan.
*/
associatedAlarms?: cdk.IResolvable | Record<string, CfnPlan.AssociatedAlarmProperty | cdk.IResolvable>;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The description for a plan.
*/
description?: string;
/**
* The execution role for a plan.
*/
executionRole: string;
/**
* The name for a plan.
*/
name: string;
/**
* The primary Region for a plan.
*/
primaryRegion?: string;
/**
* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
*/
recoveryApproach: string;
/**
* The recovery time objective for a plan.
*/
recoveryTimeObjectiveMinutes?: number;
/**
* The AWS Regions for a plan.
*/
regions: Array<string>;
tags?: Record<string, string>;
/**
* The triggers for a plan.
*/
triggers?: Array<cdk.IResolvable | CfnPlan.TriggerProperty> | cdk.IResolvable;
/**
* The workflows for a plan.
*/
workflows: Array<cdk.IResolvable | CfnPlan.WorkflowProperty> | cdk.IResolvable;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnPlanProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnPlan {
/**
* An Amazon CloudWatch alarm associated with a Region switch plan.
*
* These alarms can be used to trigger automatic execution of the plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html
*/
interface AssociatedAlarmProperty {
/**
* The alarm type for an associated alarm.
*
* An associated CloudWatch alarm can be an application health alarm or a trigger alarm.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-alarmtype
*/
readonly alarmType: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-externalid
*/
readonly externalId?: string;
/**
* The resource identifier for alarms that you associate with a plan.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-associatedalarm.html#cfn-arcregionswitch-plan-associatedalarm-resourceidentifier
*/
readonly resourceIdentifier: string;
}
/**
* Defines a condition that can automatically trigger the execution of a Region switch plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html
*/
interface TriggerProperty {
/**
* The action to perform when the trigger fires.
*
* Valid values include ACTIVATE and DEACTIVATE.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-action
*/
readonly action: string;
/**
* The conditions that must be met for the trigger to fire.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-conditions
*/
readonly conditions: Array<cdk.IResolvable | CfnPlan.TriggerConditionProperty> | cdk.IResolvable;
/**
* The description for a trigger.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-description
*/
readonly description?: string;
/**
* The minimum time, in minutes, that must elapse between automatic executions of the plan.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-mindelayminutesbetweenexecutions
*/
readonly minDelayMinutesBetweenExecutions: number;
/**
* The AWS Region for a trigger.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-trigger.html#cfn-arcregionswitch-plan-trigger-targetregion
*/
readonly targetRegion: string;
}
/**
* Defines a condition that must be met for a trigger to fire.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html
*/
interface TriggerConditionProperty {
/**
* The name of the CloudWatch alarm associated with the condition.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html#cfn-arcregionswitch-plan-triggercondition-associatedalarmname
*/
readonly associatedAlarmName: string;
/**
* The condition that must be met.
*
* Valid values include ALARM and OK.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-triggercondition.html#cfn-arcregionswitch-plan-triggercondition-condition
*/
readonly condition: string;
}
/**
* Represents a workflow in a Region switch plan.
*
* A workflow defines a sequence of steps to execute during a Region switch.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html
*/
interface WorkflowProperty {
/**
* The steps that make up the workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-steps
*/
readonly steps?: Array<cdk.IResolvable | CfnPlan.StepProperty> | cdk.IResolvable;
/**
* The description of the workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowdescription
*/
readonly workflowDescription?: string;
/**
* The action that the workflow performs.
*
* Valid values include ACTIVATE and DEACTIVATE.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowtargetaction
*/
readonly workflowTargetAction: string;
/**
* The AWS Region that the workflow targets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-workflow.html#cfn-arcregionswitch-plan-workflow-workflowtargetregion
*/
readonly workflowTargetRegion?: string;
}
/**
* Represents a step in a Region switch plan workflow.
*
* Each step performs a specific action during the Region switch process.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html
*/
interface StepProperty {
/**
* The description of a step in a workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-description
*/
readonly description?: string;
/**
* The configuration for an execution block in a workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-executionblockconfiguration
*/
readonly executionBlockConfiguration: CfnPlan.ExecutionBlockConfigurationProperty | cdk.IResolvable;
/**
* The type of an execution block in a workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-executionblocktype
*/
readonly executionBlockType: string;
/**
* The name of a step in a workflow.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-step.html#cfn-arcregionswitch-plan-step-name
*/
readonly name: string;
}
/**
* Execution block configurations for a workflow in a Region switch plan.
*
* An execution block represents a specific type of action to perform during a Region switch.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html
*/
interface ExecutionBlockConfigurationProperty {
/**
* An ARC routing control execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-arcroutingcontrolconfig
*/
readonly arcRoutingControlConfig?: CfnPlan.ArcRoutingControlConfigurationProperty | cdk.IResolvable;
/**
* An AWS Lambda execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-customactionlambdaconfig
*/
readonly customActionLambdaConfig?: CfnPlan.CustomActionLambdaConfigurationProperty | cdk.IResolvable;
/**
* An EC2 Auto Scaling group execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ec2asgcapacityincreaseconfig
*/
readonly ec2AsgCapacityIncreaseConfig?: CfnPlan.Ec2AsgCapacityIncreaseConfigurationProperty | cdk.IResolvable;
/**
* The capacity increase specified for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-ecscapacityincreaseconfig
*/
readonly ecsCapacityIncreaseConfig?: CfnPlan.EcsCapacityIncreaseConfigurationProperty | cdk.IResolvable;
/**
* An AWS EKS resource scaling execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-eksresourcescalingconfig
*/
readonly eksResourceScalingConfig?: CfnPlan.EksResourceScalingConfigurationProperty | cdk.IResolvable;
/**
* A manual approval execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-executionapprovalconfig
*/
readonly executionApprovalConfig?: CfnPlan.ExecutionApprovalConfigurationProperty | cdk.IResolvable;
/**
* An Aurora Global Database execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-globalauroraconfig
*/
readonly globalAuroraConfig?: CfnPlan.GlobalAuroraConfigurationProperty | cdk.IResolvable;
/**
* A parallel configuration execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-parallelconfig
*/
readonly parallelConfig?: cdk.IResolvable | CfnPlan.ParallelExecutionBlockConfigurationProperty;
/**
* A Region switch plan execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-regionswitchplanconfig
*/
readonly regionSwitchPlanConfig?: cdk.IResolvable | CfnPlan.RegionSwitchPlanConfigurationProperty;
/**
* The Amazon Route 53 health check configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-route53healthcheckconfig
*/
readonly route53HealthCheckConfig?: cdk.IResolvable | CfnPlan.Route53HealthCheckConfigurationProperty;
}
/**
* Configuration for AWS Lambda functions that perform custom actions during a Region switch.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html
*/
interface CustomActionLambdaConfigurationProperty {
/**
* The AWS Lambda functions for the execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-lambdas
*/
readonly lambdas: Array<cdk.IResolvable | CfnPlan.LambdasProperty> | cdk.IResolvable;
/**
* The AWS Region for the function to run in.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-regiontorun
*/
readonly regionToRun: string;
/**
* The retry interval specified.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-retryintervalminutes
*/
readonly retryIntervalMinutes: number;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-ungraceful
*/
readonly ungraceful?: cdk.IResolvable | CfnPlan.LambdaUngracefulProperty;
}
/**
* Configuration for AWS Lambda functions used in a Region switch plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html
*/
interface LambdasProperty {
/**
* The Amazon Resource Name (ARN) of the Lambda function.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-arn
*/
readonly arn?: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdas.html#cfn-arcregionswitch-plan-lambdas-externalid
*/
readonly externalId?: string;
}
/**
* Configuration for handling failures when invoking Lambda functions.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdaungraceful.html
*/
interface LambdaUngracefulProperty {
/**
* The ungraceful behavior for a Lambda function, which must be set to `skip` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-lambdaungraceful.html#cfn-arcregionswitch-plan-lambdaungraceful-behavior
*/
readonly behavior?: string;
}
/**
* Configuration for increasing the capacity of Amazon EC2 Auto Scaling groups during a Region switch.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html
*/
interface Ec2AsgCapacityIncreaseConfigurationProperty {
/**
* The EC2 Auto Scaling groups for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-asgs
*/
readonly asgs: Array<CfnPlan.AsgProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The monitoring approach that you specify EC2 Auto Scaling groups for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-capacitymonitoringapproach
*/
readonly capacityMonitoringApproach?: string;
/**
* The target percentage that you specify for EC2 Auto Scaling groups.
*
* @default - 100
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-targetpercent
*/
readonly targetPercent?: number;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-ungraceful
*/
readonly ungraceful?: CfnPlan.Ec2UngracefulProperty | cdk.IResolvable;
}
/**
* Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html
*/
interface AsgProperty {
/**
* The Amazon Resource Name (ARN) of the EC2 Auto Scaling group.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-arn
*/
readonly arn?: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-asg.html#cfn-arcregionswitch-plan-asg-externalid
*/
readonly externalId?: string;
}
/**
* Configuration for handling failures when performing operations on EC2 resources.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html
*/
interface Ec2UngracefulProperty {
/**
* The minimum success percentage that you specify for EC2 Auto Scaling groups.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2ungraceful.html#cfn-arcregionswitch-plan-ec2ungraceful-minimumsuccesspercentage
*/
readonly minimumSuccessPercentage: number;
}
/**
* Configuration for approval steps in a Region switch plan execution.
*
* Approval steps require manual intervention before the execution can proceed.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html
*/
interface ExecutionApprovalConfigurationProperty {
/**
* The IAM approval role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html#cfn-arcregionswitch-plan-executionapprovalconfiguration-approvalrole
*/
readonly approvalRole: string;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html#cfn-arcregionswitch-plan-executionapprovalconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
}
/**
* Configuration for ARC routing controls used in a Region switch plan.
*
* Routing controls are simple on/off switches that you can use to shift traffic away from an impaired Region.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html
*/
interface ArcRoutingControlConfigurationProperty {
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-externalid
*/
readonly externalId?: string;
/**
* The Region and ARC routing controls for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-regionandroutingcontrols
*/
readonly regionAndRoutingControls: cdk.IResolvable | Record<string, Array<CfnPlan.ArcRoutingControlStateProperty | cdk.IResolvable> | cdk.IResolvable>;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
}
/**
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html
*/
interface ArcRoutingControlStateProperty {
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-routingcontrolarn
*/
readonly routingControlArn: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-state
*/
readonly state: string;
}
/**
* Configuration for Amazon Aurora global databases used in a Region switch plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html
*/
interface GlobalAuroraConfigurationProperty {
/**
* The behavior for a global database, that is, only allow switchover or also allow failover.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-behavior
*/
readonly behavior: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The database cluster Amazon Resource Names (ARNs) for a global database.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-databaseclusterarns
*/
readonly databaseClusterArns: Array<string>;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-externalid
*/
readonly externalId?: string;
/**
* The global cluster identifier for a global database.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-globalclusteridentifier
*/
readonly globalClusterIdentifier: string;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-ungraceful
*/
readonly ungraceful?: CfnPlan.GlobalAuroraUngracefulProperty | cdk.IResolvable;
}
/**
* Configuration for handling failures when performing operations on Aurora global databases.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraungraceful.html
*/
interface GlobalAuroraUngracefulProperty {
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraungraceful.html#cfn-arcregionswitch-plan-globalauroraungraceful-ungraceful
*/
readonly ungraceful?: string;
}
/**
* Configuration for steps that should be executed in parallel during a Region switch.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-parallelexecutionblockconfiguration.html
*/
interface ParallelExecutionBlockConfigurationProperty {
/**
* The steps for a parallel execution block.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-parallelexecutionblockconfiguration.html#cfn-arcregionswitch-plan-parallelexecutionblockconfiguration-steps
*/
readonly steps: Array<cdk.IResolvable | CfnPlan.StepProperty> | cdk.IResolvable;
}
/**
* Configuration for nested Region switch plans.
*
* This allows one Region switch plan to trigger another plan as part of its execution.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html
*/
interface RegionSwitchPlanConfigurationProperty {
/**
* The Amazon Resource Name (ARN) of the plan configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-arn
*/
readonly arn: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-regionswitchplanconfiguration.html#cfn-arcregionswitch-plan-regionswitchplanconfiguration-externalid
*/
readonly externalId?: string;
}
/**
* The configuration for an AWS ECS capacity increase.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html
*/
interface EcsCapacityIncreaseConfigurationProperty {
/**
* The monitoring approach specified for the configuration, for example, `Most_Recent` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-capacitymonitoringapproach
*/
readonly capacityMonitoringApproach?: string;
/**
* The services specified for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-services
*/
readonly services: Array<cdk.IResolvable | CfnPlan.ServiceProperty> | cdk.IResolvable;
/**
* The target percentage specified for the configuration.
*
* @default - 100
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-targetpercent
*/
readonly targetPercent?: number;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-ungraceful
*/
readonly ungraceful?: CfnPlan.EcsUngracefulProperty | cdk.IResolvable;
}
/**
* The service for a cross account role.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html
*/
interface ServiceProperty {
/**
* The cluster Amazon Resource Name (ARN) for a service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-clusterarn
*/
readonly clusterArn?: string;
/**
* The cross account role for a service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-externalid
*/
readonly externalId?: string;
/**
* The Amazon Resource Name (ARN) for a service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-service.html#cfn-arcregionswitch-plan-service-servicearn
*/
readonly serviceArn?: string;
}
/**
* The settings for ungraceful execution.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecsungraceful.html
*/
interface EcsUngracefulProperty {
/**
* The minimum success percentage specified for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecsungraceful.html#cfn-arcregionswitch-plan-ecsungraceful-minimumsuccesspercentage
*/
readonly minimumSuccessPercentage: number;
}
/**
* The AWS EKS resource scaling configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html
*/
interface EksResourceScalingConfigurationProperty {
/**
* The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-capacitymonitoringapproach
*/
readonly capacityMonitoringApproach?: string;
/**
* The clusters for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-eksclusters
*/
readonly eksClusters?: Array<CfnPlan.EksClusterProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The Kubernetes resource type for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-kubernetesresourcetype
*/
readonly kubernetesResourceType: cdk.IResolvable | CfnPlan.KubernetesResourceTypeProperty;
/**
* The scaling resources for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-scalingresources
*/
readonly scalingResources?: Array<cdk.IResolvable | Record<string, cdk.IResolvable | Record<string, cdk.IResolvable | CfnPlan.KubernetesScalingResourceProperty>>> | cdk.IResolvable;
/**
* The target percentage for the configuration.
*
* @default - 100
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-targetpercent
*/
readonly targetPercent?: number;
/**
* The timeout value specified for the configuration.
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
/**
* The settings for ungraceful execution.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-ungraceful
*/
readonly ungraceful?: CfnPlan.EksResourceScalingUngracefulProperty | cdk.IResolvable;
}
/**
* Defines the type of Kubernetes resource to scale in an Amazon EKS cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html
*/
interface KubernetesResourceTypeProperty {
/**
* The API version type for the Kubernetes resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-apiversion
*/
readonly apiVersion: string;
/**
* The kind for the Kubernetes resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesresourcetype.html#cfn-arcregionswitch-plan-kubernetesresourcetype-kind
*/
readonly kind: string;
}
/**
* Defines a Kubernetes resource to scale in an Amazon EKS cluster.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html
*/
interface KubernetesScalingResourceProperty {
/**
* The hpaname for the Kubernetes resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-hpaname
*/
readonly hpaName?: string;
/**
* The name for the Kubernetes resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-name
*/
readonly name: string;
/**
* The namespace for the Kubernetes resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-kubernetesscalingresource.html#cfn-arcregionswitch-plan-kubernetesscalingresource-namespace
*/
readonly namespace: string;
}
/**
* The AWS EKS cluster execution block configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html
*/
interface EksClusterProperty {
/**
* The Amazon Resource Name (ARN) of an AWS EKS cluster.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-clusterarn
*/
readonly clusterArn: string;
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ekscluster.html#cfn-arcregionswitch-plan-ekscluster-externalid
*/
readonly externalId?: string;
}
/**
* The ungraceful settings for AWS EKS resource scaling.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html
*/
interface EksResourceScalingUngracefulProperty {
/**
* The minimum success percentage for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingungraceful.html#cfn-arcregionswitch-plan-eksresourcescalingungraceful-minimumsuccesspercentage
*/
readonly minimumSuccessPercentage: number;
}
/**
* The Amazon Route 53 health check configuration.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html
*/
interface Route53HealthCheckConfigurationProperty {
/**
* The cross account role for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-crossaccountrole
*/
readonly crossAccountRole?: string;
/**
* The external ID (secret key) for the configuration.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-externalid
*/
readonly externalId?: string;
/**
* The Amazon Route 53 health check configuration hosted zone ID.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-hostedzoneid
*/
readonly hostedZoneId: string;
/**
* The Amazon Route 53 health check configuration record name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-recordname
*/
readonly recordName: string;
/**
* The Amazon Route 53 health check configuration record sets.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-recordsets
*/
readonly recordSets?: Array<cdk.IResolvable | CfnPlan.Route53ResourceRecordSetProperty> | cdk.IResolvable;
/**
* The Amazon Route 53 health check configuration time out (in minutes).
*
* @default - 60
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-timeoutminutes
*/
readonly timeoutMinutes?: number;
}
/**
* The Amazon Route 53 record set.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html
*/
interface Route53ResourceRecordSetProperty {
/**
* The Amazon Route 53 record set identifier.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properti