AWS Security ChangesHomeSearch

AWS r53recovery documentation change

Service: r53recovery · 2026-01-25 · Documentation low

File: r53recovery/latest/dg/example_route53-recovery-cluster_UpdateRoutingControlState_section.md

Summary

Added SAP ABAP code example for UpdateRoutingControlState API implementation

Security assessment

The change adds a programming example without addressing vulnerabilities or security features. The endpoint shuffling mentioned is a reliability best practice, not a security control.

Diff

diff --git a/r53recovery/latest/dg/example_route53-recovery-cluster_UpdateRoutingControlState_section.md b/r53recovery/latest/dg/example_route53-recovery-cluster_UpdateRoutingControlState_section.md
index f7b9b583b..9151a49fb 100644
--- a//r53recovery/latest/dg/example_route53-recovery-cluster_UpdateRoutingControlState_section.md
+++ b//r53recovery/latest/dg/example_route53-recovery-cluster_UpdateRoutingControlState_section.md
@@ -117,0 +118,88 @@ There's more on GitHub. Find the complete example and learn how to set up and ru
+SAP ABAP
+    
+
+**SDK for SAP ABAP**
+    
+
+###### Note
+
+There's more on GitHub. Find the complete example and learn how to set up and run in the [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/r5v#code-examples). 
+    
+    
+        CONSTANTS cv_pfl TYPE /aws1/rt_profile_id VALUE 'ZCODE_DEMO'.
+        DATA lo_exception TYPE REF TO /aws1/cx_rt_generic.
+        DATA lo_session TYPE REF TO /aws1/cl_rt_session_base.
+        DATA lo_client TYPE REF TO /aws1/if_r5v.
+        DATA lt_endpoints TYPE TABLE OF string.
+        DATA lv_endpoint TYPE string.
+        DATA lv_region TYPE /aws1/rt_region_id.
+    
+        " Parse the comma-separated cluster endpoints
+        " Expected format: "https://endpoint1.com|us-west-2,https://endpoint2.com|us-east-1"
+        SPLIT iv_cluster_endpoints AT ',' INTO TABLE lt_endpoints.
+    
+        " As a best practice, shuffle cluster endpoints to distribute load
+        " For more information, see https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html#route53-arc-best-practices.regional
+        " For simplicity, we'll try them in order (shuffling can be added if needed)
+    
+        " Try each endpoint in order
+        LOOP AT lt_endpoints INTO lv_endpoint.
+          TRY.
+              " Parse endpoint and region from the format "url|region"
+              DATA(lv_pos) = find( val = lv_endpoint sub = '|' ).
+              IF lv_pos > 0.
+                DATA(lv_url) = substring( val = lv_endpoint len = lv_pos ).
+                lv_region = substring( val = lv_endpoint off = lv_pos + 1 ).
+              ELSE.
+                " If no region specified, use default
+                lv_url = lv_endpoint.
+                lv_region = 'us-east-1'.
+              ENDIF.
+    
+              " Create session for this region
+              lo_session = /aws1/cl_rt_session_aws=>create( cv_pfl ).
+    
+              " Create client with the specific endpoint
+              lo_client = create_recovery_client(
+                iv_endpoint = lv_url
+                iv_region   = lv_region
+                io_session  = lo_session ).
+    
+              " Try to update the routing control state
+              oo_result = lo_client->updateroutingcontrolstate(
+                iv_routingcontrolarn     = iv_routing_control_arn
+                iv_routingcontrolstate   = iv_routing_control_state
+                it_safetyrulestooverride = it_safety_rules_override ).
+    
+              " If successful, return the result
+              RETURN.
+    
+            CATCH /aws1/cx_r5vendpttmpyunavailex INTO DATA(lo_endpoint_ex).
+              " This endpoint is temporarily unavailable, try the next one
+              lo_exception = lo_endpoint_ex.
+              CONTINUE.
+    
+            CATCH /aws1/cx_r5vaccessdeniedex
+                  /aws1/cx_r5vconflictexception
+                  /aws1/cx_r5vinternalserverex
+                  /aws1/cx_r5vresourcenotfoundex
+                  /aws1/cx_r5vthrottlingex
+                  /aws1/cx_r5vvalidationex
+                  /aws1/cx_rt_generic INTO lo_exception.
+              " For other errors, re-raise immediately
+              RAISE EXCEPTION lo_exception.
+          ENDTRY.
+        ENDLOOP.
+    
+        " If we get here, all endpoints failed - re-raise the last exception
+        IF lo_exception IS BOUND.
+          RAISE EXCEPTION lo_exception.
+        ENDIF.
+    
+    
+
+  * For API details, see [UpdateRoutingControlState](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html) in _AWS SDK for SAP ABAP API reference_. 
+
+
+
+