updateRoutingControlStates method
Set multiple routing control states. You can set the value for each state to be ON or OFF. When the state is ON, traffic flows to a cell. When it's OFF, traffic does not flow.
With Route 53 ARC, you can add safety rules for routing controls, which are safeguards for routing control state updates that help prevent unexpected outcomes, like fail open traffic routing. However, there are scenarios when you might want to bypass the routing control safeguards that are enforced with safety rules that you've configured. For example, you might want to fail over quickly for disaster recovery, and one or more safety rules might be unexpectedly preventing you from updating a routing control state to reroute traffic. In a "break glass" scenario like this, you can override one or more safety rules to change a routing control state and fail over your application.
The SafetyRulesToOverride property enables you override one
or more safety rules and update routing control states. For more
information, see
Override safety rules to reroute traffic in the Amazon Route 53
Application Recovery Controller Developer Guide.
You must specify Regional endpoints when you work with API cluster operations to get or update routing control states in Route 53 ARC.
To see a code example for getting a routing control state, including accessing Regional cluster endpoints in sequence, see API examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
May throw AccessDeniedException.
May throw ConflictException.
May throw EndpointTemporarilyUnavailableException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ServiceLimitExceededException.
May throw ThrottlingException.
May throw ValidationException.
Parameter updateRoutingControlStateEntries :
A set of routing control entries that you want to update.
Parameter safetyRulesToOverride :
The Amazon Resource Names (ARNs) for the safety rules that you want to
override when you're updating routing control states. You can override one
safety rule or multiple safety rules by including one or more ARNs,
separated by commas.
For more information, see Override safety rules to reroute traffic in the Amazon Route 53 Application Recovery Controller Developer Guide.
Implementation
Future<void> updateRoutingControlStates({
required List<UpdateRoutingControlStateEntry>
updateRoutingControlStateEntries,
List<String>? safetyRulesToOverride,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'ToggleCustomerAPI.UpdateRoutingControlStates'
};
await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'UpdateRoutingControlStateEntries': updateRoutingControlStateEntries,
if (safetyRulesToOverride != null)
'SafetyRulesToOverride': safetyRulesToOverride,
},
);
}