ARC - Region switch 2022-07-26
- Client: Aws\ARCRegionSwitch\ARCRegionSwitchClient
- Service ID: arc-region-switch
- Version: 2022-07-26
This page describes the parameters and results for the operations of the ARC - Region switch (2022-07-26), and shows how to use the Aws\ARCRegionSwitch\ARCRegionSwitchClient object to call the described operations. This documentation is specific to the 2022-07-26 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName')
, where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */)
.
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */)
.
- ApprovePlanExecutionStep ( array $params = [] )
- Approves a step in a plan execution that requires manual approval.
- CancelPlanExecution ( array $params = [] )
- Cancels an in-progress plan execution.
- CreatePlan ( array $params = [] )
- Creates a new Region switch plan.
- DeletePlan ( array $params = [] )
- Deletes a Region switch plan.
- GetPlan ( array $params = [] )
- Retrieves detailed information about a Region switch plan.
- GetPlanEvaluationStatus ( array $params = [] )
- Retrieves the evaluation status of a Region switch plan.
- GetPlanExecution ( array $params = [] )
- Retrieves detailed information about a specific plan execution.
- GetPlanInRegion ( array $params = [] )
- Retrieves information about a Region switch plan in a specific Amazon Web Services Region.
- ListPlanExecutionEvents ( array $params = [] )
- Lists the events that occurred during a plan execution.
- ListPlanExecutions ( array $params = [] )
- Lists the executions of a Region switch plan.
- ListPlans ( array $params = [] )
- Lists all Region switch plans in your Amazon Web Services account.
- ListPlansInRegion ( array $params = [] )
- Lists all Region switch plans in your Amazon Web Services account that are available in the current Amazon Web Services Region.
- ListRoute53HealthChecks ( array $params = [] )
- List the Amazon Route 53 health checks.
- ListTagsForResource ( array $params = [] )
- Lists the tags attached to a Region switch resource.
- StartPlanExecution ( array $params = [] )
- Starts the execution of a Region switch plan.
- TagResource ( array $params = [] )
- Adds or updates tags for a Region switch resource.
- UntagResource ( array $params = [] )
- Removes tags from a Region switch resource.
- UpdatePlan ( array $params = [] )
- Updates an existing Region switch plan.
- UpdatePlanExecution ( array $params = [] )
- Updates an in-progress plan execution.
- UpdatePlanExecutionStep ( array $params = [] )
- Updates a specific step in an in-progress plan execution.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
- GetPlanEvaluationStatus
- GetPlanExecution
- ListPlanExecutionEvents
- ListPlanExecutions
- ListPlans
- ListPlansInRegion
- ListRoute53HealthChecks
Waiters
Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:
Waiter name | API Operation | Delay | Max Attempts |
---|---|---|---|
PlanEvaluationStatusPassed | GetPlanEvaluationStatus | 30 | 5 |
PlanExecutionCompleted | GetPlanExecution | 30 | 5 |
Operations
ApprovePlanExecutionStep
$result = $client->approvePlanExecutionStep
([/* ... */]); $promise = $client->approvePlanExecutionStepAsync
([/* ... */]);
Approves a step in a plan execution that requires manual approval. When you create a plan, you can include approval steps that require manual intervention before the execution can proceed. This operation allows you to provide that approval.
You must specify the plan ARN, execution ID, step name, and approval status. You can also provide an optional comment explaining the approval decision.
Parameter Syntax
$result = $client->approvePlanExecutionStep([ 'approval' => 'approve|decline', // REQUIRED 'comment' => '<string>', 'executionId' => '<string>', // REQUIRED 'planArn' => '<string>', // REQUIRED 'stepName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- approval
-
- Required: Yes
- Type: string
The status of approval for a plan execution step.
- comment
-
- Type: string
A comment that you can enter about a plan execution.
- executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- stepName
-
- Required: Yes
- Type: string
The name of a step in a plan execution.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
CancelPlanExecution
$result = $client->cancelPlanExecution
([/* ... */]); $promise = $client->cancelPlanExecutionAsync
([/* ... */]);
Cancels an in-progress plan execution. This operation stops the execution of the plan and prevents any further steps from being processed.
You must specify the plan ARN and execution ID. You can also provide an optional comment explaining why the execution was canceled.
Parameter Syntax
$result = $client->cancelPlanExecution([ 'comment' => '<string>', 'executionId' => '<string>', // REQUIRED 'planArn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- comment
-
- Type: string
A comment that you can enter about canceling a plan execution step.
- executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
CreatePlan
$result = $client->createPlan
([/* ... */]); $promise = $client->createPlanAsync
([/* ... */]);
Creates a new Region switch plan. A plan defines the steps required to shift traffic from one Amazon Web Services Region to another.
You must specify a name for the plan, the primary Region, and at least one additional Region. You can also provide a description, execution role, recovery time objective, associated alarms, triggers, and workflows that define the steps to execute during a Region switch.
Parameter Syntax
$result = $client->createPlan([ 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', // REQUIRED ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', // REQUIRED 'name' => '<string>', // REQUIRED 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', // REQUIRED 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], // REQUIRED 'tags' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', // REQUIRED 'conditions' => [ // REQUIRED [ 'associatedAlarmName' => '<string>', // REQUIRED 'condition' => 'red|green', // REQUIRED ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, // REQUIRED 'targetRegion' => '<string>', // REQUIRED ], // ... ], 'workflows' => [ // REQUIRED [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ // REQUIRED 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ // REQUIRED '<String>' => [ [ 'routingControlArn' => '<string>', // REQUIRED 'state' => 'On|Off', // REQUIRED ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ // REQUIRED [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', // REQUIRED 'retryIntervalMinutes' => <float>, // REQUIRED 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ // REQUIRED [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ // REQUIRED [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ // REQUIRED 'apiVersion' => '<string>', // REQUIRED 'kind' => '<string>', // REQUIRED ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', // REQUIRED 'namespace' => '<string>', // REQUIRED ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', // REQUIRED 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', // REQUIRED 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], // REQUIRED 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', // REQUIRED 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // REQUIRED, RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', // REQUIRED 'recordName' => '<string>', // REQUIRED 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', // REQUIRED 'name' => '<string>', // REQUIRED ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', // REQUIRED 'workflowTargetRegion' => '<string>', ], // ... ], ]);
Parameter Details
Members
- associatedAlarms
-
- Type: Associative array of custom strings keys (String) to AssociatedAlarm structures
The alarms associated with a Region switch plan.
- description
-
- Type: string
The description of a Region switch plan.
- executionRole
-
- Required: Yes
- Type: string
An execution role is a way to categorize a Region switch plan.
- name
-
- Required: Yes
- Type: string
The name of a Region switch plan.
- primaryRegion
-
- Type: string
The primary Amazon Web Services Region for the application. This is the Region where the application normally runs before any Region switch occurs.
- recoveryApproach
-
- Required: Yes
- Type: string
The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
- recoveryTimeObjectiveMinutes
-
- Type: int
Optionally, you can specify an recovery time objective for a Region switch plan, in minutes.
- regions
-
- Required: Yes
- Type: Array of strings
An array that specifies the Amazon Web Services Regions for a Region switch plan. Specify two Regions.
- tags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags to apply to the Region switch plan.
- triggers
-
- Type: Array of Trigger structures
The triggers associated with a Region switch plan.
- workflows
-
- Required: Yes
- Type: Array of Workflow structures
An array of workflows included in a Region switch plan.
Result Syntax
[ 'plan' => [ 'arn' => '<string>', 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', 'conditions' => [ [ 'associatedAlarmName' => '<string>', 'condition' => 'red|green', ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, 'targetRegion' => '<string>', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', 'workflows' => [ [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ '<String>' => [ [ 'routingControlArn' => '<string>', 'state' => 'On|Off', ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', 'retryIntervalMinutes' => <float>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ 'apiVersion' => '<string>', 'kind' => '<string>', ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', 'namespace' => '<string>', ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'name' => '<string>', ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', 'workflowTargetRegion' => '<string>', ], // ... ], ], ]
Result Details
Members
- plan
-
- Type: Plan structure
The details of the created Region switch plan.
Errors
There are no errors described for this operation.
DeletePlan
$result = $client->deletePlan
([/* ... */]); $promise = $client->deletePlanAsync
([/* ... */]);
Deletes a Region switch plan. You must specify the ARN of the plan to delete.
You cannot delete a plan that has an active execution in progress.
Parameter Syntax
$result = $client->deletePlan([ 'arn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- IllegalStateException:
The operation failed because the current state of the resource doesn't allow the operation to proceed.
HTTP Status Code: 400
GetPlan
$result = $client->getPlan
([/* ... */]); $promise = $client->getPlanAsync
([/* ... */]);
Retrieves detailed information about a Region switch plan. You must specify the ARN of the plan.
Parameter Syntax
$result = $client->getPlan([ 'arn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
Result Syntax
[ 'plan' => [ 'arn' => '<string>', 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', 'conditions' => [ [ 'associatedAlarmName' => '<string>', 'condition' => 'red|green', ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, 'targetRegion' => '<string>', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', 'workflows' => [ [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ '<String>' => [ [ 'routingControlArn' => '<string>', 'state' => 'On|Off', ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', 'retryIntervalMinutes' => <float>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ 'apiVersion' => '<string>', 'kind' => '<string>', ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', 'namespace' => '<string>', ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'name' => '<string>', ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', 'workflowTargetRegion' => '<string>', ], // ... ], ], ]
Result Details
Members
- plan
-
- Type: Plan structure
The detailed information about the requested Region switch plan.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
GetPlanEvaluationStatus
$result = $client->getPlanEvaluationStatus
([/* ... */]); $promise = $client->getPlanEvaluationStatusAsync
([/* ... */]);
Retrieves the evaluation status of a Region switch plan. The evaluation status provides information about the last time the plan was evaluated and any warnings or issues detected.
Parameter Syntax
$result = $client->getPlanEvaluationStatus([ 'maxResults' => <integer>, 'nextToken' => '<string>', 'planArn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the Region switch plan to retrieve evaluation status for.
Result Syntax
[ 'evaluationState' => 'passed|actionRequired|pendingEvaluation|unknown', 'lastEvaluatedVersion' => '<string>', 'lastEvaluationTime' => <DateTime>, 'nextToken' => '<string>', 'planArn' => '<string>', 'region' => '<string>', 'warnings' => [ [ 'resourceArn' => '<string>', 'stepName' => '<string>', 'version' => '<string>', 'warningMessage' => '<string>', 'warningStatus' => 'active|resolved', 'warningUpdatedTime' => <DateTime>, 'workflow' => [ 'action' => 'activate|deactivate', 'name' => '<string>', ], ], // ... ], ]
Result Details
Members
- evaluationState
-
- Type: string
The evaluation state for the plan.
- lastEvaluatedVersion
-
- Type: string
The version of the last evaluation of the plan.
- lastEvaluationTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time of the last time that Region switch ran an evaluation of the plan.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- region
-
- Type: string
The Amazon Web Services Region for the plan.
- warnings
-
- Type: Array of ResourceWarning structures
The current evaluation warnings for the plan.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
GetPlanExecution
$result = $client->getPlanExecution
([/* ... */]); $promise = $client->getPlanExecutionAsync
([/* ... */]);
Retrieves detailed information about a specific plan execution. You must specify the plan ARN and execution ID.
Parameter Syntax
$result = $client->getPlanExecution([ 'executionId' => '<string>', // REQUIRED 'maxResults' => <integer>, 'nextToken' => '<string>', 'planArn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan with the execution to retrieve.
Result Syntax
[ 'actualRecoveryTime' => '<string>', 'comment' => '<string>', 'endTime' => <DateTime>, 'executionAction' => 'activate|deactivate', 'executionId' => '<string>', 'executionRegion' => '<string>', 'executionState' => 'inProgress|pausedByFailedStep|pausedByOperator|completed|completedWithExceptions|canceled|planExecutionTimedOut|pendingManualApproval|failed|pending|completedMonitoringApplicationHealth', 'mode' => 'graceful|ungraceful', 'nextToken' => '<string>', 'plan' => [ 'arn' => '<string>', 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', 'conditions' => [ [ 'associatedAlarmName' => '<string>', 'condition' => 'red|green', ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, 'targetRegion' => '<string>', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', 'workflows' => [ [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ '<String>' => [ [ 'routingControlArn' => '<string>', 'state' => 'On|Off', ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', 'retryIntervalMinutes' => <float>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ 'apiVersion' => '<string>', 'kind' => '<string>', ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', 'namespace' => '<string>', ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'name' => '<string>', ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', 'workflowTargetRegion' => '<string>', ], // ... ], ], 'planArn' => '<string>', 'startTime' => <DateTime>, 'stepStates' => [ [ 'endTime' => <DateTime>, 'name' => '<string>', 'startTime' => <DateTime>, 'status' => 'notStarted|running|failed|completed|canceled|skipped|pendingApproval', 'stepMode' => 'graceful|ungraceful', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', ]
Result Details
Members
- actualRecoveryTime
-
- Type: string
The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again.
- comment
-
- Type: string
A comment included on the plan execution.
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time (UTC) when the plan execution ended.
- executionAction
-
- Required: Yes
- Type: string
The plan execution action. Valid values are
Activate
, to activate an Amazon Web Services Region, orDeactivate
, to deactivate a Region. - executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- executionRegion
-
- Required: Yes
- Type: string
The Amazon Web Services Region for a plan execution.
- executionState
-
- Required: Yes
- Type: string
The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator.
- mode
-
- Required: Yes
- Type: string
The plan execution mode. Valid values are
Practice
, for testing without making actual changes, orRecovery
, for actual traffic shifting and application recovery. - nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - plan
-
- Type: Plan structure
The details of the Region switch plan.
- planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- startTime
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The time (UTC) when the plan execution started.
- stepStates
-
- Type: Array of StepState structures
The states of the steps in the plan execution.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan execution was last updated.
- version
-
- Type: string
The version for the plan.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
GetPlanInRegion
$result = $client->getPlanInRegion
([/* ... */]); $promise = $client->getPlanInRegionAsync
([/* ... */]);
Retrieves information about a Region switch plan in a specific Amazon Web Services Region. This operation is useful for getting Region-specific information about a plan.
Parameter Syntax
$result = $client->getPlanInRegion([ 'arn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan in Region.
Result Syntax
[ 'plan' => [ 'arn' => '<string>', 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', 'conditions' => [ [ 'associatedAlarmName' => '<string>', 'condition' => 'red|green', ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, 'targetRegion' => '<string>', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', 'workflows' => [ [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ '<String>' => [ [ 'routingControlArn' => '<string>', 'state' => 'On|Off', ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', 'retryIntervalMinutes' => <float>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ 'apiVersion' => '<string>', 'kind' => '<string>', ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', 'namespace' => '<string>', ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'name' => '<string>', ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', 'workflowTargetRegion' => '<string>', ], // ... ], ], ]
Result Details
Members
- plan
-
- Type: Plan structure
The details of the Region switch plan.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
ListPlanExecutionEvents
$result = $client->listPlanExecutionEvents
([/* ... */]); $promise = $client->listPlanExecutionEventsAsync
([/* ... */]);
Lists the events that occurred during a plan execution. These events provide a detailed timeline of the execution process.
Parameter Syntax
$result = $client->listPlanExecutionEvents([ 'executionId' => '<string>', // REQUIRED 'maxResults' => <integer>, 'name' => '<string>', 'nextToken' => '<string>', 'planArn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- name
-
- Type: string
The name of the plan execution event.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
Result Syntax
[ 'items' => [ [ 'description' => '<string>', 'error' => '<string>', 'eventId' => '<string>', 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'previousEventId' => '<string>', 'resources' => ['<string>', ...], 'stepName' => '<string>', 'timestamp' => <DateTime>, 'type' => 'unknown|executionPending|executionStarted|executionSucceeded|executionFailed|executionPausing|executionPaused|executionCanceling|executionCanceled|executionPendingApproval|executionBehaviorChangedToUngraceful|executionBehaviorChangedToGraceful|executionPendingChildPlanManualApproval|executionSuccessMonitoringApplicationHealth|stepStarted|stepUpdate|stepSucceeded|stepFailed|stepSkipped|stepPausedByError|stepPausedByOperator|stepCanceled|stepPendingApproval|stepExecutionBehaviorChangedToUngraceful|stepPendingApplicationHealthMonitor', ], // ... ], 'nextToken' => '<string>', ]
Result Details
Members
- items
-
- Type: Array of ExecutionEvent structures
The items in the plan execution event.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
ListPlanExecutions
$result = $client->listPlanExecutions
([/* ... */]); $promise = $client->listPlanExecutionsAsync
([/* ... */]);
Lists the executions of a Region switch plan. This operation returns information about both current and historical executions.
Parameter Syntax
$result = $client->listPlanExecutions([ 'maxResults' => <integer>, 'nextToken' => '<string>', 'planArn' => '<string>', // REQUIRED 'state' => 'inProgress|pausedByFailedStep|pausedByOperator|completed|completedWithExceptions|canceled|planExecutionTimedOut|pendingManualApproval|failed|pending|completedMonitoringApplicationHealth', ]);
Parameter Details
Members
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - planArn
-
- Required: Yes
- Type: string
The ARN for the plan.
- state
-
- Type: string
The state of the plan execution. For example, the plan execution might be In Progress.
Result Syntax
[ 'items' => [ [ 'actualRecoveryTime' => '<string>', 'comment' => '<string>', 'endTime' => <DateTime>, 'executionAction' => 'activate|deactivate', 'executionId' => '<string>', 'executionRegion' => '<string>', 'executionState' => 'inProgress|pausedByFailedStep|pausedByOperator|completed|completedWithExceptions|canceled|planExecutionTimedOut|pendingManualApproval|failed|pending|completedMonitoringApplicationHealth', 'mode' => 'graceful|ungraceful', 'planArn' => '<string>', 'startTime' => <DateTime>, 'updatedAt' => <DateTime>, 'version' => '<string>', ], // ... ], 'nextToken' => '<string>', ]
Result Details
Members
- items
-
- Type: Array of AbbreviatedExecution structures
The items in the plan execution to return.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
ListPlans
$result = $client->listPlans
([/* ... */]); $promise = $client->listPlansAsync
([/* ... */]);
Lists all Region switch plans in your Amazon Web Services account.
Parameter Syntax
$result = $client->listPlans([ 'maxResults' => <integer>, 'nextToken' => '<string>', ]);
Parameter Details
Members
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results.
Result Syntax
[ 'nextToken' => '<string>', 'plans' => [ [ 'activePlanExecution' => '<string>', 'arn' => '<string>', 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'updatedAt' => <DateTime>, 'version' => '<string>', ], // ... ], ]
Result Details
Members
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - plans
-
- Type: Array of AbbreviatedPlan structures
The plans that were requested.
Errors
There are no errors described for this operation.
ListPlansInRegion
$result = $client->listPlansInRegion
([/* ... */]); $promise = $client->listPlansInRegionAsync
([/* ... */]);
Lists all Region switch plans in your Amazon Web Services account that are available in the current Amazon Web Services Region.
Parameter Syntax
$result = $client->listPlansInRegion([ 'maxResults' => <integer>, 'nextToken' => '<string>', ]);
Parameter Details
Members
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results.
Result Syntax
[ 'nextToken' => '<string>', 'plans' => [ [ 'activePlanExecution' => '<string>', 'arn' => '<string>', 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'updatedAt' => <DateTime>, 'version' => '<string>', ], // ... ], ]
Result Details
Members
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - plans
-
- Type: Array of AbbreviatedPlan structures
The plans that were requested.
Errors
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
ListRoute53HealthChecks
$result = $client->listRoute53HealthChecks
([/* ... */]); $promise = $client->listRoute53HealthChecksAsync
([/* ... */]);
List the Amazon Route 53 health checks.
Parameter Syntax
$result = $client->listRoute53HealthChecks([ 'arn' => '<string>', // REQUIRED 'hostedZoneId' => '<string>', 'maxResults' => <integer>, 'nextToken' => '<string>', 'recordName' => '<string>', ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the Amazon Route 53 health check request.
- hostedZoneId
-
- Type: string
The hosted zone ID for the health checks.
- maxResults
-
- Type: int
The number of objects that you want to return with this call.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results. - recordName
-
- Type: string
The record name for the health checks.
Result Syntax
[ 'healthChecks' => [ [ 'healthCheckId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'region' => '<string>', ], // ... ], 'nextToken' => '<string>', ]
Result Details
Members
- healthChecks
-
- Type: Array of Route53HealthCheck structures
List of the health checks requested.
- nextToken
-
- Type: string
Specifies that you want to receive the next page of results. Valid only if you received a
nextToken
response in the previous request. If you did, it indicates that more output is available. Set this parameter to the value provided by the previous call'snextToken
response to request the next page of results.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServerException:
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
ListTagsForResource
$result = $client->listTagsForResource
([/* ... */]); $promise = $client->listTagsForResourceAsync
([/* ... */]);
Lists the tags attached to a Region switch resource.
Parameter Syntax
$result = $client->listTagsForResource([ 'arn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the resource.
Result Syntax
[ 'resourceTags' => ['<string>', ...], ]
Result Details
Members
- resourceTags
-
- Type: Associative array of custom strings keys (TagKey) to strings
The tags for a resource.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- InternalServerException:
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
StartPlanExecution
$result = $client->startPlanExecution
([/* ... */]); $promise = $client->startPlanExecutionAsync
([/* ... */]);
Starts the execution of a Region switch plan. You can execute a plan in either PRACTICE or RECOVERY mode.
In PRACTICE mode, the execution simulates the steps without making actual changes to your application's traffic routing. In RECOVERY mode, the execution performs actual changes to shift traffic between Regions.
Parameter Syntax
$result = $client->startPlanExecution([ 'action' => 'activate|deactivate', // REQUIRED 'comment' => '<string>', 'latestVersion' => '<string>', 'mode' => 'graceful|ungraceful', 'planArn' => '<string>', // REQUIRED 'targetRegion' => '<string>', // REQUIRED ]);
Parameter Details
Members
- action
-
- Required: Yes
- Type: string
The action to perform. Valid values are ACTIVATE (to shift traffic to the target Region) or DEACTIVATE (to shift traffic away from the target Region).
- comment
-
- Type: string
An optional comment explaining why the plan execution is being started.
- latestVersion
-
- Type: string
A boolean value indicating whether to use the latest version of the plan. If set to false, you must specify a specific version.
- mode
-
- Type: string
The plan execution mode. Valid values are
Practice
, for testing without making actual changes, orRecovery
, for actual traffic shifting and application recovery. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan to execute.
- targetRegion
-
- Required: Yes
- Type: string
The Amazon Web Services Region to target with this execution. This is the Region that traffic will be shifted to or from, depending on the action.
Result Syntax
[ 'activateRegion' => '<string>', 'deactivateRegion' => '<string>', 'executionId' => '<string>', 'plan' => '<string>', 'planVersion' => '<string>', ]
Result Details
Members
- activateRegion
-
- Type: string
The Amazon Web Services Region to activate.
- deactivateRegion
-
- Type: string
The Amazon Web Services Region to deactivate.
- executionId
-
- Type: string
The execution identifier of a plan execution.
- plan
-
- Type: string
The details of the Region switch plan.
- planVersion
-
- Type: string
The version of the plan, a unique number generated by Region switch.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- IllegalStateException:
The operation failed because the current state of the resource doesn't allow the operation to proceed.
HTTP Status Code: 400
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- IllegalArgumentException:
The request processing has an invalid argument.
TagResource
$result = $client->tagResource
([/* ... */]); $promise = $client->tagResourceAsync
([/* ... */]);
Adds or updates tags for a Region switch resource. You can assign metadata to your resources in the form of tags, which are key-value pairs.
Parameter Syntax
$result = $client->tagResource([ 'arn' => '<string>', // REQUIRED 'tags' => ['<string>', ...], // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) for a tag that you add to a resource.
- tags
-
- Required: Yes
- Type: Associative array of custom strings keys (TagKey) to strings
Tags that you add to a resource. You can add a maximum of 50 tags in Region switch.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- InternalServerException:
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
UntagResource
$result = $client->untagResource
([/* ... */]); $promise = $client->untagResourceAsync
([/* ... */]);
Removes tags from a Region switch resource.
Parameter Syntax
$result = $client->untagResource([ 'arn' => '<string>', // REQUIRED 'resourceTagKeys' => ['<string>', ...], // REQUIRED ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) for a tag you remove a resource from.
- resourceTagKeys
-
- Required: Yes
- Type: Array of strings
Tag keys that you remove from a resource.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- InternalServerException:
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
UpdatePlan
$result = $client->updatePlan
([/* ... */]); $promise = $client->updatePlanAsync
([/* ... */]);
Updates an existing Region switch plan. You can modify the plan's description, workflows, execution role, recovery time objective, associated alarms, and triggers.
Parameter Syntax
$result = $client->updatePlan([ 'arn' => '<string>', // REQUIRED 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', // REQUIRED ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', // REQUIRED 'recoveryTimeObjectiveMinutes' => <integer>, 'triggers' => [ [ 'action' => 'activate|deactivate', // REQUIRED 'conditions' => [ // REQUIRED [ 'associatedAlarmName' => '<string>', // REQUIRED 'condition' => 'red|green', // REQUIRED ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, // REQUIRED 'targetRegion' => '<string>', // REQUIRED ], // ... ], 'workflows' => [ // REQUIRED [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ // REQUIRED 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ // REQUIRED '<String>' => [ [ 'routingControlArn' => '<string>', // REQUIRED 'state' => 'On|Off', // REQUIRED ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ // REQUIRED [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', // REQUIRED 'retryIntervalMinutes' => <float>, // REQUIRED 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ // REQUIRED [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ // REQUIRED [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ // REQUIRED 'apiVersion' => '<string>', // REQUIRED 'kind' => '<string>', // REQUIRED ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', // REQUIRED 'namespace' => '<string>', // REQUIRED ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, // REQUIRED ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', // REQUIRED 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', // REQUIRED 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], // REQUIRED 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', // REQUIRED 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // REQUIRED, RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', // REQUIRED 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', // REQUIRED 'recordName' => '<string>', // REQUIRED 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', // REQUIRED 'name' => '<string>', // REQUIRED ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', // REQUIRED 'workflowTargetRegion' => '<string>', ], // ... ], ]);
Parameter Details
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- associatedAlarms
-
- Type: Associative array of custom strings keys (String) to AssociatedAlarm structures
The updated CloudWatch alarms associated with the plan.
- description
-
- Type: string
The updated description for the Region switch plan.
- executionRole
-
- Required: Yes
- Type: string
The updated IAM role ARN that grants Region switch the permissions needed to execute the plan steps.
- recoveryTimeObjectiveMinutes
-
- Type: int
The updated target recovery time objective (RTO) in minutes for the plan.
- triggers
-
- Type: Array of Trigger structures
The updated conditions that can automatically trigger the execution of the plan.
- workflows
-
- Required: Yes
- Type: Array of Workflow structures
The updated workflows for the Region switch plan.
Result Syntax
[ 'plan' => [ 'arn' => '<string>', 'associatedAlarms' => [ '<String>' => [ 'alarmType' => 'applicationHealth|trigger', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'resourceIdentifier' => '<string>', ], // ... ], 'description' => '<string>', 'executionRole' => '<string>', 'name' => '<string>', 'owner' => '<string>', 'primaryRegion' => '<string>', 'recoveryApproach' => 'activeActive|activePassive', 'recoveryTimeObjectiveMinutes' => <integer>, 'regions' => ['<string>', ...], 'triggers' => [ [ 'action' => 'activate|deactivate', 'conditions' => [ [ 'associatedAlarmName' => '<string>', 'condition' => 'red|green', ], // ... ], 'description' => '<string>', 'minDelayMinutesBetweenExecutions' => <integer>, 'targetRegion' => '<string>', ], // ... ], 'updatedAt' => <DateTime>, 'version' => '<string>', 'workflows' => [ [ 'steps' => [ [ 'description' => '<string>', 'executionBlockConfiguration' => [ 'arcRoutingControlConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'regionAndRoutingControls' => [ '<String>' => [ [ 'routingControlArn' => '<string>', 'state' => 'On|Off', ], // ... ], // ... ], 'timeoutMinutes' => <integer>, ], 'customActionLambdaConfig' => [ 'lambdas' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'regionToRun' => 'activatingRegion|deactivatingRegion', 'retryIntervalMinutes' => <float>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'behavior' => 'skip', ], ], 'ec2AsgCapacityIncreaseConfig' => [ 'asgs' => [ [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|autoscalingMaxInLast24Hours', 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'ecsCapacityIncreaseConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours|containerInsightsMaxInLast24Hours', 'services' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'serviceArn' => '<string>', ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'eksResourceScalingConfig' => [ 'capacityMonitoringApproach' => 'sampledMaxInLast24Hours', 'eksClusters' => [ [ 'clusterArn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], // ... ], 'kubernetesResourceType' => [ 'apiVersion' => '<string>', 'kind' => '<string>', ], 'scalingResources' => [ [ '<String>' => [ '<Region>' => [ 'hpaName' => '<string>', 'name' => '<string>', 'namespace' => '<string>', ], // ... ], // ... ], // ... ], 'targetPercent' => <integer>, 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'minimumSuccessPercentage' => <integer>, ], ], 'executionApprovalConfig' => [ 'approvalRole' => '<string>', 'timeoutMinutes' => <integer>, ], 'globalAuroraConfig' => [ 'behavior' => 'switchoverOnly|failover', 'crossAccountRole' => '<string>', 'databaseClusterArns' => ['<string>', ...], 'externalId' => '<string>', 'globalClusterIdentifier' => '<string>', 'timeoutMinutes' => <integer>, 'ungraceful' => [ 'ungraceful' => 'failover', ], ], 'parallelConfig' => [ 'steps' => [...], // RECURSIVE ], 'regionSwitchPlanConfig' => [ 'arn' => '<string>', 'crossAccountRole' => '<string>', 'externalId' => '<string>', ], 'route53HealthCheckConfig' => [ 'crossAccountRole' => '<string>', 'externalId' => '<string>', 'hostedZoneId' => '<string>', 'recordName' => '<string>', 'recordSets' => [ [ 'recordSetIdentifier' => '<string>', 'region' => '<string>', ], // ... ], 'timeoutMinutes' => <integer>, ], ], 'executionBlockType' => 'CustomActionLambda|ManualApproval|AuroraGlobalDatabase|EC2AutoScaling|ARCRoutingControl|ARCRegionSwitchPlan|Parallel|ECSServiceScaling|EKSResourceScaling|Route53HealthCheck', 'name' => '<string>', ], // ... ], 'workflowDescription' => '<string>', 'workflowTargetAction' => 'activate|deactivate', 'workflowTargetRegion' => '<string>', ], // ... ], ], ]
Result Details
Members
- plan
-
- Type: Plan structure
The details of the updated Region switch plan.
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
UpdatePlanExecution
$result = $client->updatePlanExecution
([/* ... */]); $promise = $client->updatePlanExecutionAsync
([/* ... */]);
Updates an in-progress plan execution. This operation allows you to modify certain aspects of the execution, such as adding a comment or changing the action.
Parameter Syntax
$result = $client->updatePlanExecution([ 'action' => 'switchToGraceful|switchToUngraceful|pause|resume', // REQUIRED 'comment' => '<string>', 'executionId' => '<string>', // REQUIRED 'planArn' => '<string>', // REQUIRED ]);
Parameter Details
Members
- action
-
- Required: Yes
- Type: string
The action specified for a plan execution, for example, Switch to Graceful or Pause.
- comment
-
- Type: string
An optional comment about the plan execution.
- executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan with the execution to update.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- IllegalStateException:
The operation failed because the current state of the resource doesn't allow the operation to proceed.
HTTP Status Code: 400
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
UpdatePlanExecutionStep
$result = $client->updatePlanExecutionStep
([/* ... */]); $promise = $client->updatePlanExecutionStepAsync
([/* ... */]);
Updates a specific step in an in-progress plan execution. This operation allows you to modify the step's comment or action.
Parameter Syntax
$result = $client->updatePlanExecutionStep([ 'actionToTake' => 'switchToUngraceful|skip', // REQUIRED 'comment' => '<string>', // REQUIRED 'executionId' => '<string>', // REQUIRED 'planArn' => '<string>', // REQUIRED 'stepName' => '<string>', // REQUIRED ]);
Parameter Details
Members
- actionToTake
-
- Required: Yes
- Type: string
The updated action to take for the step. This can be used to skip or retry a step.
- comment
-
- Required: Yes
- Type: string
An optional comment about the plan execution.
- executionId
-
- Required: Yes
- Type: string
The unique identifier of the plan execution containing the step to update.
- planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan containing the execution step to update.
- stepName
-
- Required: Yes
- Type: string
The name of the execution step to update.
Result Syntax
[]
Result Details
Errors
- ResourceNotFoundException:
The specified resource was not found.
HTTP Status Code: 404
- AccessDeniedException:
You do not have sufficient access to perform this action.
HTTP Status Code: 403
Shapes
AbbreviatedExecution
Description
A summarized representation of a plan execution. This structure contains key information about an execution without all the detailed step data.
Members
- actualRecoveryTime
-
- Type: string
The actual recovery time that Region switch calculates for a plan execution. Actual recovery time includes the time for the plan to run added to the time elapsed until the application health alarms that you've specified are healthy again.
- comment
-
- Type: string
An optional comment about the plan execution.
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan execution was ended.
- executionAction
-
- Required: Yes
- Type: string
The plan execution action. Valid values are
Activate
, to activate an Amazon Web Services Region, orDeactivate
, to deactivate a Region. - executionId
-
- Required: Yes
- Type: string
The execution identifier of a plan execution.
- executionRegion
-
- Required: Yes
- Type: string
The Amazon Web Services Region for a plan execution.
- executionState
-
- Required: Yes
- Type: string
The plan execution state. Provides the state of a plan execution, for example, In Progress or Paused by Operator.
- mode
-
- Required: Yes
- Type: string
The plan execution mode. Valid values are
Practice
, for testing without making actual changes, orRecovery
, for actual traffic shifting and application recovery. - planArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- startTime
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan execution was started.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan execution was last updated.
- version
-
- Type: string
The version for the plan.
AbbreviatedPlan
Description
A summarized representation of a Region switch plan. This structure contains key information about a plan without all the detailed workflow and step data.
Members
- activePlanExecution
-
- Type: string
Specifies if this is the active plan execution at this time.
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the Region switch plan.
- description
-
- Type: string
The description of a Region switch plan.
- executionRole
-
- Type: string
The execution role is a way to categorize a Region switch plan.
- name
-
- Required: Yes
- Type: string
The name of a Region switch plan.
- owner
-
- Required: Yes
- Type: string
The owner of a Region switch plan.
- primaryRegion
-
- Type: string
The primary Region for a plan.
- recoveryApproach
-
- Required: Yes
- Type: string
The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
- recoveryTimeObjectiveMinutes
-
- Type: int
The recovery time objective that you've specified.
- regions
-
- Required: Yes
- Type: Array of strings
The Amazon Web Services Region specified for a Region switch plan.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan execution was last updated.
- version
-
- Type: string
The version for the plan.
AccessDeniedException
Description
You do not have sufficient access to perform this action.
HTTP Status Code: 403
Members
- message
-
- Required: Yes
- Type: string
ArcRoutingControlConfiguration
Description
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.
Members
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
- regionAndRoutingControls
-
- Required: Yes
- Type: Associative array of custom strings keys (String) to ArcRoutingControlState structuress
The Region and ARC routing controls for the configuration.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
ArcRoutingControlState
Description
Represents the state of an ARC routing control.
Members
- routingControlArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of a routing control.
- state
-
- Required: Yes
- Type: string
The state of an ARC routing control, On or Off.
Asg
Description
Configuration for an Amazon EC2 Auto Scaling group used in a Region switch plan.
Members
- arn
-
- Type: string
The Amazon Resource Name (ARN) of the EC2 Auto Scaling group.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
AssociatedAlarm
Description
An Amazon CloudWatch alarm associated with a Region switch plan. These alarms can be used to trigger automatic execution of the plan.
Members
- alarmType
-
- Required: Yes
- Type: string
The alarm type for an associated alarm. An associated CloudWatch alarm can be an application health alarm or a trigger alarm.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
- resourceIdentifier
-
- Required: Yes
- Type: string
The resource identifier for alarms that you associate with a plan.
CustomActionLambdaConfiguration
Description
Configuration for Amazon Web Services Lambda functions that perform custom actions during a Region switch.
Members
- lambdas
-
- Required: Yes
- Type: Array of Lambdas structures
The Amazon Web Services Lambda functions for the execution block.
- regionToRun
-
- Required: Yes
- Type: string
The Amazon Web Services Region for the function to run in.
- retryIntervalMinutes
-
- Required: Yes
- Type: float
The retry interval specified.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
- ungraceful
-
- Type: LambdaUngraceful structure
The settings for ungraceful execution.
Ec2AsgCapacityIncreaseConfiguration
Description
Configuration for increasing the capacity of Amazon EC2 Auto Scaling groups during a Region switch.
Members
- asgs
-
- Required: Yes
- Type: Array of Asg structures
The EC2 Auto Scaling groups for the configuration.
- capacityMonitoringApproach
-
- Type: string
The monitoring approach that you specify EC2 Auto Scaling groups for the configuration.
- targetPercent
-
- Type: int
The target percentage that you specify for EC2 Auto Scaling groups.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
- ungraceful
-
- Type: Ec2Ungraceful structure
The settings for ungraceful execution.
Ec2Ungraceful
Description
Configuration for handling failures when performing operations on EC2 resources.
Members
- minimumSuccessPercentage
-
- Required: Yes
- Type: int
The minimum success percentage that you specify for EC2 Auto Scaling groups.
EcsCapacityIncreaseConfiguration
Description
The configuration for an Amazon Web Services ECS capacity increase.
Members
- capacityMonitoringApproach
-
- Type: string
The monitoring approach specified for the configuration, for example,
Most_Recent
. - services
-
- Required: Yes
- Type: Array of Service structures
The services specified for the configuration.
- targetPercent
-
- Type: int
The target percentage specified for the configuration.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
- ungraceful
-
- Type: EcsUngraceful structure
The settings for ungraceful execution.
EcsUngraceful
Description
The settings for ungraceful execution.
Members
- minimumSuccessPercentage
-
- Required: Yes
- Type: int
The minimum success percentage specified for the configuration.
EksCluster
Description
The Amazon Web Services EKS cluster execution block configuration.
Members
- clusterArn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of an Amazon Web Services EKS cluster.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
EksResourceScalingConfiguration
Description
The Amazon Web Services EKS resource scaling configuration.
Members
- capacityMonitoringApproach
-
- Type: string
The monitoring approach for the configuration, that is, whether it was sampled in the last 24 hours or autoscaled in the last 24 hours.
- eksClusters
-
- Type: Array of EksCluster structures
The clusters for the configuration.
- kubernetesResourceType
-
- Required: Yes
- Type: KubernetesResourceType structure
The Kubernetes resource type for the configuration.
- scalingResources
-
- Type: Array of maps
The scaling resources for the configuration.
- targetPercent
-
- Type: int
The target percentage for the configuration.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
- ungraceful
-
- Type: EksResourceScalingUngraceful structure
The settings for ungraceful execution.
EksResourceScalingUngraceful
Description
The ungraceful settings for Amazon Web Services EKS resource scaling.
Members
- minimumSuccessPercentage
-
- Required: Yes
- Type: int
The minimum success percentage for the configuration.
ExecutionApprovalConfiguration
Description
Configuration for approval steps in a Region switch plan execution. Approval steps require manual intervention before the execution can proceed.
Members
- approvalRole
-
- Required: Yes
- Type: string
The IAM approval role for the configuration.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
ExecutionBlockConfiguration
Description
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.
Members
- arcRoutingControlConfig
-
- Type: ArcRoutingControlConfiguration structure
An ARC routing control execution block.
- customActionLambdaConfig
-
- Type: CustomActionLambdaConfiguration structure
An Amazon Web Services Lambda execution block.
- ec2AsgCapacityIncreaseConfig
-
- Type: Ec2AsgCapacityIncreaseConfiguration structure
An EC2 Auto Scaling group execution block.
- ecsCapacityIncreaseConfig
-
- Type: EcsCapacityIncreaseConfiguration structure
The capacity increase specified for the configuration.
- eksResourceScalingConfig
-
- Type: EksResourceScalingConfiguration structure
An Amazon Web Services EKS resource scaling execution block.
- executionApprovalConfig
-
- Type: ExecutionApprovalConfiguration structure
A manual approval execution block.
- globalAuroraConfig
-
- Type: GlobalAuroraConfiguration structure
An Aurora Global Database execution block.
- parallelConfig
-
- Type: ParallelExecutionBlockConfiguration structure
A parallel configuration execution block.
- regionSwitchPlanConfig
-
- Type: RegionSwitchPlanConfiguration structure
A Region switch plan execution block.
- route53HealthCheckConfig
-
- Type: Route53HealthCheckConfiguration structure
The Amazon Route 53 health check configuration.
ExecutionEvent
Description
Represents an event that occurred during a plan execution. These events provide a detailed timeline of the execution process.
Members
- description
-
- Type: string
The description for an execution event.
- error
-
- Type: string
Errors for an execution event.
- eventId
-
- Required: Yes
- Type: string
The event ID for an execution event.
- executionBlockType
-
- Type: string
The execution block type for an execution event.
- previousEventId
-
- Type: string
The event ID of the previous execution event.
- resources
-
- Type: Array of strings
The resources for an execution event.
- stepName
-
- Type: string
The step name for an execution event.
- timestamp
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp for an execution event.
- type
-
- Type: string
The type of an execution event.
GlobalAuroraConfiguration
Description
Configuration for Amazon Aurora global databases used in a Region switch plan.
Members
- behavior
-
- Required: Yes
- Type: string
The behavior for a global database, that is, only allow switchover or also allow failover.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- databaseClusterArns
-
- Required: Yes
- Type: Array of strings
The database cluster Amazon Resource Names (ARNs) for a global database.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
- globalClusterIdentifier
-
- Required: Yes
- Type: string
The global cluster identifier for a global database.
- timeoutMinutes
-
- Type: int
The timeout value specified for the configuration.
- ungraceful
-
- Type: GlobalAuroraUngraceful structure
The settings for ungraceful execution.
GlobalAuroraUngraceful
Description
Configuration for handling failures when performing operations on Aurora global databases.
Members
- ungraceful
-
- Type: string
The settings for ungraceful execution.
IllegalArgumentException
Description
The request processing has an invalid argument.
Members
- message
-
- Required: Yes
- Type: string
IllegalStateException
Description
The operation failed because the current state of the resource doesn't allow the operation to proceed.
HTTP Status Code: 400
Members
- message
-
- Required: Yes
- Type: string
InternalServerException
Description
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
Members
- message
-
- Required: Yes
- Type: string
KubernetesResourceType
Description
Defines the type of Kubernetes resource to scale in an Amazon EKS cluster.
Members
- apiVersion
-
- Required: Yes
- Type: string
The API version type for the Kubernetes resource.
- kind
-
- Required: Yes
- Type: string
The kind for the Kubernetes resource.
KubernetesScalingResource
Description
Defines a Kubernetes resource to scale in an Amazon EKS cluster.
Members
- hpaName
-
- Type: string
The hpaname for the Kubernetes resource.
- name
-
- Required: Yes
- Type: string
The name for the Kubernetes resource.
- namespace
-
- Required: Yes
- Type: string
The namespace for the Kubernetes resource.
LambdaUngraceful
Description
Configuration for handling failures when invoking Lambda functions.
Members
- behavior
-
- Type: string
The ungraceful behavior for a Lambda function, which must be set to
skip
.
Lambdas
Description
Configuration for Amazon Web Services Lambda functions used in a Region switch plan.
Members
- arn
-
- Type: string
The Amazon Resource Name (ARN) of the Lambda function.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
MinimalWorkflow
Description
A simplified representation of a workflow in a Region switch plan.
Members
- action
-
- Type: string
The action for a minimal workflow, which can be Activate or Deactivate.
- name
-
- Type: string
The name for a minimal workflow
ParallelExecutionBlockConfiguration
Description
Configuration for steps that should be executed in parallel during a Region switch.
Members
- steps
-
- Required: Yes
- Type: Array of Step structures
The steps for a parallel execution block.
Plan
Description
Represents a Region switch plan. A plan defines the steps required to shift traffic from one Amazon Web Services Region to another.
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan.
- associatedAlarms
-
- Type: Associative array of custom strings keys (String) to AssociatedAlarm structures
The associated application health alarms for a plan.
- description
-
- Type: string
The description for a plan.
- executionRole
-
- Required: Yes
- Type: string
The execution role for a plan.
- name
-
- Required: Yes
- Type: string
The name for a plan.
- owner
-
- Required: Yes
- Type: string
The owner of a plan.
- primaryRegion
-
- Type: string
The primary Region for a plan.
- recoveryApproach
-
- Required: Yes
- Type: string
The recovery approach for a Region switch plan, which can be active/active (activeActive) or active/passive (activePassive).
- recoveryTimeObjectiveMinutes
-
- Type: int
The recovery time objective for a plan.
- regions
-
- Required: Yes
- Type: Array of strings
The Amazon Web Services Regions for a plan.
- triggers
-
- Type: Array of Trigger structures
The triggers for a plan.
- updatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the plan was last updated.
- version
-
- Type: string
The version for the plan.
- workflows
-
- Required: Yes
- Type: Array of Workflow structures
The workflows for a plan.
RegionSwitchPlanConfiguration
Description
Configuration for nested Region switch plans. This allows one Region switch plan to trigger another plan as part of its execution.
Members
- arn
-
- Required: Yes
- Type: string
The Amazon Resource Name (ARN) of the plan configuration.
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
ResourceNotFoundException
Description
The specified resource was not found.
HTTP Status Code: 404
Members
- message
-
- Required: Yes
- Type: string
ResourceWarning
Description
Represents a warning about a resource in a Region switch plan.
Members
- resourceArn
-
- Type: string
The Amazon Resource Name (ARN) of the resource.
- stepName
-
- Type: string
The name of the step for the resource warning.
- version
-
- Required: Yes
- Type: string
The version for the resource warning.
- warningMessage
-
- Required: Yes
- Type: string
The warning message about what needs to be corrected.
- warningStatus
-
- Required: Yes
- Type: string
The status of the resource warning.
- warningUpdatedTime
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when the warning was last updated.
- workflow
-
- Type: MinimalWorkflow structure
The workflow for the resource warning.
Route53HealthCheck
Description
The Amazon Route 53 health check.
Members
- healthCheckId
-
- Type: string
The Amazon Route 53 health check ID.
- hostedZoneId
-
- Required: Yes
- Type: string
The Amazon Route 53 health check hosted zone ID.
- recordName
-
- Required: Yes
- Type: string
The Amazon Route 53 record name.
- region
-
- Required: Yes
- Type: string
The Amazon Route 53 Region.
Route53HealthCheckConfiguration
Description
The Amazon Route 53 health check configuration.
Members
- crossAccountRole
-
- Type: string
The cross account role for the configuration.
- externalId
-
- Type: string
The external ID (secret key) for the configuration.
- hostedZoneId
-
- Required: Yes
- Type: string
The Amazon Route 53 health check configuration hosted zone ID.
- recordName
-
- Required: Yes
- Type: string
The Amazon Route 53 health check configuration record name.
- recordSets
-
- Type: Array of Route53ResourceRecordSet structures
The Amazon Route 53 health check configuration record sets.
- timeoutMinutes
-
- Type: int
The Amazon Route 53 health check configuration time out (in minutes).
Route53ResourceRecordSet
Description
The Amazon Route 53 record set.
Members
- recordSetIdentifier
-
- Type: string
The Amazon Route 53 record set identifier.
- region
-
- Type: string
The Amazon Route 53 record set Region.
Service
Description
The service for a cross account role.
Members
- clusterArn
-
- Type: string
The cluster Amazon Resource Name (ARN) for a service.
- crossAccountRole
-
- Type: string
The cross account role for a service.
- externalId
-
- Type: string
The external ID (secret key) for the service.
- serviceArn
-
- Type: string
The Amazon Resource Name (ARN) for a service.
Step
Description
Represents a step in a Region switch plan workflow. Each step performs a specific action during the Region switch process.
Members
- description
-
- Type: string
The description of a step in a workflow.
- executionBlockConfiguration
-
- Required: Yes
- Type: ExecutionBlockConfiguration structure
The configuration for an execution block in a workflow.
- executionBlockType
-
- Required: Yes
- Type: string
The type of an execution block in a workflow.
- name
-
- Required: Yes
- Type: string
The name of a step in a workflow.
StepState
Description
Represents the state of a step in a plan execution.
Members
- endTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when a step endeded execution.
- name
-
- Type: string
The name of a step in a workflow.
- startTime
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The timestamp when a step started execution.
- status
-
- Type: string
The status of a step in a workflow. For example, a status might be Completed or Pending Approval.
- stepMode
-
- Type: string
The mode for a step execution. The mode can be Graceful or Ungraceful.
Trigger
Description
Defines a condition that can automatically trigger the execution of a Region switch plan.
Members
- action
-
- Required: Yes
- Type: string
The action to perform when the trigger fires. Valid values include ACTIVATE and DEACTIVATE.
- conditions
-
- Required: Yes
- Type: Array of TriggerCondition structures
The conditions that must be met for the trigger to fire.
- description
-
- Type: string
The description for a trigger.
- minDelayMinutesBetweenExecutions
-
- Required: Yes
- Type: int
The minimum time, in minutes, that must elapse between automatic executions of the plan.
- targetRegion
-
- Required: Yes
- Type: string
The Amazon Web Services Region for a trigger.
TriggerCondition
Description
Defines a condition that must be met for a trigger to fire.
Members
- associatedAlarmName
-
- Required: Yes
- Type: string
The name of the CloudWatch alarm associated with the condition.
- condition
-
- Required: Yes
- Type: string
The condition that must be met. Valid values include ALARM and OK.
Workflow
Description
Represents a workflow in a Region switch plan. A workflow defines a sequence of steps to execute during a Region switch.
Members
- steps
-
- Type: Array of Step structures
The steps that make up the workflow.
- workflowDescription
-
- Type: string
The description of the workflow.
- workflowTargetAction
-
- Required: Yes
- Type: string
The action that the workflow performs. Valid values include ACTIVATE and DEACTIVATE.
- workflowTargetRegion
-
- Type: string
The Amazon Web Services Region that the workflow targets.