Get the state of an Application Recovery Controller routing control using an Amazon SDK
The following code examples show how to get the state of an Application Recovery Controller routing control.
- Java
-
- SDK for Java 2.x
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the Amazon Code Examples Repository
. public static GetRoutingControlStateResponse getRoutingControlState(List<ClusterEndpoint> clusterEndpoints, String routingControlArn) { // As a best practice, we recommend choosing a random cluster endpoint to get or set routing control states. // For more information, see https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional Collections.shuffle(clusterEndpoints); for (ClusterEndpoint clusterEndpoint : clusterEndpoints) { try { System.out.println(clusterEndpoint); Route53RecoveryClusterClient client = Route53RecoveryClusterClient.builder() .endpointOverride(URI.create(clusterEndpoint.endpoint())) .region(Region.of(clusterEndpoint.region())).build(); return client.getRoutingControlState( GetRoutingControlStateRequest.builder() .routingControlArn(routingControlArn).build()); } catch (Exception exception) { System.out.println(exception); } } return null; }
-
For API details, see GetRoutingControlState in Amazon SDK for Java 2.x API Reference.
-
- Python
-
- SDK for Python (Boto3)
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the Amazon Code Examples Repository
. import boto3 def create_recovery_client(cluster_endpoint): """ Creates a Boto3 Route 53 Application Recovery Controller client for the specified cluster endpoint URL and AWS Region. :param cluster_endpoint: The cluster endpoint URL and Region. :return: The Boto3 client. """ return boto3.client( 'route53-recovery-cluster', endpoint_url=cluster_endpoint['Endpoint'], region_name=cluster_endpoint['Region']) def get_routing_control_state(routing_control_arn, cluster_endpoints): """ Gets the state of a routing control. Cluster endpoints are tried in sequence until the first successful response is received. :param routing_control_arn: The ARN of the routing control to look up. :param cluster_endpoints: The list of cluster endpoints to query. :return: The routing control state response. """ # As a best practice, we recommend choosing a random cluster endpoint to get or set routing control states. # For more information, see https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional random.shuffle(cluster_endpoints) for cluster_endpoint in cluster_endpoints: try: recovery_client = create_recovery_client(cluster_endpoint) response = recovery_client.get_routing_control_state( RoutingControlArn=routing_control_arn) return response except Exception as error: print(error) raise error
-
For API details, see GetRoutingControlState in Amazon SDK for Python (Boto3) API Reference.
-
For a complete list of Amazon SDK developer guides and code examples, see Using Route 53 ARC with an Amazon SDK. This topic also includes information about getting started and details about previous SDK versions.