Skip to content

/AWS1/IF_REV=>UPDATEPOLICY()

About UpdatePolicy

Updates an existing resilience policy.

Method Signature

METHODS /AWS1/IF_REV~UPDATEPOLICY
  IMPORTING
    !IV_POLICYARN TYPE /AWS1/REVARN OPTIONAL
    !IV_DESCRIPTION TYPE /AWS1/REVLONGDESCRIPTION OPTIONAL
    !IO_AVAILABILITYSLO TYPE REF TO /AWS1/CL_REVAVAILABILITYSLO OPTIONAL
    !IO_MULTIAZ TYPE REF TO /AWS1/CL_REVMULTIAZTARGETS OPTIONAL
    !IO_MULTIREGION TYPE REF TO /AWS1/CL_REVMULTIREGIONTARGETS OPTIONAL
    !IO_DATARECOVERY TYPE REF TO /AWS1/CL_REVDATARECTARGETS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_revupdatepolicyrsp
  RAISING
    /AWS1/CX_REVACCESSDENIEDEX
    /AWS1/CX_REVCONFLICTEXCEPTION
    /AWS1/CX_REVINTERNALSERVEREX
    /AWS1/CX_REVRESOURCENOTFOUNDEX
    /AWS1/CX_REVVLDTNEXCEPTION
    /AWS1/CX_REVCLIENTEXC
    /AWS1/CX_REVSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_policyarn TYPE /AWS1/REVARN /AWS1/REVARN

ARN identifier.

Optional arguments:

iv_description TYPE /AWS1/REVLONGDESCRIPTION /AWS1/REVLONGDESCRIPTION

Resource description for services and policies.

io_availabilityslo TYPE REF TO /AWS1/CL_REVAVAILABILITYSLO /AWS1/CL_REVAVAILABILITYSLO

The updated availability SLO for the policy.

io_multiaz TYPE REF TO /AWS1/CL_REVMULTIAZTARGETS /AWS1/CL_REVMULTIAZTARGETS

The updated multi-AZ disaster recovery targets for the policy.

io_multiregion TYPE REF TO /AWS1/CL_REVMULTIREGIONTARGETS /AWS1/CL_REVMULTIREGIONTARGETS

The updated multi-Region disaster recovery targets for the policy.

io_datarecovery TYPE REF TO /AWS1/CL_REVDATARECTARGETS /AWS1/CL_REVDATARECTARGETS

The updated data recovery targets for the policy.

RETURNING

oo_output TYPE REF TO /aws1/cl_revupdatepolicyrsp /AWS1/CL_REVUPDATEPOLICYRSP

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->updatepolicy(
  io_availabilityslo = new /aws1/cl_revavailabilityslo( '0.1' )
  io_datarecovery = new /aws1/cl_revdatarectargets( 123 )
  io_multiaz = new /aws1/cl_revmultiaztargets(
    iv_disasterrecoveryapproach = |string|
    iv_rpoinminutes = 123
    iv_rtoinminutes = 123
  )
  io_multiregion = new /aws1/cl_revmultiregiontargets(
    iv_disasterrecoveryapproach = |string|
    iv_rpoinminutes = 123
    iv_rtoinminutes = 123
  )
  iv_description = |string|
  iv_policyarn = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_policy = lo_result->get_policy( ).
  IF lo_policy IS NOT INITIAL.
    lv_arn = lo_policy->get_policyarn( ).
    lv_entityname = lo_policy->get_name( ).
    lv_longdescription = lo_policy->get_description( ).
    lo_availabilityslo = lo_policy->get_availabilityslo( ).
    IF lo_availabilityslo IS NOT INITIAL.
      lv_double = lo_availabilityslo->get_target( ).
    ENDIF.
    lo_multiaztargets = lo_policy->get_multiaz( ).
    IF lo_multiaztargets IS NOT INITIAL.
      lv_integer = lo_multiaztargets->get_rtoinminutes( ).
      lv_integer = lo_multiaztargets->get_rpoinminutes( ).
      lv_multiazdisasterrecovery = lo_multiaztargets->get_disasterrecoveryapproach( ).
    ENDIF.
    lo_multiregiontargets = lo_policy->get_multiregion( ).
    IF lo_multiregiontargets IS NOT INITIAL.
      lv_integer = lo_multiregiontargets->get_rtoinminutes( ).
      lv_integer = lo_multiregiontargets->get_rpoinminutes( ).
      lv_multiregiondisasterreco = lo_multiregiontargets->get_disasterrecoveryapproach( ).
    ENDIF.
    lo_datarecoverytargets = lo_policy->get_datarecovery( ).
    IF lo_datarecoverytargets IS NOT INITIAL.
      lv_integer = lo_datarecoverytargets->get_timebetweenbackupsinmins( ).
    ENDIF.
    lv_kmskeyid = lo_policy->get_kmskeyid( ).
    LOOP AT lo_policy->get_tags( ) into ls_row.
      lv_key = ls_row-key.
      lo_value = ls_row-value.
      IF lo_value IS NOT INITIAL.
        lv_tagvalue = lo_value->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_integer = lo_policy->get_associatedservicecount( ).
    lv_timestamp = lo_policy->get_createdat( ).
    lv_timestamp = lo_policy->get_updatedat( ).
  ENDIF.
ENDIF.