Skip to content

/AWS1/IF_NWS=>UPDATESCOPE()

About UpdateScope

Updates the specified scope. To prevent conflicting concurrent updates, provide the current updateToken. Use isPublished to publish the update or keep the scope as a draft.

Method Signature

METHODS /AWS1/IF_NWS~UPDATESCOPE
  IMPORTING
    !IV_SCOPEIDENTIFIER TYPE /AWS1/NWSSCOPEIDENTIFIER OPTIONAL
    !IV_UPDATETOKEN TYPE /AWS1/NWSUPDATETOKEN OPTIONAL
    !IV_SCOPEDESCRIPTION TYPE /AWS1/NWSDESCRIPTION OPTIONAL
    !IO_SCOPECONFIGURATION TYPE REF TO /AWS1/CL_NWSSCOPECONFIGURATION OPTIONAL
    !IV_ISPUBLISHED TYPE /AWS1/NWSISPUBLISHED OPTIONAL
    !IV_CLIENTTOKEN TYPE /AWS1/NWSIDEMPOTENCYTOKEN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_nwsupdatescopeoutput
  RAISING
    /AWS1/CX_NWSACCESSDENIEDEX
    /AWS1/CX_NWSCONFLICTEXCEPTION
    /AWS1/CX_NWSINTERNALSERVEREX
    /AWS1/CX_NWSRESOURCENOTFOUNDEX
    /AWS1/CX_NWSSERVICEQUOTAEXCDEX
    /AWS1/CX_NWSTHROTTLINGEX
    /AWS1/CX_NWSVLDTNEXCEPTION
    /AWS1/CX_NWSCLIENTEXC
    /AWS1/CX_NWSSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_scopeidentifier TYPE /AWS1/NWSSCOPEIDENTIFIER /AWS1/NWSSCOPEIDENTIFIER

The identifier of the scope. This is the scope's Amazon Resource Name (ARN).

iv_updatetoken TYPE /AWS1/NWSUPDATETOKEN /AWS1/NWSUPDATETOKEN

A token used for optimistic concurrency control. Each read and write returns an updateToken. Provide the most recent value on your next update to detect and prevent conflicting concurrent modifications.

iv_ispublished TYPE /AWS1/NWSISPUBLISHED /AWS1/NWSISPUBLISHED

Specifies whether to publish the resource. When true, the resource is saved in published (ACTIVE) state. When false, it is saved as a draft (DRAFT).

Optional arguments:

iv_scopedescription TYPE /AWS1/NWSDESCRIPTION /AWS1/NWSDESCRIPTION

A description of the scope.

io_scopeconfiguration TYPE REF TO /AWS1/CL_NWSSCOPECONFIGURATION /AWS1/CL_NWSSCOPECONFIGURATION

The configuration that defines which accounts and resources are in scope. If you don't include this member, the scope keeps its existing configuration.

A new configuration can change which accounts and resources are selected, but it can't add or remove the account filter itself: a scope created for multi-account use stays multi-account, and a scope created for single-account use stays single-account.

iv_clienttoken TYPE /AWS1/NWSIDEMPOTENCYTOKEN /AWS1/NWSIDEMPOTENCYTOKEN

A unique, case-sensitive token that you provide to ensure that the operation completes no more than one time. If you retry a request with the same client token and the same parameters, the service returns the result of the original successful request.

RETURNING

