Skip to content

/AWS1/IF_REV=>IMPORTPOLICY()

About ImportPolicy

Imports a V1 policy into V2, mapping RTO/RPO values from V1 scenarios.

Method Signature

METHODS /AWS1/IF_REV~IMPORTPOLICY
  IMPORTING
    !IV_V1POLICYARN TYPE /AWS1/REVARN OPTIONAL
    !IV_KMSKEYID TYPE /AWS1/REVKMSKEYID OPTIONAL
    !IO_AVAILABILITYSLO TYPE REF TO /AWS1/CL_REVAVAILABILITYSLO OPTIONAL
    !IV_MULTIAZDISASTRRECAPPR TYPE /AWS1/REVMULTIAZDISASTRRECAPPR OPTIONAL
    !IV_MULTIREGIONDISASTRRECAPPR TYPE /AWS1/REVMULTRGNDISASTRRECAPPR OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_REVTAGMAP_W=>TT_TAGMAP OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/REVCLIENTTOKEN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_revimportpolicyrsp
  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_v1policyarn TYPE /AWS1/REVARN /AWS1/REVARN

ARN identifier.

Optional arguments:

iv_kmskeyid TYPE /AWS1/REVKMSKEYID /AWS1/REVKMSKEYID

KMS key identifier — accepts key ID, key ARN, alias name, or alias ARN.

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

The availability SLO to set on the imported policy.

iv_multiazdisastrrecappr TYPE /AWS1/REVMULTIAZDISASTRRECAPPR /AWS1/REVMULTIAZDISASTRRECAPPR

The multi-AZ disaster recovery approach for the imported policy.

iv_multiregiondisastrrecappr TYPE /AWS1/REVMULTRGNDISASTRRECAPPR /AWS1/REVMULTRGNDISASTRRECAPPR

The multi-Region disaster recovery approach for the imported policy.

it_tags TYPE /AWS1/CL_REVTAGMAP_W=>TT_TAGMAP TT_TAGMAP

Resource tags.

iv_clienttoken TYPE /AWS1/REVCLIENTTOKEN /AWS1/REVCLIENTTOKEN

Idempotency token.

RETURNING

oo_output TYPE REF TO /aws1/cl_revimportpolicyrsp /AWS1/CL_REVIMPORTPOLICYRSP

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->importpolicy(
  io_availabilityslo = new /aws1/cl_revavailabilityslo( '0.1' )
  it_tags = VALUE /aws1/cl_revtagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_revtagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_revtagmap_w( |string| )
      )
    )
  )
  iv_clienttoken = |string|
  iv_kmskeyid = |string|
  iv_multiazdisastrrecappr = |string|
  iv_multiregiondisastrrecappr = |string|
  iv_v1policyarn = |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.