Documentation
¶
Index ¶
- func CfnPlan_ArnForPlan(resource interfacesawsarcregionswitch.IPlanRef) *string
- func CfnPlan_CFN_RESOURCE_TYPE_NAME() *string
- func CfnPlan_IsCfnElement(x interface{}) *bool
- func CfnPlan_IsCfnPlan(x interface{}) *bool
- func CfnPlan_IsCfnResource(x interface{}) *bool
- func CfnPlan_IsConstruct(x interface{}) *bool
- func NewCfnPlan_Override(c CfnPlan, scope constructs.Construct, id *string, props *CfnPlanProps)
- type CfnPlan
- type CfnPlanProps
- type CfnPlan_ArcRoutingControlConfigurationProperty
- type CfnPlan_ArcRoutingControlStateProperty
- type CfnPlan_AsgProperty
- type CfnPlan_AssociatedAlarmProperty
- type CfnPlan_CustomActionLambdaConfigurationProperty
- type CfnPlan_Ec2AsgCapacityIncreaseConfigurationProperty
- type CfnPlan_Ec2UngracefulProperty
- type CfnPlan_EcsCapacityIncreaseConfigurationProperty
- type CfnPlan_EcsUngracefulProperty
- type CfnPlan_EksClusterProperty
- type CfnPlan_EksResourceScalingConfigurationProperty
- type CfnPlan_EksResourceScalingUngracefulProperty
- type CfnPlan_ExecutionApprovalConfigurationProperty
- type CfnPlan_ExecutionBlockConfigurationProperty
- type CfnPlan_GlobalAuroraConfigurationProperty
- type CfnPlan_GlobalAuroraUngracefulProperty
- type CfnPlan_HealthCheckStateProperty
- type CfnPlan_KubernetesResourceTypeProperty
- type CfnPlan_KubernetesScalingResourceProperty
- type CfnPlan_LambdaUngracefulProperty
- type CfnPlan_LambdasProperty
- type CfnPlan_ParallelExecutionBlockConfigurationProperty
- type CfnPlan_RegionSwitchPlanConfigurationProperty
- type CfnPlan_Route53HealthCheckConfigurationProperty
- type CfnPlan_Route53HealthChecksProperty
- type CfnPlan_Route53ResourceRecordSetProperty
- type CfnPlan_ServiceProperty
- type CfnPlan_StepProperty
- type CfnPlan_TriggerConditionProperty
- type CfnPlan_TriggerProperty
- type CfnPlan_WorkflowProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnPlan_ArnForPlan ¶ added in v2.227.0
func CfnPlan_ArnForPlan(resource interfacesawsarcregionswitch.IPlanRef) *string
func CfnPlan_CFN_RESOURCE_TYPE_NAME ¶
func CfnPlan_CFN_RESOURCE_TYPE_NAME() *string
func CfnPlan_IsCfnElement ¶
func CfnPlan_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnPlan_IsCfnPlan ¶ added in v2.231.0
func CfnPlan_IsCfnPlan(x interface{}) *bool
Checks whether the given object is a CfnPlan.
func CfnPlan_IsCfnResource ¶
func CfnPlan_IsCfnResource(x interface{}) *bool
Check whether the given object is a CfnResource.
func CfnPlan_IsConstruct ¶
func CfnPlan_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewCfnPlan_Override ¶
func NewCfnPlan_Override(c CfnPlan, scope constructs.Construct, id *string, props *CfnPlanProps)
Create a new `AWS::ARCRegionSwitch::Plan`.
Types ¶
type CfnPlan ¶
type CfnPlan interface {
awscdk.CfnResource
awscdk.IInspectable
interfacesawsarcregionswitch.IPlanRef
awscdk.ITaggableV2
// The associated application health alarms for a plan.
AssociatedAlarms() interface{}
SetAssociatedAlarms(val interface{})
// The Amazon Resource Name (ARN) of the plan.
AttrArn() *string
AttrHealthChecksForPlan() awscdk.IResolvable
// The owner of a plan.
AttrOwner() *string
AttrPlanHealthChecks() *[]*string
AttrRoute53HealthChecks() awscdk.IResolvable
// The version for the plan.
AttrVersion() *string
// Tag Manager which manages the tags for this resource.
CdkTagManager() awscdk.TagManager
// Options for this resource, such as condition, update policy etc.
CfnOptions() awscdk.ICfnResourceOptions
CfnProperties() *map[string]interface{}
// AWS resource type.
CfnResourceType() *string
// Returns: the stack trace of the point where this Resource was created from, sourced
// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
// node +internal+ entries filtered.
CreationStack() *[]*string
// The description for a plan.
Description() *string
SetDescription(val *string)
Env() *interfaces.ResourceEnvironment
// The execution role for a plan.
ExecutionRole() *string
SetExecutionRole(val *string)
// The logical ID for this CloudFormation stack element.
//
// The logical ID of the element
// is calculated from the path of the resource node in the construct tree.
//
// To override this value, use `overrideLogicalId(newLogicalId)`.
//
// Returns: the logical ID as a stringified token. This value will only get
// resolved during synthesis.
LogicalId() *string
// The name for a plan.
Name() *string
SetName(val *string)
// The tree node.
Node() constructs.Node
// A reference to a Plan resource.
PlanRef() *interfacesawsarcregionswitch.PlanReference
// The primary Region for a plan.
PrimaryRegion() *string
SetPrimaryRegion(val *string)
// The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
RecoveryApproach() *string
SetRecoveryApproach(val *string)
// The recovery time objective for a plan.
RecoveryTimeObjectiveMinutes() *float64
SetRecoveryTimeObjectiveMinutes(val *float64)
// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
//
// If, by any chance, the intrinsic reference of a resource is not a string, you could
// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
Ref() *string
// The AWS Regions for a plan.
Regions() *[]*string
SetRegions(val *[]*string)
// The stack in which this element is defined.
//
// CfnElements must be defined within a stack scope (directly or indirectly).
Stack() awscdk.Stack
Tags() *map[string]*string
SetTags(val *map[string]*string)
// The triggers for a plan.
Triggers() interface{}
SetTriggers(val interface{})
// Deprecated.
// Deprecated: use `updatedProperties`
//
// Return properties modified after initiation
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperites() *map[string]interface{}
// Return properties modified after initiation.
//
// Resources that expose mutable properties should override this function to
// collect and return the properties object for this resource.
UpdatedProperties() *map[string]interface{}
// The workflows for a plan.
Workflows() interface{}
SetWorkflows(val interface{})
// Syntactic sugar for `addOverride(path, undefined)`.
AddDeletionOverride(path *string)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
//
// This can be used for resources across stacks (or nested stack) boundaries
// and the dependency will automatically be transferred to the relevant scope.
AddDependency(target awscdk.CfnResource)
// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
// Deprecated: use addDependency.
AddDependsOn(target awscdk.CfnResource)
// Add a value to the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
AddMetadata(key *string, value interface{})
// Adds an override to the synthesized CloudFormation resource.
//
// To add a
// property override, either use `addPropertyOverride` or prefix `path` with
// "Properties." (i.e. `Properties.TopicName`).
//
// If the override is nested, separate each nested level using a dot (.) in the path parameter.
// If there is an array as part of the nesting, specify the index in the path.
//
// To include a literal `.` in the property name, prefix with a `\`. In most
// programming languages you will need to write this as `"\\."` because the
// `\` itself will need to be escaped.
//
// For example,
// “`typescript
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
// “`
// would add the overrides
// “`json
// "Properties": {
// "GlobalSecondaryIndexes": [
// {
// "Projection": {
// "NonKeyAttributes": [ "myattribute" ]
// ...
// }
// ...
// },
// {
// "ProjectionType": "INCLUDE"
// ...
// },
// ]
// ...
// }
// “`
//
// The `value` argument to `addOverride` will not be processed or translated
// in any way. Pass raw JSON values in here with the correct capitalization
// for CloudFormation. If you pass CDK classes or structs, they will be
// rendered with lowercased key names, and CloudFormation will reject the
// template.
AddOverride(path *string, value interface{})
// Adds an override that deletes the value of a property from the resource definition.
AddPropertyDeletionOverride(propertyPath *string)
// Adds an override to a resource property.
//
// Syntactic sugar for `addOverride("Properties.<...>", value)`.
AddPropertyOverride(propertyPath *string, value interface{})
// Sets the deletion policy of the resource based on the removal policy specified.
//
// The Removal Policy controls what happens to this resource when it stops
// being managed by CloudFormation, either because you've removed it from the
// CDK application or because you've made a change that requires the resource
// to be replaced.
//
// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
// cases, a snapshot can be taken of the resource prior to deletion
// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
// can be found in the following link:.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
//
ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
// Returns a token for an runtime attribute of this resource.
//
// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
// in case there is no generated attribute.
GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
// Retrieve a value value from the CloudFormation Resource Metadata.
// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
//
// Note that this is a different set of metadata from CDK node metadata; this
// metadata ends up in the stack template under the resource, whereas CDK
// node metadata ends up in the Cloud Assembly.
//
GetMetadata(key *string) interface{}
// Examines the CloudFormation resource and discloses attributes.
Inspect(inspector awscdk.TreeInspector)
// Retrieves an array of resources this resource depends on.
//
// This assembles dependencies on resources across stacks (including nested stacks)
// automatically.
ObtainDependencies() *[]interface{}
// Get a shallow copy of dependencies between this resource and other resources in the same stack.
ObtainResourceDependencies() *[]awscdk.CfnResource
// Overrides the auto-generated logical ID with a specific ID.
OverrideLogicalId(newLogicalId *string)
// Indicates that this resource no longer depends on another resource.
//
// This can be used for resources across stacks (including nested stacks)
// and the dependency will automatically be removed from the relevant scope.
RemoveDependency(target awscdk.CfnResource)
RenderProperties(props *map[string]interface{}) *map[string]interface{}
// Replaces one dependency with another.
ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
//
// Returns: `true` if the resource should be included or `false` is the resource
// should be omitted.
ShouldSynthesize() *bool
// Returns a string representation of this construct.
//
// Returns: a string representation of this resource.
ToString() *string
ValidateProperties(_properties interface{})
}
Represents a Region switch plan.
A plan defines the steps required to shift traffic from one AWS Region to another.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var stepProperty_ StepProperty
cfnPlan := awscdk.Aws_arcregionswitch.NewCfnPlan(this, jsii.String("MyCfnPlan"), &CfnPlanProps{
ExecutionRole: jsii.String("executionRole"),
Name: jsii.String("name"),
RecoveryApproach: jsii.String("recoveryApproach"),
Regions: []*string{
jsii.String("regions"),
},
Workflows: []interface{}{
&WorkflowProperty{
WorkflowTargetAction: jsii.String("workflowTargetAction"),
// the properties below are optional
Steps: []interface{}{
&StepProperty{
ExecutionBlockConfiguration: &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
stepProperty_,
},
},
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
},
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
},
},
WorkflowDescription: jsii.String("workflowDescription"),
WorkflowTargetRegion: jsii.String("workflowTargetRegion"),
},
},
// the properties below are optional
AssociatedAlarms: map[string]interface{}{
"associatedAlarmsKey": &AssociatedAlarmProperty{
"alarmType": jsii.String("alarmType"),
"resourceIdentifier": jsii.String("resourceIdentifier"),
// the properties below are optional
"crossAccountRole": jsii.String("crossAccountRole"),
"externalId": jsii.String("externalId"),
},
},
Description: jsii.String("description"),
PrimaryRegion: jsii.String("primaryRegion"),
RecoveryTimeObjectiveMinutes: jsii.Number(123),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Triggers: []interface{}{
&TriggerProperty{
Action: jsii.String("action"),
Conditions: []interface{}{
&TriggerConditionProperty{
AssociatedAlarmName: jsii.String("associatedAlarmName"),
Condition: jsii.String("condition"),
},
},
MinDelayMinutesBetweenExecutions: jsii.Number(123),
TargetRegion: jsii.String("targetRegion"),
// the properties below are optional
Description: jsii.String("description"),
},
},
})
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html
func NewCfnPlan ¶
func NewCfnPlan(scope constructs.Construct, id *string, props *CfnPlanProps) CfnPlan
Create a new `AWS::ARCRegionSwitch::Plan`.
type CfnPlanProps ¶
type CfnPlanProps struct {
// The execution role for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-executionrole
//
ExecutionRole *string `field:"required" json:"executionRole" yaml:"executionRole"`
// The name for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-recoveryapproach
//
RecoveryApproach *string `field:"required" json:"recoveryApproach" yaml:"recoveryApproach"`
// The AWS Regions for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-regions
//
Regions *[]*string `field:"required" json:"regions" yaml:"regions"`
// The workflows for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-workflows
//
Workflows interface{} `field:"required" json:"workflows" yaml:"workflows"`
// The associated application health alarms for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-associatedalarms
//
AssociatedAlarms interface{} `field:"optional" json:"associatedAlarms" yaml:"associatedAlarms"`
// The description for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The primary Region for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-primaryregion
//
PrimaryRegion *string `field:"optional" json:"primaryRegion" yaml:"primaryRegion"`
// The recovery time objective for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-recoverytimeobjectiveminutes
//
RecoveryTimeObjectiveMinutes *float64 `field:"optional" json:"recoveryTimeObjectiveMinutes" yaml:"recoveryTimeObjectiveMinutes"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-tags
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// The triggers for a plan.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html#cfn-arcregionswitch-plan-triggers
//
Triggers interface{} `field:"optional" json:"triggers" yaml:"triggers"`
}
Properties for defining a `CfnPlan`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var stepProperty_ StepProperty
cfnPlanProps := &CfnPlanProps{
ExecutionRole: jsii.String("executionRole"),
Name: jsii.String("name"),
RecoveryApproach: jsii.String("recoveryApproach"),
Regions: []*string{
jsii.String("regions"),
},
Workflows: []interface{}{
&WorkflowProperty{
WorkflowTargetAction: jsii.String("workflowTargetAction"),
// the properties below are optional
Steps: []interface{}{
&StepProperty{
ExecutionBlockConfiguration: &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
stepProperty_,
},
},
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
},
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
},
},
WorkflowDescription: jsii.String("workflowDescription"),
WorkflowTargetRegion: jsii.String("workflowTargetRegion"),
},
},
// the properties below are optional
AssociatedAlarms: map[string]interface{}{
"associatedAlarmsKey": &AssociatedAlarmProperty{
"alarmType": jsii.String("alarmType"),
"resourceIdentifier": jsii.String("resourceIdentifier"),
// the properties below are optional
"crossAccountRole": jsii.String("crossAccountRole"),
"externalId": jsii.String("externalId"),
},
},
Description: jsii.String("description"),
PrimaryRegion: jsii.String("primaryRegion"),
RecoveryTimeObjectiveMinutes: jsii.Number(123),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
Triggers: []interface{}{
&TriggerProperty{
Action: jsii.String("action"),
Conditions: []interface{}{
&TriggerConditionProperty{
AssociatedAlarmName: jsii.String("associatedAlarmName"),
Condition: jsii.String("condition"),
},
},
MinDelayMinutesBetweenExecutions: jsii.Number(123),
TargetRegion: jsii.String("targetRegion"),
// the properties below are optional
Description: jsii.String("description"),
},
},
}
See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-arcregionswitch-plan.html
type CfnPlan_ArcRoutingControlConfigurationProperty ¶
type CfnPlan_ArcRoutingControlConfigurationProperty struct {
// 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
//
RegionAndRoutingControls interface{} `field:"required" json:"regionAndRoutingControls" yaml:"regionAndRoutingControls"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolconfiguration.html#cfn-arcregionswitch-plan-arcroutingcontrolconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
}
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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
arcRoutingControlConfigurationProperty := &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
}
type CfnPlan_ArcRoutingControlStateProperty ¶
type CfnPlan_ArcRoutingControlStateProperty struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-routingcontrolarn
//
RoutingControlArn *string `field:"required" json:"routingControlArn" yaml:"routingControlArn"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-arcroutingcontrolstate.html#cfn-arcregionswitch-plan-arcroutingcontrolstate-state
//
State *string `field:"required" json:"state" yaml:"state"`
}
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
arcRoutingControlStateProperty := &ArcRoutingControlStateProperty{
RoutingControlArn: jsii.String("routingControlArn"),
State: jsii.String("state"),
}
type CfnPlan_AsgProperty ¶
type CfnPlan_AsgProperty struct {
// 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
//
Arn *string `field:"optional" json:"arn" yaml:"arn"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
}
Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
asgProperty := &AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
}
type CfnPlan_AssociatedAlarmProperty ¶
type CfnPlan_AssociatedAlarmProperty struct {
// 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
//
AlarmType *string `field:"required" json:"alarmType" yaml:"alarmType"`
// 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
//
ResourceIdentifier *string `field:"required" json:"resourceIdentifier" yaml:"resourceIdentifier"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
}
An Amazon CloudWatch alarm associated with a Region switch plan.
These alarms can be used to trigger automatic execution of the plan.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
associatedAlarmProperty := &AssociatedAlarmProperty{
AlarmType: jsii.String("alarmType"),
ResourceIdentifier: jsii.String("resourceIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
}
type CfnPlan_CustomActionLambdaConfigurationProperty ¶
type CfnPlan_CustomActionLambdaConfigurationProperty struct {
// 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
//
Lambdas interface{} `field:"required" json:"lambdas" yaml:"lambdas"`
// 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
//
RegionToRun *string `field:"required" json:"regionToRun" yaml:"regionToRun"`
// The retry interval specified.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-retryintervalminutes
//
RetryIntervalMinutes *float64 `field:"required" json:"retryIntervalMinutes" yaml:"retryIntervalMinutes"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-customactionlambdaconfiguration.html#cfn-arcregionswitch-plan-customactionlambdaconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
// 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
//
Ungraceful interface{} `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
Configuration for AWS Lambda functions that perform custom actions during a Region switch.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
customActionLambdaConfigurationProperty := &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
}
type CfnPlan_Ec2AsgCapacityIncreaseConfigurationProperty ¶
type CfnPlan_Ec2AsgCapacityIncreaseConfigurationProperty struct {
// 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
//
Asgs interface{} `field:"required" json:"asgs" yaml:"asgs"`
// 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
//
CapacityMonitoringApproach *string `field:"optional" json:"capacityMonitoringApproach" yaml:"capacityMonitoringApproach"`
// The target percentage that you specify for EC2 Auto Scaling groups.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-targetpercent
//
// Default: - 100.
//
TargetPercent *float64 `field:"optional" json:"targetPercent" yaml:"targetPercent"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ec2asgcapacityincreaseconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
// 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
//
Ungraceful interface{} `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
Configuration for increasing the capacity of Amazon EC2 Auto Scaling groups during a Region switch.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ec2AsgCapacityIncreaseConfigurationProperty := &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
}
type CfnPlan_Ec2UngracefulProperty ¶
type CfnPlan_Ec2UngracefulProperty struct {
// 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
//
MinimumSuccessPercentage *float64 `field:"required" json:"minimumSuccessPercentage" yaml:"minimumSuccessPercentage"`
}
Configuration for handling failures when performing operations on EC2 resources.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ec2UngracefulProperty := &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
}
type CfnPlan_EcsCapacityIncreaseConfigurationProperty ¶
type CfnPlan_EcsCapacityIncreaseConfigurationProperty struct {
// 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
//
Services interface{} `field:"required" json:"services" yaml:"services"`
// 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
//
CapacityMonitoringApproach *string `field:"optional" json:"capacityMonitoringApproach" yaml:"capacityMonitoringApproach"`
// The target percentage specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-targetpercent
//
// Default: - 100.
//
TargetPercent *float64 `field:"optional" json:"targetPercent" yaml:"targetPercent"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-ecscapacityincreaseconfiguration.html#cfn-arcregionswitch-plan-ecscapacityincreaseconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
// 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
//
Ungraceful interface{} `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
The configuration for an AWS ECS capacity increase.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ecsCapacityIncreaseConfigurationProperty := &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
}
type CfnPlan_EcsUngracefulProperty ¶
type CfnPlan_EcsUngracefulProperty struct {
// 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
//
MinimumSuccessPercentage *float64 `field:"required" json:"minimumSuccessPercentage" yaml:"minimumSuccessPercentage"`
}
The settings for ungraceful execution.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
ecsUngracefulProperty := &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
}
type CfnPlan_EksClusterProperty ¶
type CfnPlan_EksClusterProperty struct {
// 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
//
ClusterArn *string `field:"required" json:"clusterArn" yaml:"clusterArn"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
}
The AWS EKS cluster execution block configuration.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
eksClusterProperty := &EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
}
type CfnPlan_EksResourceScalingConfigurationProperty ¶
type CfnPlan_EksResourceScalingConfigurationProperty struct {
// 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
//
KubernetesResourceType interface{} `field:"required" json:"kubernetesResourceType" yaml:"kubernetesResourceType"`
// 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
//
CapacityMonitoringApproach *string `field:"optional" json:"capacityMonitoringApproach" yaml:"capacityMonitoringApproach"`
// 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
//
EksClusters interface{} `field:"optional" json:"eksClusters" yaml:"eksClusters"`
// 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
//
ScalingResources interface{} `field:"optional" json:"scalingResources" yaml:"scalingResources"`
// The target percentage for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-targetpercent
//
// Default: - 100.
//
TargetPercent *float64 `field:"optional" json:"targetPercent" yaml:"targetPercent"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-eksresourcescalingconfiguration.html#cfn-arcregionswitch-plan-eksresourcescalingconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
// 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
//
Ungraceful interface{} `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
The AWS EKS resource scaling configuration.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
eksResourceScalingConfigurationProperty := &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
}
type CfnPlan_EksResourceScalingUngracefulProperty ¶
type CfnPlan_EksResourceScalingUngracefulProperty struct {
// 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
//
MinimumSuccessPercentage *float64 `field:"required" json:"minimumSuccessPercentage" yaml:"minimumSuccessPercentage"`
}
The ungraceful settings for AWS EKS resource scaling.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
eksResourceScalingUngracefulProperty := &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
}
type CfnPlan_ExecutionApprovalConfigurationProperty ¶
type CfnPlan_ExecutionApprovalConfigurationProperty struct {
// 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
//
ApprovalRole *string `field:"required" json:"approvalRole" yaml:"approvalRole"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-executionapprovalconfiguration.html#cfn-arcregionswitch-plan-executionapprovalconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
}
Configuration for approval steps in a Region switch plan execution.
Approval steps require manual intervention before the execution can proceed.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
executionApprovalConfigurationProperty := &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
}
type CfnPlan_ExecutionBlockConfigurationProperty ¶
type CfnPlan_ExecutionBlockConfigurationProperty struct {
// 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
//
ArcRoutingControlConfig interface{} `field:"optional" json:"arcRoutingControlConfig" yaml:"arcRoutingControlConfig"`
// 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
//
CustomActionLambdaConfig interface{} `field:"optional" json:"customActionLambdaConfig" yaml:"customActionLambdaConfig"`
// 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
//
Ec2AsgCapacityIncreaseConfig interface{} `field:"optional" json:"ec2AsgCapacityIncreaseConfig" yaml:"ec2AsgCapacityIncreaseConfig"`
// 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
//
EcsCapacityIncreaseConfig interface{} `field:"optional" json:"ecsCapacityIncreaseConfig" yaml:"ecsCapacityIncreaseConfig"`
// 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
//
EksResourceScalingConfig interface{} `field:"optional" json:"eksResourceScalingConfig" yaml:"eksResourceScalingConfig"`
// 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
//
ExecutionApprovalConfig interface{} `field:"optional" json:"executionApprovalConfig" yaml:"executionApprovalConfig"`
// 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
//
GlobalAuroraConfig interface{} `field:"optional" json:"globalAuroraConfig" yaml:"globalAuroraConfig"`
// 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
//
ParallelConfig interface{} `field:"optional" json:"parallelConfig" yaml:"parallelConfig"`
// 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
//
RegionSwitchPlanConfig interface{} `field:"optional" json:"regionSwitchPlanConfig" yaml:"regionSwitchPlanConfig"`
// 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
//
Route53HealthCheckConfig interface{} `field:"optional" json:"route53HealthCheckConfig" yaml:"route53HealthCheckConfig"`
}
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.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var executionBlockConfigurationProperty_ ExecutionBlockConfigurationProperty
executionBlockConfigurationProperty := &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
&StepProperty{
ExecutionBlockConfiguration: executionBlockConfigurationProperty_,
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
},
},
},
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
}
type CfnPlan_GlobalAuroraConfigurationProperty ¶
type CfnPlan_GlobalAuroraConfigurationProperty struct {
// 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
//
Behavior *string `field:"required" json:"behavior" yaml:"behavior"`
// 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
//
DatabaseClusterArns *[]*string `field:"required" json:"databaseClusterArns" yaml:"databaseClusterArns"`
// 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
//
GlobalClusterIdentifier *string `field:"required" json:"globalClusterIdentifier" yaml:"globalClusterIdentifier"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
// The timeout value specified for the configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-globalauroraconfiguration.html#cfn-arcregionswitch-plan-globalauroraconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
// 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
//
Ungraceful interface{} `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
Configuration for Amazon Aurora global databases used in a Region switch plan.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
globalAuroraConfigurationProperty := &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
}
type CfnPlan_GlobalAuroraUngracefulProperty ¶
type CfnPlan_GlobalAuroraUngracefulProperty struct {
// 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
//
Ungraceful *string `field:"optional" json:"ungraceful" yaml:"ungraceful"`
}
Configuration for handling failures when performing operations on Aurora global databases.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
globalAuroraUngracefulProperty := &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
}
type CfnPlan_HealthCheckStateProperty ¶
type CfnPlan_HealthCheckStateProperty struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-healthcheckstate.html#cfn-arcregionswitch-plan-healthcheckstate-healthcheckid
//
HealthCheckId *string `field:"optional" json:"healthCheckId" yaml:"healthCheckId"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-healthcheckstate.html#cfn-arcregionswitch-plan-healthcheckstate-region
//
Region *string `field:"optional" json:"region" yaml:"region"`
}
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
healthCheckStateProperty := &HealthCheckStateProperty{
HealthCheckId: jsii.String("healthCheckId"),
Region: jsii.String("region"),
}
type CfnPlan_KubernetesResourceTypeProperty ¶
type CfnPlan_KubernetesResourceTypeProperty struct {
// 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
//
ApiVersion *string `field:"required" json:"apiVersion" yaml:"apiVersion"`
// 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
//
Kind *string `field:"required" json:"kind" yaml:"kind"`
}
Defines the type of Kubernetes resource to scale in an Amazon EKS cluster.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
kubernetesResourceTypeProperty := &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
}
type CfnPlan_KubernetesScalingResourceProperty ¶
type CfnPlan_KubernetesScalingResourceProperty struct {
// 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
//
Name *string `field:"required" json:"name" yaml:"name"`
// 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
//
Namespace *string `field:"required" json:"namespace" yaml:"namespace"`
// 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
//
HpaName *string `field:"optional" json:"hpaName" yaml:"hpaName"`
}
Defines a Kubernetes resource to scale in an Amazon EKS cluster.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
kubernetesScalingResourceProperty := &KubernetesScalingResourceProperty{
Name: jsii.String("name"),
Namespace: jsii.String("namespace"),
// the properties below are optional
HpaName: jsii.String("hpaName"),
}
type CfnPlan_LambdaUngracefulProperty ¶
type CfnPlan_LambdaUngracefulProperty struct {
// 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
//
Behavior *string `field:"optional" json:"behavior" yaml:"behavior"`
}
Configuration for handling failures when invoking Lambda functions.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
lambdaUngracefulProperty := &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
}
type CfnPlan_LambdasProperty ¶
type CfnPlan_LambdasProperty struct {
// 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
//
Arn *string `field:"optional" json:"arn" yaml:"arn"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
}
Configuration for AWS Lambda functions used in a Region switch plan.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
lambdasProperty := &LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
}
type CfnPlan_ParallelExecutionBlockConfigurationProperty ¶
type CfnPlan_ParallelExecutionBlockConfigurationProperty struct {
// 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
//
Steps interface{} `field:"required" json:"steps" yaml:"steps"`
}
Configuration for steps that should be executed in parallel during a Region switch.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var parallelExecutionBlockConfigurationProperty_ ParallelExecutionBlockConfigurationProperty
parallelExecutionBlockConfigurationProperty := &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
&StepProperty{
ExecutionBlockConfiguration: &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: parallelExecutionBlockConfigurationProperty_,
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
},
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
},
},
}
type CfnPlan_RegionSwitchPlanConfigurationProperty ¶
type CfnPlan_RegionSwitchPlanConfigurationProperty struct {
// 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
//
Arn *string `field:"required" json:"arn" yaml:"arn"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
}
Configuration for nested Region switch plans.
This allows one Region switch plan to trigger another plan as part of its execution.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
regionSwitchPlanConfigurationProperty := &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
}
type CfnPlan_Route53HealthCheckConfigurationProperty ¶
type CfnPlan_Route53HealthCheckConfigurationProperty struct {
// 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
//
HostedZoneId *string `field:"required" json:"hostedZoneId" yaml:"hostedZoneId"`
// 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
//
RecordName *string `field:"required" json:"recordName" yaml:"recordName"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
// 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
//
RecordSets interface{} `field:"optional" json:"recordSets" yaml:"recordSets"`
// The Amazon Route 53 health check configuration time out (in minutes).
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthcheckconfiguration.html#cfn-arcregionswitch-plan-route53healthcheckconfiguration-timeoutminutes
//
// Default: - 60.
//
TimeoutMinutes *float64 `field:"optional" json:"timeoutMinutes" yaml:"timeoutMinutes"`
}
The Amazon Route 53 health check configuration.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
route53HealthCheckConfigurationProperty := &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
}
type CfnPlan_Route53HealthChecksProperty ¶ added in v2.212.0
type CfnPlan_Route53HealthChecksProperty struct {
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthchecks.html#cfn-arcregionswitch-plan-route53healthchecks-healthcheckids
//
HealthCheckIds *[]*string `field:"optional" json:"healthCheckIds" yaml:"healthCheckIds"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthchecks.html#cfn-arcregionswitch-plan-route53healthchecks-hostedzoneids
//
HostedZoneIds *[]*string `field:"optional" json:"hostedZoneIds" yaml:"hostedZoneIds"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthchecks.html#cfn-arcregionswitch-plan-route53healthchecks-recordnames
//
RecordNames *[]*string `field:"optional" json:"recordNames" yaml:"recordNames"`
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53healthchecks.html#cfn-arcregionswitch-plan-route53healthchecks-regions
//
Regions *[]*string `field:"optional" json:"regions" yaml:"regions"`
}
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
route53HealthChecksProperty := &Route53HealthChecksProperty{
HealthCheckIds: []*string{
jsii.String("healthCheckIds"),
},
HostedZoneIds: []*string{
jsii.String("hostedZoneIds"),
},
RecordNames: []*string{
jsii.String("recordNames"),
},
Regions: []*string{
jsii.String("regions"),
},
}
type CfnPlan_Route53ResourceRecordSetProperty ¶
type CfnPlan_Route53ResourceRecordSetProperty struct {
// The Amazon Route 53 record set identifier.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html#cfn-arcregionswitch-plan-route53resourcerecordset-recordsetidentifier
//
RecordSetIdentifier *string `field:"optional" json:"recordSetIdentifier" yaml:"recordSetIdentifier"`
// The Amazon Route 53 record set Region.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-arcregionswitch-plan-route53resourcerecordset.html#cfn-arcregionswitch-plan-route53resourcerecordset-region
//
Region *string `field:"optional" json:"region" yaml:"region"`
}
The Amazon Route 53 record set.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
route53ResourceRecordSetProperty := &Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
}
type CfnPlan_ServiceProperty ¶
type CfnPlan_ServiceProperty struct {
// 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
//
ClusterArn *string `field:"optional" json:"clusterArn" yaml:"clusterArn"`
// 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
//
CrossAccountRole *string `field:"optional" json:"crossAccountRole" yaml:"crossAccountRole"`
// 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
//
ExternalId *string `field:"optional" json:"externalId" yaml:"externalId"`
// 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
//
ServiceArn *string `field:"optional" json:"serviceArn" yaml:"serviceArn"`
}
The service for a cross account role.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
serviceProperty := &ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
}
type CfnPlan_StepProperty ¶
type CfnPlan_StepProperty struct {
// 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
//
ExecutionBlockConfiguration interface{} `field:"required" json:"executionBlockConfiguration" yaml:"executionBlockConfiguration"`
// 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
//
ExecutionBlockType *string `field:"required" json:"executionBlockType" yaml:"executionBlockType"`
// 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
//
Name *string `field:"required" json:"name" yaml:"name"`
// 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
//
Description *string `field:"optional" json:"description" yaml:"description"`
}
Represents a step in a Region switch plan workflow.
Each step performs a specific action during the Region switch process.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var stepProperty_ StepProperty
stepProperty := &StepProperty{
ExecutionBlockConfiguration: &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
stepProperty_,
},
},
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
},
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
}
type CfnPlan_TriggerConditionProperty ¶
type CfnPlan_TriggerConditionProperty struct {
// 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
//
AssociatedAlarmName *string `field:"required" json:"associatedAlarmName" yaml:"associatedAlarmName"`
// 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
//
Condition *string `field:"required" json:"condition" yaml:"condition"`
}
Defines a condition that must be met for a trigger to fire.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
triggerConditionProperty := &TriggerConditionProperty{
AssociatedAlarmName: jsii.String("associatedAlarmName"),
Condition: jsii.String("condition"),
}
type CfnPlan_TriggerProperty ¶
type CfnPlan_TriggerProperty struct {
// 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
//
Action *string `field:"required" json:"action" yaml:"action"`
// 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
//
Conditions interface{} `field:"required" json:"conditions" yaml:"conditions"`
// 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
//
MinDelayMinutesBetweenExecutions *float64 `field:"required" json:"minDelayMinutesBetweenExecutions" yaml:"minDelayMinutesBetweenExecutions"`
// 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
//
TargetRegion *string `field:"required" json:"targetRegion" yaml:"targetRegion"`
// 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
//
Description *string `field:"optional" json:"description" yaml:"description"`
}
Defines a condition that can automatically trigger the execution of a Region switch plan.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
triggerProperty := &TriggerProperty{
Action: jsii.String("action"),
Conditions: []interface{}{
&TriggerConditionProperty{
AssociatedAlarmName: jsii.String("associatedAlarmName"),
Condition: jsii.String("condition"),
},
},
MinDelayMinutesBetweenExecutions: jsii.Number(123),
TargetRegion: jsii.String("targetRegion"),
// the properties below are optional
Description: jsii.String("description"),
}
type CfnPlan_WorkflowProperty ¶
type CfnPlan_WorkflowProperty struct {
// 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
//
WorkflowTargetAction *string `field:"required" json:"workflowTargetAction" yaml:"workflowTargetAction"`
// 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
//
Steps interface{} `field:"optional" json:"steps" yaml:"steps"`
// 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
//
WorkflowDescription *string `field:"optional" json:"workflowDescription" yaml:"workflowDescription"`
// 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
//
WorkflowTargetRegion *string `field:"optional" json:"workflowTargetRegion" yaml:"workflowTargetRegion"`
}
Represents a workflow in a Region switch plan.
A workflow defines a sequence of steps to execute during a Region switch.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
var stepProperty_ StepProperty
workflowProperty := &WorkflowProperty{
WorkflowTargetAction: jsii.String("workflowTargetAction"),
// the properties below are optional
Steps: []interface{}{
&StepProperty{
ExecutionBlockConfiguration: &ExecutionBlockConfigurationProperty{
ArcRoutingControlConfig: &ArcRoutingControlConfigurationProperty{
RegionAndRoutingControls: map[string]interface{}{
"regionAndRoutingControlsKey": []interface{}{
&ArcRoutingControlStateProperty{
"routingControlArn": jsii.String("routingControlArn"),
"state": jsii.String("state"),
},
},
},
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
},
CustomActionLambdaConfig: &CustomActionLambdaConfigurationProperty{
Lambdas: []interface{}{
&LambdasProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
RegionToRun: jsii.String("regionToRun"),
RetryIntervalMinutes: jsii.Number(123),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
Ungraceful: &LambdaUngracefulProperty{
Behavior: jsii.String("behavior"),
},
},
Ec2AsgCapacityIncreaseConfig: &Ec2AsgCapacityIncreaseConfigurationProperty{
Asgs: []interface{}{
&AsgProperty{
Arn: jsii.String("arn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &Ec2UngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EcsCapacityIncreaseConfig: &EcsCapacityIncreaseConfigurationProperty{
Services: []interface{}{
&ServiceProperty{
ClusterArn: jsii.String("clusterArn"),
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
ServiceArn: jsii.String("serviceArn"),
},
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EcsUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
EksResourceScalingConfig: &EksResourceScalingConfigurationProperty{
KubernetesResourceType: &KubernetesResourceTypeProperty{
ApiVersion: jsii.String("apiVersion"),
Kind: jsii.String("kind"),
},
// the properties below are optional
CapacityMonitoringApproach: jsii.String("capacityMonitoringApproach"),
EksClusters: []interface{}{
&EksClusterProperty{
ClusterArn: jsii.String("clusterArn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
},
ScalingResources: []interface{}{
map[string]interface{}{
"scalingResourcesKey": map[string]interface{}{
"scalingResourcesKey": &KubernetesScalingResourceProperty{
"name": jsii.String("name"),
"namespace": jsii.String("namespace"),
// the properties below are optional
"hpaName": jsii.String("hpaName"),
},
},
},
},
TargetPercent: jsii.Number(123),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &EksResourceScalingUngracefulProperty{
MinimumSuccessPercentage: jsii.Number(123),
},
},
ExecutionApprovalConfig: &ExecutionApprovalConfigurationProperty{
ApprovalRole: jsii.String("approvalRole"),
// the properties below are optional
TimeoutMinutes: jsii.Number(123),
},
GlobalAuroraConfig: &GlobalAuroraConfigurationProperty{
Behavior: jsii.String("behavior"),
DatabaseClusterArns: []*string{
jsii.String("databaseClusterArns"),
},
GlobalClusterIdentifier: jsii.String("globalClusterIdentifier"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
TimeoutMinutes: jsii.Number(123),
Ungraceful: &GlobalAuroraUngracefulProperty{
Ungraceful: jsii.String("ungraceful"),
},
},
ParallelConfig: &ParallelExecutionBlockConfigurationProperty{
Steps: []interface{}{
stepProperty_,
},
},
RegionSwitchPlanConfig: &RegionSwitchPlanConfigurationProperty{
Arn: jsii.String("arn"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
},
Route53HealthCheckConfig: &Route53HealthCheckConfigurationProperty{
HostedZoneId: jsii.String("hostedZoneId"),
RecordName: jsii.String("recordName"),
// the properties below are optional
CrossAccountRole: jsii.String("crossAccountRole"),
ExternalId: jsii.String("externalId"),
RecordSets: []interface{}{
&Route53ResourceRecordSetProperty{
RecordSetIdentifier: jsii.String("recordSetIdentifier"),
Region: jsii.String("region"),
},
},
TimeoutMinutes: jsii.Number(123),
},
},
ExecutionBlockType: jsii.String("executionBlockType"),
Name: jsii.String("name"),
// the properties below are optional
Description: jsii.String("description"),
},
},
WorkflowDescription: jsii.String("workflowDescription"),
WorkflowTargetRegion: jsii.String("workflowTargetRegion"),
}
Source Files
¶
- CfnPlan.go
- CfnPlanProps.go
- CfnPlan_ArcRoutingControlConfigurationProperty.go
- CfnPlan_ArcRoutingControlStateProperty.go
- CfnPlan_AsgProperty.go
- CfnPlan_AssociatedAlarmProperty.go
- CfnPlan_CustomActionLambdaConfigurationProperty.go
- CfnPlan_Ec2AsgCapacityIncreaseConfigurationProperty.go
- CfnPlan_Ec2UngracefulProperty.go
- CfnPlan_EcsCapacityIncreaseConfigurationProperty.go
- CfnPlan_EcsUngracefulProperty.go
- CfnPlan_EksClusterProperty.go
- CfnPlan_EksResourceScalingConfigurationProperty.go
- CfnPlan_EksResourceScalingUngracefulProperty.go
- CfnPlan_ExecutionApprovalConfigurationProperty.go
- CfnPlan_ExecutionBlockConfigurationProperty.go
- CfnPlan_GlobalAuroraConfigurationProperty.go
- CfnPlan_GlobalAuroraUngracefulProperty.go
- CfnPlan_HealthCheckStateProperty.go
- CfnPlan_KubernetesResourceTypeProperty.go
- CfnPlan_KubernetesScalingResourceProperty.go
- CfnPlan_LambdaUngracefulProperty.go
- CfnPlan_LambdasProperty.go
- CfnPlan_ParallelExecutionBlockConfigurationProperty.go
- CfnPlan_RegionSwitchPlanConfigurationProperty.go
- CfnPlan_Route53HealthCheckConfigurationProperty.go
- CfnPlan_Route53HealthChecksProperty.go
- CfnPlan_Route53ResourceRecordSetProperty.go
- CfnPlan_ServiceProperty.go
- CfnPlan_StepProperty.go
- CfnPlan_TriggerConditionProperty.go
- CfnPlan_TriggerProperty.go
- CfnPlan_WorkflowProperty.go
- CfnPlan__checks.go
- main.go