Skip to content

/AWS1/IF_AZS=>STARTZONALSHIFT()

About StartZonalShift

You start a zonal shift to temporarily move load balancer traffic away from an Availability Zone in an Amazon Web Services Region, to help your application recover immediately, for example, from a developer's bad code deployment or from an Amazon Web Services infrastructure failure in a single Availability Zone. You can start a zonal shift in ARC only for managed resources in your Amazon Web Services account in an Amazon Web Services Region. Resources are automatically registered with ARC by Amazon Web Services services.

Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift:

When you start a zonal shift, traffic for the resource is no longer routed to the Availability Zone. The zonal shift is created immediately in ARC. However, it can take a short time, typically up to a few minutes, for existing, in-progress connections in the Availability Zone to complete.

For more information, see Zonal shift in the Amazon Application Recovery Controller Developer Guide.

Method Signature

IMPORTING

Required arguments:

iv_resourceidentifier TYPE /AWS1/AZSRESOURCEIDENTIFIER /AWS1/AZSRESOURCEIDENTIFIER

The identifier for the resource that Amazon Web Services shifts traffic for. The identifier is the Amazon Resource Name (ARN) for the resource.

Amazon Application Recovery Controller currently supports enabling the following resources for zonal shift and zonal autoshift:

iv_awayfrom TYPE /AWS1/AZSAVAILABILITYZONE /AWS1/AZSAVAILABILITYZONE

The Availability Zone (for example, use1-az1) that traffic is moved away from for a resource when you start a zonal shift. Until the zonal shift expires or you cancel it, traffic for the resource is instead moved to other Availability Zones in the Amazon Web Services Region.

iv_expiresin TYPE /AWS1/AZSEXPIRESIN /AWS1/AZSEXPIRESIN

The length of time that you want a zonal shift to be active, which ARC converts to an expiry time (expiration time). Zonal shifts are temporary. You can set a zonal shift to be active initially for up to three days (72 hours).

If you want to still keep traffic away from an Availability Zone, you can update the zonal shift and set a new expiration. You can also cancel a zonal shift, before it expires, for example, if you're ready to restore traffic to the Availability Zone.

To set a length of time for a zonal shift to be active, specify a whole number, and then one of the following, with no space:

  • A lowercase letter m: To specify that the value is in minutes.

  • A lowercase letter h: To specify that the value is in hours.

For example: 20h means the zonal shift expires in 20 hours. 120m means the zonal shift expires in 120 minutes (2 hours).

iv_comment TYPE /AWS1/AZSZONALSHIFTCOMMENT /AWS1/AZSZONALSHIFTCOMMENT

A comment that you enter about the zonal shift. Only the latest comment is retained; no comment history is maintained. A new comment overwrites any existing comment string.

RETURNING

oo_output TYPE REF TO /aws1/cl_azszonalshift /AWS1/CL_AZSZONALSHIFT

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->/aws1/if_azs~startzonalshift(
  iv_awayfrom = |string|
  iv_comment = |string|
  iv_expiresin = |string|
  iv_resourceidentifier = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_zonalshiftid = lo_result->get_zonalshiftid( ).
  lv_resourceidentifier = lo_result->get_resourceidentifier( ).
  lv_availabilityzone = lo_result->get_awayfrom( ).
  lv_expirytime = lo_result->get_expirytime( ).
  lv_starttime = lo_result->get_starttime( ).
  lv_zonalshiftstatus = lo_result->get_status( ).
  lv_zonalshiftcomment = lo_result->get_comment( ).
ENDIF.