Skip to content

/AWS1/IF_NWS=>CREATESCOPE()

About CreateScope

Creates a scope. A scope selects the accounts and resources that a deployment applies to. Use isPublished to create the scope in published (ACTIVE) or draft (DRAFT) state.

Method Signature

METHODS /AWS1/IF_NWS~CREATESCOPE
  IMPORTING
    !IV_CLIENTTOKEN TYPE /AWS1/NWSIDEMPOTENCYTOKEN OPTIONAL
    !IV_SCOPENAME TYPE /AWS1/NWSSCOPENAME OPTIONAL
    !IV_SCOPEDESCRIPTION TYPE /AWS1/NWSDESCRIPTION OPTIONAL
    !IO_SCOPECONFIGURATION TYPE REF TO /AWS1/CL_NWSSCOPECONFIGURATION OPTIONAL
    !IV_ISPUBLISHED TYPE /AWS1/NWSISPUBLISHED OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_NWSTAGMAP_W=>TT_TAGMAP OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_nwscreatescopeoutput
  RAISING
    /AWS1/CX_NWSACCESSDENIEDEX
    /AWS1/CX_NWSCONFLICTEXCEPTION
    /AWS1/CX_NWSINTERNALSERVEREX
    /AWS1/CX_NWSSERVICEQUOTAEXCDEX
    /AWS1/CX_NWSSERVICEUNAVAILEX
    /AWS1/CX_NWSTAGPOLICYVIOEX
    /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_scopename TYPE /AWS1/NWSSCOPENAME /AWS1/NWSSCOPENAME

The name 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.

Optional arguments:

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.

iv_scopedescription TYPE /AWS1/NWSDESCRIPTION /AWS1/NWSDESCRIPTION

A description of the scope.

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). Default: true.

it_tags TYPE /AWS1/CL_NWSTAGMAP_W=>TT_TAGMAP TT_TAGMAP

The tags to add to the resource when it is created.

RETURNING

oo_output TYPE REF TO /aws1/cl_nwscreatescopeoutput /AWS1/CL_NWSCREATESCOPEOUTPUT

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->createscope(
  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
          )
        )
      )
    )
  )
  it_tags = VALUE /aws1/cl_nwstagmap_w=>tt_tagmap(
    (
      VALUE /aws1/cl_nwstagmap_w=>ts_tagmap_maprow(
        key = |string|
        value = new /aws1/cl_nwstagmap_w( |string| )
      )
    )
  )
  iv_clienttoken = |string|
  iv_ispublished = ABAP_TRUE
  iv_scopedescription = |string|
  iv_scopename = |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.

Create a scope

Creates a new scope in published (ACTIVE) state.

DATA(lo_result) = lo_client->createscope(
  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_clienttoken = |550e8400-e29b-41d4-a716-446655440001|
  iv_ispublished = ABAP_TRUE
  iv_scopedescription = |Scope covering all production web application resources|
  iv_scopename = |production-web-apps|
).