aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,027 lines • 70.2 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { IPlanRef, PlanReference } from "../../interfaces/generated/aws-arcregionswitch-interfaces.generated";
/**
* 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, IPlanRef, 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;
/**
* Checks whether the given object is a CfnPlan
*/
static isCfnPlan(x: any): x is CfnPlan;
static arnForPlan(resource: IPlanRef): string;
/**
* The associated application health alarms for a plan.
*/
private _associatedAlarms?;
/**
* Tag Manager which manages the tags for this resource
*/
readonly cdkTagManager: cdk.TagManager;
/**
* The description for a plan.
*/
private _description?;
/**
* The execution role for a plan.
*/
private _executionRole;
/**
* The name for a plan.
*/
private _name;
/**
* The primary Region for a plan.
*/
private _primaryRegion?;
/**
* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
*/
private _recoveryApproach;
/**
* The recovery time objective for a plan.
*/
private _recoveryTimeObjectiveMinutes?;
/**
* The AWS Regions for a plan.
*/
private _regions;
/**
* The report configuration for a plan.
*/
private _reportConfiguration?;
private _tags?;
/**
* The triggers for a plan.
*/
private _triggers?;
/**
* The workflows for a plan.
*/
private _workflows;
protected readonly cfnPropertyNames: Record<string, string>;
/**
* Create a new `AWS::ARCRegionSwitch::Plan`.
*
* @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);
get planRef(): PlanReference;
/**
* The associated application health alarms for a plan.
*/
get associatedAlarms(): cdk.IResolvable | Record<string, CfnPlan.AssociatedAlarmProperty | cdk.IResolvable> | undefined;
/**
* The associated application health alarms for a plan.
*/
set associatedAlarms(value: cdk.IResolvable | Record<string, CfnPlan.AssociatedAlarmProperty | cdk.IResolvable> | undefined);
/**
* The description for a plan.
*/
get description(): string | undefined;
/**
* The description for a plan.
*/
set description(value: string | undefined);
/**
* The execution role for a plan.
*/
get executionRole(): string;
/**
* The execution role for a plan.
*/
set executionRole(value: string);
/**
* The name for a plan.
*/
get name(): string;
/**
* The name for a plan.
*/
set name(value: string);
/**
* The primary Region for a plan.
*/
get primaryRegion(): string | undefined;
/**
* The primary Region for a plan.
*/
set primaryRegion(value: string | undefined);
/**
* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
*/
get recoveryApproach(): string;
/**
* The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
*/
set recoveryApproach(value: string);
/**
* The recovery time objective for a plan.
*/
get recoveryTimeObjectiveMinutes(): number | undefined;
/**
* The recovery time objective for a plan.
*/
set recoveryTimeObjectiveMinutes(value: number | undefined);
/**
* The AWS Regions for a plan.
*/
get regions(): Array<string>;
/**
* The AWS Regions for a plan.
*/
set regions(value: Array<string>);
/**
* The report configuration for a plan.
*/
get reportConfiguration(): cdk.IResolvable | CfnPlan.ReportConfigurationProperty | undefined;
/**
* The report configuration for a plan.
*/
set reportConfiguration(value: cdk.IResolvable | CfnPlan.ReportConfigurationProperty | undefined);
get tags(): Record<string, string> | undefined;
set tags(value: Record<string, string> | undefined);
/**
* The triggers for a plan.
*/
get triggers(): Array<cdk.IResolvable | CfnPlan.TriggerProperty> | cdk.IResolvable | undefined;
/**
* The triggers for a plan.
*/
set triggers(value: Array<cdk.IResolvable | CfnPlan.TriggerProperty> | cdk.IResolvable | undefined);
/**
* The workflows for a plan.
*/
get workflows(): Array<cdk.IResolvable | CfnPlan.WorkflowProperty> | cdk.IResolvable;
/**
* The workflows for a plan.
*/
set workflows(value: Array<cdk.IResolvable | CfnPlan.WorkflowProperty> | cdk.IResolvable);
/**
* The Amazon Resource Name (ARN) of the plan.
*
* @cloudformationAttribute Arn
*/
get attrArn(): string;
/**
* @cloudformationAttribute HealthChecksForPlan
*/
get attrHealthChecksForPlan(): cdk.IResolvable;
/**
* The owner of a plan.
*
* @cloudformationAttribute Owner
*/
get attrOwner(): string;
/**
* @cloudformationAttribute PlanHealthChecks
*/
get attrPlanHealthChecks(): Array<string>;
/**
* @cloudformationAttribute Route53HealthChecks
*/
get attrRoute53HealthChecks(): cdk.IResolvable;
/**
* The version for the plan.
*
* @cloudformationAttribute Version
*/
get attrVersion(): string;
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;
}
/**
* Configuration for automatic report generation for plan executions.
*
* When configured, Region switch automatically generates a report after each plan execution that includes execution events, plan configuration, and CloudWatch alarm states.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-reportconfiguration.html
*/
interface ReportConfigurationProperty {
/**
* The output configuration for the report.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-reportconfiguration.html#cfn-arcregionswitch-plan-reportconfiguration-reportoutput
*/
readonly reportOutput?: Array<cdk.IResolvable | CfnPlan.ReportOutputConfigurationProperty> | cdk.IResolvable;
}
/**
* Configuration for report output destinations used in a Region switch plan.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-reportoutputconfiguration.html
*/
interface ReportOutputConfigurationProperty {
/**
* Configuration for delivering reports to an Amazon S3 bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-reportoutputconfiguration.html#cfn-arcregionswitch-plan-reportoutputconfiguration-s3configuration
*/
readonly s3Configuration: cdk.IResolvable | CfnPlan.S3ReportOutputConfigurationProperty;
}
/**
* Configuration for delivering generated reports to an Amazon S3 bucket.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-s3reportoutputconfiguration.html
*/
interface S3ReportOutputConfigurationProperty {
/**
* The AWS account ID that owns the S3 bucket.
*
* Required to ensure the bucket is still owned by the same expected owner at generation time.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-s3reportoutputconfiguration.html#cfn-arcregionswitch-plan-s3reportoutputconfiguration-bucketowner
*/
readonly bucketOwner?: string;
/**
* The S3 bucket name and optional prefix where reports are stored.
*
* Format: bucket-name or bucket-name/prefix.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-s3reportoutputconfiguration.html#cfn-arcregionswitch-plan-s3reportoutputconfiguration-bucketpath
*/
readonly bucketPath?: 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;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-documentdbconfig
*/
readonly documentDbConfig?: CfnPlan.DocumentDbConfigurationProperty | 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;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-rdscreatecrossregionreadreplicaconfig
*/
readonly rdsCreateCrossRegionReadReplicaConfig?: cdk.IResolvable | CfnPlan.RdsCreateCrossRegionReplicaConfigurationProperty;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionblockconfiguration.html#cfn-arcregionswitch-plan-executionblockconfiguration-rdspromotereadreplicaconfig
*/
readonly rdsPromoteReadReplicaConfig?: cdk.IResolvable | CfnPlan.RdsPromoteReadReplicaConfigurationProperty;
/**
* 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.EksResourceScalingUngracef