UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

997 lines 54.5 kB
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