oo_output TYPE REF TO /aws1/cl_nwsupdatescopeoutput /AWS1/CL_NWSUPDATESCOPEOUTPUT

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->updatescope(
  io_scopeconfiguration = new /aws1/cl_nwsscopeconfiguration(
    io_accountfilter = new /aws1/cl_nwsaccountfilter(
      io_exclude = new /aws1/cl_nwsaccountset(
        it_accountids = VALUE /aws1/cl_nwsaccountlist_w=>tt_accountlist(
          ( new /aws1/cl_nwsaccountlist_w( |string| ) )
        )
        it_organizationalunits = VALUE /aws1/cl_nwsorgnlunitlist_w=>tt_organizationalunitlist(
          ( new /aws1/cl_nwsorgnlunitlist_w( |string| ) )
        )
      )
      io_include = new /aws1/cl_nwsaccountset(
        it_accountids = VALUE /aws1/cl_nwsaccountlist_w=>tt_accountlist(
          ( new /aws1/cl_nwsaccountlist_w( |string| ) )
        )
        it_organizationalunits = VALUE /aws1/cl_nwsorgnlunitlist_w=>tt_organizationalunitlist(
          ( new /aws1/cl_nwsorgnlunitlist_w( |string| ) )
        )
      )
      io_includeall = new /aws1/cl_nwsunit( )
    )
    it_resourcescopes = VALUE /aws1/cl_nwsresourcescope=>tt_resourcescopemap(
      (
        VALUE /aws1/cl_nwsresourcescope=>ts_resourcescopemap_maprow(
          key = |string|
          value = new /aws1/cl_nwsresourcescope(
            io_exclude = new /aws1/cl_nwsresourceset(
              io_expression = new /aws1/cl_nwsreslogicalxprsn(
                io_criteria = new /aws1/cl_nwsresourcecriteria(
                  io_albconfig = new /aws1/cl_nwsalbconfiguration(
                    iv_ipaddresstype = |string|
                    iv_scheme = |string|
                  )
                  it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                    (
                      VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                        key = |string|
                        value = new /aws1/cl_nwsstringmap_w( |string| )
                      )
                    )
                  )
                )
                io_not = new /aws1/cl_nwsreslogicalxprsn(
                  io_criteria = new /aws1/cl_nwsresourcecriteria(
                    io_albconfig = new /aws1/cl_nwsalbconfiguration(
                      iv_ipaddresstype = |string|
                      iv_scheme = |string|
                    )
                    it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                      (
                        VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                          key = |string|
                          value = new /aws1/cl_nwsstringmap_w( |string| )
                        )
                      )
                    )
                  )
                  it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                    (
                      new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                    )
                  )
                  it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                    (
                      new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                    )
                  )
                )
                it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                  (
                    new /aws1/cl_nwsreslogicalxprsn(
                      io_criteria = new /aws1/cl_nwsresourcecriteria(
                        io_albconfig = new /aws1/cl_nwsalbconfiguration(
                          iv_ipaddresstype = |string|
                          iv_scheme = |string|
                        )
                        it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                          (
                            VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                              key = |string|
                              value = new /aws1/cl_nwsstringmap_w( |string| )
                            )
                          )
                        )
                      )
                      io_not = new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                      it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                      )
                    )
                  )
                )
                it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                  (
                    new /aws1/cl_nwsreslogicalxprsn(
                      io_criteria = new /aws1/cl_nwsresourcecriteria(
                        io_albconfig = new /aws1/cl_nwsalbconfiguration(
                          iv_ipaddresstype = |string|
                          iv_scheme = |string|
                        )
                        it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                          (
                            VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                              key = |string|
                              value = new /aws1/cl_nwsstringmap_w( |string| )
                            )
                          )
                        )
                      )
                      io_not = new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                      it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                      )
                    )
                  )
                )
              )
              it_explicitarns = VALUE /aws1/cl_nwsresourcearnlist_w=>tt_resourcearnlist(
                ( new /aws1/cl_nwsresourcearnlist_w( |string| ) )
              )
            )
            io_include = new /aws1/cl_nwsresourceset(
              io_expression = new /aws1/cl_nwsreslogicalxprsn(
                io_criteria = new /aws1/cl_nwsresourcecriteria(
                  io_albconfig = new /aws1/cl_nwsalbconfiguration(
                    iv_ipaddresstype = |string|
                    iv_scheme = |string|
                  )
                  it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                    (
                      VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                        key = |string|
                        value = new /aws1/cl_nwsstringmap_w( |string| )
                      )
                    )
                  )
                )
                io_not = new /aws1/cl_nwsreslogicalxprsn(
                  io_criteria = new /aws1/cl_nwsresourcecriteria(
                    io_albconfig = new /aws1/cl_nwsalbconfiguration(
                      iv_ipaddresstype = |string|
                      iv_scheme = |string|
                    )
                    it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                      (
                        VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                          key = |string|
                          value = new /aws1/cl_nwsstringmap_w( |string| )
                        )
                      )
                    )
                  )
                  it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                    (
                      new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                    )
                  )
                  it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                    (
                      new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                    )
                  )
                )
                it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                  (
                    new /aws1/cl_nwsreslogicalxprsn(
                      io_criteria = new /aws1/cl_nwsresourcecriteria(
                        io_albconfig = new /aws1/cl_nwsalbconfiguration(
                          iv_ipaddresstype = |string|
                          iv_scheme = |string|
                        )
                        it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                          (
                            VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                              key = |string|
                              value = new /aws1/cl_nwsstringmap_w( |string| )
                            )
                          )
                        )
                      )
                      io_not = new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                      it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                      )
                    )
                  )
                )
                it_or = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                  (
                    new /aws1/cl_nwsreslogicalxprsn(
                      io_criteria = new /aws1/cl_nwsresourcecriteria(
                        io_albconfig = new /aws1/cl_nwsalbconfiguration(
                          iv_ipaddresstype = |string|
                          iv_scheme = |string|
                        )
                        it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                          (
                            VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                              key = |string|
                              value = new /aws1/cl_nwsstringmap_w( |string| )
                            )
                          )
                        )
                      )
                      io_not = new /aws1/cl_nwsreslogicalxprsn(
                        io_criteria = new /aws1/cl_nwsresourcecriteria(
                          io_albconfig = new /aws1/cl_nwsalbconfiguration(
                            iv_ipaddresstype = |string|
                            iv_scheme = |string|
                          )
                          it_tags = VALUE /aws1/cl_nwsstringmap_w=>tt_stringmap(
                            (
                              VALUE /aws1/cl_nwsstringmap_w=>ts_stringmap_maprow(
                                key = |string|
                                value = new /aws1/cl_nwsstringmap_w( |string| )
                              )
                            )
                          )
                        )
                        it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                        )
                      )
                      it_and = VALUE /aws1/cl_nwsreslogicalxprsn=>tt_resourcelogicalxprsnlist(
                      )
                    )
                  )
                )
              )
              it_explicitarns = VALUE /aws1/cl_nwsresourcearnlist_w=>tt_resourcearnlist(
                ( new /aws1/cl_nwsresourcearnlist_w( |string| ) )
              )
            )
            iv_includeall = ABAP_TRUE
          )
        )
      )
    )
  )
  iv_clienttoken = |string|
  iv_ispublished = ABAP_TRUE
  iv_scopedescription = |string|
  iv_scopeidentifier = |string|
  iv_updatetoken = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lv_scopeid = lo_result->get_scopeid( ).
  lv_scopearn = lo_result->get_scopearn( ).
  lv_scopename = lo_result->get_scopename( ).
  lv_description = lo_result->get_scopedescription( ).
  lo_scopeconfiguration = lo_result->get_scopeconfiguration( ).
  IF lo_scopeconfiguration IS NOT INITIAL.
    lo_accountfilter = lo_scopeconfiguration->get_accountfilter( ).
    IF lo_accountfilter IS NOT INITIAL.
      lo_unit = lo_accountfilter->get_includeall( ).
      IF lo_unit IS NOT INITIAL.
      ENDIF.
      lo_accountset = lo_accountfilter->get_include( ).
      IF lo_accountset IS NOT INITIAL.
        LOOP AT lo_accountset->get_accountids( ) into lo_row.
          lo_row_1 = lo_row.
          IF lo_row_1 IS NOT INITIAL.
            lv_accountid = lo_row_1->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_accountset->get_organizationalunits( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_organizationalunit = lo_row_3->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
      lo_accountset = lo_accountfilter->get_exclude( ).
      IF lo_accountset IS NOT INITIAL.
        LOOP AT lo_accountset->get_accountids( ) into lo_row.
          lo_row_1 = lo_row.
          IF lo_row_1 IS NOT INITIAL.
            lv_accountid = lo_row_1->get_value( ).
          ENDIF.
        ENDLOOP.
        LOOP AT lo_accountset->get_organizationalunits( ) into lo_row_2.
          lo_row_3 = lo_row_2.
          IF lo_row_3 IS NOT INITIAL.
            lv_organizationalunit = lo_row_3->get_value( ).
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    LOOP AT lo_scopeconfiguration->get_resourcescopes( ) into ls_row_4.
      lv_key = ls_row_4-key.
      lo_value = ls_row_4-value.
      IF lo_value IS NOT INITIAL.
        lv_boolean = lo_value->get_includeall( ).
        lo_resourceset = lo_value->get_include( ).
        IF lo_resourceset IS NOT INITIAL.
          LOOP AT lo_resourceset->get_explicitarns( ) into lo_row_5.
            lo_row_6 = lo_row_5.
            IF lo_row_6 IS NOT INITIAL.
              lv_arn = lo_row_6->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_resourcelogicalexpressi = lo_resourceset->get_expression( ).
          IF lo_resourcelogicalexpressi IS NOT INITIAL.
            lo_resourcecriteria = lo_resourcelogicalexpressi->get_criteria( ).
            IF lo_resourcecriteria IS NOT INITIAL.
              LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                lv_key_1 = ls_row_7-key.
                lo_value_1 = ls_row_7-value.
                IF lo_value_1 IS NOT INITIAL.
                  lv_string = lo_value_1->get_value( ).
                ENDIF.
              ENDLOOP.
              lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
              IF lo_albconfiguration IS NOT INITIAL.
                lv_scheme = lo_albconfiguration->get_scheme( ).
                lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
              ENDIF.
            ENDIF.
            LOOP AT lo_resourcelogicalexpressi->get_and( ) into lo_row_8.
              lo_row_9 = lo_row_8.
              IF lo_row_9 IS NOT INITIAL.
                lo_resourcecriteria = lo_row_9->get_criteria( ).
                IF lo_resourcecriteria IS NOT INITIAL.
                  LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                    lv_key_1 = ls_row_7-key.
                    lo_value_1 = ls_row_7-value.
                    IF lo_value_1 IS NOT INITIAL.
                      lv_string = lo_value_1->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                  IF lo_albconfiguration IS NOT INITIAL.
                    lv_scheme = lo_albconfiguration->get_scheme( ).
                    lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                  ENDIF.
                ENDIF.
                " Skipping lo_row_8 to avoid recursion
                LOOP AT lo_row_9->get_or( ) into lo_row_10.
                  lo_row_11 = lo_row_10.
                  IF lo_row_11 IS NOT INITIAL.
                    lo_resourcecriteria = lo_row_11->get_criteria( ).
                    IF lo_resourcecriteria IS NOT INITIAL.
                      LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                        lv_key_1 = ls_row_7-key.
                        lo_value_1 = ls_row_7-value.
                        IF lo_value_1 IS NOT INITIAL.
                          lv_string = lo_value_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                      IF lo_albconfiguration IS NOT INITIAL.
                        lv_scheme = lo_albconfiguration->get_scheme( ).
                        lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                      ENDIF.
                    ENDIF.
                    " Skipping lo_row_10 to avoid recursion
                    " Skipping lo_row_10 to avoid recursion
                    lo_resourcelogicalexpressi_1 = lo_row_11->get_not( ).
                    IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                      lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                    ENDIF.
                  ENDIF.
                ENDLOOP.
                lo_resourcelogicalexpressi_1 = lo_row_9->get_not( ).
                IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                  lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                  LOOP AT lo_resourcelogicalexpressi_1->get_or( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                ENDIF.
              ENDIF.
            ENDLOOP.
            LOOP AT lo_resourcelogicalexpressi->get_or( ) into lo_row_8.
              lo_row_9 = lo_row_8.
              IF lo_row_9 IS NOT INITIAL.
                lo_resourcecriteria = lo_row_9->get_criteria( ).
                IF lo_resourcecriteria IS NOT INITIAL.
                  LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                    lv_key_1 = ls_row_7-key.
                    lo_value_1 = ls_row_7-value.
                    IF lo_value_1 IS NOT INITIAL.
                      lv_string = lo_value_1->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                  IF lo_albconfiguration IS NOT INITIAL.
                    lv_scheme = lo_albconfiguration->get_scheme( ).
                    lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                  ENDIF.
                ENDIF.
                LOOP AT lo_row_9->get_and( ) into lo_row_10.
                  lo_row_11 = lo_row_10.
                  IF lo_row_11 IS NOT INITIAL.
                    lo_resourcecriteria = lo_row_11->get_criteria( ).
                    IF lo_resourcecriteria IS NOT INITIAL.
                      LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                        lv_key_1 = ls_row_7-key.
                        lo_value_1 = ls_row_7-value.
                        IF lo_value_1 IS NOT INITIAL.
                          lv_string = lo_value_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                      IF lo_albconfiguration IS NOT INITIAL.
                        lv_scheme = lo_albconfiguration->get_scheme( ).
                        lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                      ENDIF.
                    ENDIF.
                    " Skipping lo_row_10 to avoid recursion
                    " Skipping lo_row_10 to avoid recursion
                    lo_resourcelogicalexpressi_1 = lo_row_11->get_not( ).
                    IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                      lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                    ENDIF.
                  ENDIF.
                ENDLOOP.
                " Skipping lo_row_8 to avoid recursion
                lo_resourcelogicalexpressi_1 = lo_row_9->get_not( ).
                IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                  lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  LOOP AT lo_resourcelogicalexpressi_1->get_and( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                ENDIF.
              ENDIF.
            ENDLOOP.
            lo_resourcelogicalexpressi_1 = lo_resourcelogicalexpressi->get_not( ).
            IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
              lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
              IF lo_resourcecriteria IS NOT INITIAL.
                LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                  lv_key_1 = ls_row_7-key.
                  lo_value_1 = ls_row_7-value.
                  IF lo_value_1 IS NOT INITIAL.
                    lv_string = lo_value_1->get_value( ).
                  ENDIF.
                ENDLOOP.
                lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                IF lo_albconfiguration IS NOT INITIAL.
                  lv_scheme = lo_albconfiguration->get_scheme( ).
                  lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                ENDIF.
              ENDIF.
              LOOP AT lo_resourcelogicalexpressi_1->get_and( ) into lo_row_8.
                lo_row_9 = lo_row_8.
                IF lo_row_9 IS NOT INITIAL.
                  lo_resourcecriteria = lo_row_9->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  " Skipping lo_row_8 to avoid recursion
                  LOOP AT lo_row_9->get_or( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_8 to avoid recursion
                ENDIF.
              ENDLOOP.
              LOOP AT lo_resourcelogicalexpressi_1->get_or( ) into lo_row_8.
                lo_row_9 = lo_row_8.
                IF lo_row_9 IS NOT INITIAL.
                  lo_resourcecriteria = lo_row_9->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  LOOP AT lo_row_9->get_and( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_8 to avoid recursion
                  " Skipping lo_row_8 to avoid recursion
                ENDIF.
              ENDLOOP.
              " Skipping lo_resourcelogicalexpressi->get_not( ) to avoid recursion
            ENDIF.
          ENDIF.
        ENDIF.
        lo_resourceset = lo_value->get_exclude( ).
        IF lo_resourceset IS NOT INITIAL.
          LOOP AT lo_resourceset->get_explicitarns( ) into lo_row_5.
            lo_row_6 = lo_row_5.
            IF lo_row_6 IS NOT INITIAL.
              lv_arn = lo_row_6->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_resourcelogicalexpressi = lo_resourceset->get_expression( ).
          IF lo_resourcelogicalexpressi IS NOT INITIAL.
            lo_resourcecriteria = lo_resourcelogicalexpressi->get_criteria( ).
            IF lo_resourcecriteria IS NOT INITIAL.
              LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                lv_key_1 = ls_row_7-key.
                lo_value_1 = ls_row_7-value.
                IF lo_value_1 IS NOT INITIAL.
                  lv_string = lo_value_1->get_value( ).
                ENDIF.
              ENDLOOP.
              lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
              IF lo_albconfiguration IS NOT INITIAL.
                lv_scheme = lo_albconfiguration->get_scheme( ).
                lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
              ENDIF.
            ENDIF.
            LOOP AT lo_resourcelogicalexpressi->get_and( ) into lo_row_8.
              lo_row_9 = lo_row_8.
              IF lo_row_9 IS NOT INITIAL.
                lo_resourcecriteria = lo_row_9->get_criteria( ).
                IF lo_resourcecriteria IS NOT INITIAL.
                  LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                    lv_key_1 = ls_row_7-key.
                    lo_value_1 = ls_row_7-value.
                    IF lo_value_1 IS NOT INITIAL.
                      lv_string = lo_value_1->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                  IF lo_albconfiguration IS NOT INITIAL.
                    lv_scheme = lo_albconfiguration->get_scheme( ).
                    lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                  ENDIF.
                ENDIF.
                " Skipping lo_row_8 to avoid recursion
                LOOP AT lo_row_9->get_or( ) into lo_row_10.
                  lo_row_11 = lo_row_10.
                  IF lo_row_11 IS NOT INITIAL.
                    lo_resourcecriteria = lo_row_11->get_criteria( ).
                    IF lo_resourcecriteria IS NOT INITIAL.
                      LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                        lv_key_1 = ls_row_7-key.
                        lo_value_1 = ls_row_7-value.
                        IF lo_value_1 IS NOT INITIAL.
                          lv_string = lo_value_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                      IF lo_albconfiguration IS NOT INITIAL.
                        lv_scheme = lo_albconfiguration->get_scheme( ).
                        lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                      ENDIF.
                    ENDIF.
                    " Skipping lo_row_10 to avoid recursion
                    " Skipping lo_row_10 to avoid recursion
                    lo_resourcelogicalexpressi_1 = lo_row_11->get_not( ).
                    IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                      lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                    ENDIF.
                  ENDIF.
                ENDLOOP.
                lo_resourcelogicalexpressi_1 = lo_row_9->get_not( ).
                IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                  lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                  LOOP AT lo_resourcelogicalexpressi_1->get_or( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                ENDIF.
              ENDIF.
            ENDLOOP.
            LOOP AT lo_resourcelogicalexpressi->get_or( ) into lo_row_8.
              lo_row_9 = lo_row_8.
              IF lo_row_9 IS NOT INITIAL.
                lo_resourcecriteria = lo_row_9->get_criteria( ).
                IF lo_resourcecriteria IS NOT INITIAL.
                  LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                    lv_key_1 = ls_row_7-key.
                    lo_value_1 = ls_row_7-value.
                    IF lo_value_1 IS NOT INITIAL.
                      lv_string = lo_value_1->get_value( ).
                    ENDIF.
                  ENDLOOP.
                  lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                  IF lo_albconfiguration IS NOT INITIAL.
                    lv_scheme = lo_albconfiguration->get_scheme( ).
                    lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                  ENDIF.
                ENDIF.
                LOOP AT lo_row_9->get_and( ) into lo_row_10.
                  lo_row_11 = lo_row_10.
                  IF lo_row_11 IS NOT INITIAL.
                    lo_resourcecriteria = lo_row_11->get_criteria( ).
                    IF lo_resourcecriteria IS NOT INITIAL.
                      LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                        lv_key_1 = ls_row_7-key.
                        lo_value_1 = ls_row_7-value.
                        IF lo_value_1 IS NOT INITIAL.
                          lv_string = lo_value_1->get_value( ).
                        ENDIF.
                      ENDLOOP.
                      lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                      IF lo_albconfiguration IS NOT INITIAL.
                        lv_scheme = lo_albconfiguration->get_scheme( ).
                        lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                      ENDIF.
                    ENDIF.
                    " Skipping lo_row_10 to avoid recursion
                    " Skipping lo_row_10 to avoid recursion
                    lo_resourcelogicalexpressi_1 = lo_row_11->get_not( ).
                    IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                      lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                      " Skipping lo_row_11->get_not( ) to avoid recursion
                    ENDIF.
                  ENDIF.
                ENDLOOP.
                " Skipping lo_row_8 to avoid recursion
                lo_resourcelogicalexpressi_1 = lo_row_9->get_not( ).
                IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
                  lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  LOOP AT lo_resourcelogicalexpressi_1->get_and( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                  " Skipping lo_row_9->get_not( ) to avoid recursion
                ENDIF.
              ENDIF.
            ENDLOOP.
            lo_resourcelogicalexpressi_1 = lo_resourcelogicalexpressi->get_not( ).
            IF lo_resourcelogicalexpressi_1 IS NOT INITIAL.
              lo_resourcecriteria = lo_resourcelogicalexpressi_1->get_criteria( ).
              IF lo_resourcecriteria IS NOT INITIAL.
                LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                  lv_key_1 = ls_row_7-key.
                  lo_value_1 = ls_row_7-value.
                  IF lo_value_1 IS NOT INITIAL.
                    lv_string = lo_value_1->get_value( ).
                  ENDIF.
                ENDLOOP.
                lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                IF lo_albconfiguration IS NOT INITIAL.
                  lv_scheme = lo_albconfiguration->get_scheme( ).
                  lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                ENDIF.
              ENDIF.
              LOOP AT lo_resourcelogicalexpressi_1->get_and( ) into lo_row_8.
                lo_row_9 = lo_row_8.
                IF lo_row_9 IS NOT INITIAL.
                  lo_resourcecriteria = lo_row_9->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  " Skipping lo_row_8 to avoid recursion
                  LOOP AT lo_row_9->get_or( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_8 to avoid recursion
                ENDIF.
              ENDLOOP.
              LOOP AT lo_resourcelogicalexpressi_1->get_or( ) into lo_row_8.
                lo_row_9 = lo_row_8.
                IF lo_row_9 IS NOT INITIAL.
                  lo_resourcecriteria = lo_row_9->get_criteria( ).
                  IF lo_resourcecriteria IS NOT INITIAL.
                    LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                      lv_key_1 = ls_row_7-key.
                      lo_value_1 = ls_row_7-value.
                      IF lo_value_1 IS NOT INITIAL.
                        lv_string = lo_value_1->get_value( ).
                      ENDIF.
                    ENDLOOP.
                    lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                    IF lo_albconfiguration IS NOT INITIAL.
                      lv_scheme = lo_albconfiguration->get_scheme( ).
                      lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                    ENDIF.
                  ENDIF.
                  LOOP AT lo_row_9->get_and( ) into lo_row_10.
                    lo_row_11 = lo_row_10.
                    IF lo_row_11 IS NOT INITIAL.
                      lo_resourcecriteria = lo_row_11->get_criteria( ).
                      IF lo_resourcecriteria IS NOT INITIAL.
                        LOOP AT lo_resourcecriteria->get_tags( ) into ls_row_7.
                          lv_key_1 = ls_row_7-key.
                          lo_value_1 = ls_row_7-value.
                          IF lo_value_1 IS NOT INITIAL.
                            lv_string = lo_value_1->get_value( ).
                          ENDIF.
                        ENDLOOP.
                        lo_albconfiguration = lo_resourcecriteria->get_albconfig( ).
                        IF lo_albconfiguration IS NOT INITIAL.
                          lv_scheme = lo_albconfiguration->get_scheme( ).
                          lv_ipaddresstype = lo_albconfiguration->get_ipaddresstype( ).
                        ENDIF.
                      ENDIF.
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                      " Skipping lo_row_10 to avoid recursion
                    ENDIF.
                  ENDLOOP.
                  " Skipping lo_row_8 to avoid recursion
                  " Skipping lo_row_8 to avoid recursion
                ENDIF.
              ENDLOOP.
              " Skipping lo_resourcelogicalexpressi->get_not( ) to avoid recursion
            ENDIF.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDLOOP.
  ENDIF.
  lv_entitystatus = lo_result->get_status( ).
  lv_entityversion = lo_result->get_version( ).
  lv_updatetoken = lo_result->get_updatetoken( ).
  lv_issnapshot = lo_result->get_issnapshot( ).
  lv_haspublishedversion = lo_result->get_haspublishedversion( ).
  lv_datetimestamp = lo_result->get_updatedat( ).
ENDIF.

Update a scope and publish it

Updates the scope's description and configuration and publishes the change. The updateToken from the most recent read is required for optimistic locking.

DATA(lo_result) = lo_client->updatescope(
  io_scopeconfiguration = new /aws1/cl_nwsscopeconfiguration(
    io_accountfilter = new /aws1/cl_nwsaccountfilter( io_includeall = new /aws1/cl_nwsunit( ) )
    it_resourcescopes = VALUE /aws1/cl_nwsresourcescope=>tt_resourcescopemap(
    )
  )
  iv_ispublished = ABAP_TRUE
  iv_scopedescription = |Scope covering all production web application resources in US East 1|
  iv_scopeidentifier = |arn:aws:network-security-manager:us-east-1:123456789012:scope:abc123|
  iv_updatetoken = |b0c4d1e2-3f4a-4b5c-8d6e-7f8a9b0c1d2e|
).