/AWS1/IF_DZN=>LISTRULES()¶
About ListRules¶
Lists existing rules. In Amazon DataZone, a rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
Method Signature¶
METHODS /AWS1/IF_DZN~LISTRULES
IMPORTING
!IV_DOMAINIDENTIFIER TYPE /AWS1/DZNDOMAINID OPTIONAL
!IV_TARGETTYPE TYPE /AWS1/DZNRULETARGETTYPE OPTIONAL
!IV_TARGETIDENTIFIER TYPE /AWS1/DZNSTRING OPTIONAL
!IV_RULETYPE TYPE /AWS1/DZNRULETYPE OPTIONAL
!IV_ACTION TYPE /AWS1/DZNRULEACTION OPTIONAL
!IT_PROJECTIDS TYPE /AWS1/CL_DZNPROJECTIDS_W=>TT_PROJECTIDS OPTIONAL
!IT_ASSETTYPES TYPE /AWS1/CL_DZNASSETTYPEIDS_W=>TT_ASSETTYPEIDENTIFIERS OPTIONAL
!IV_DATAPRODUCT TYPE /AWS1/DZNBOOLEAN OPTIONAL
!IV_INCLUDECASCADED TYPE /AWS1/DZNBOOLEAN OPTIONAL
!IV_MAXRESULTS TYPE /AWS1/DZNINTEGER OPTIONAL
!IV_NEXTTOKEN TYPE /AWS1/DZNPAGINATIONTOKEN OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_dznlistrulesoutput
RAISING
/AWS1/CX_DZNACCESSDENIEDEX
/AWS1/CX_DZNTHROTTLINGEX
/AWS1/CX_DZNUNAUTHORIZEDEX
/AWS1/CX_DZNINTERNALSERVEREX
/AWS1/CX_DZNRESOURCENOTFOUNDEX
/AWS1/CX_DZNVALIDATIONEX
/AWS1/CX_DZNCLIENTEXC
/AWS1/CX_DZNSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_domainidentifier TYPE /AWS1/DZNDOMAINID /AWS1/DZNDOMAINID¶
The ID of the domain in which the rules are to be listed.
iv_targettype TYPE /AWS1/DZNRULETARGETTYPE /AWS1/DZNRULETARGETTYPE¶
The target type of the rule.
iv_targetidentifier TYPE /AWS1/DZNSTRING /AWS1/DZNSTRING¶
The target ID of the rule.
Optional arguments:¶
iv_ruletype TYPE /AWS1/DZNRULETYPE /AWS1/DZNRULETYPE¶
The type of the rule.
iv_action TYPE /AWS1/DZNRULEACTION /AWS1/DZNRULEACTION¶
The action of the rule.
it_projectids TYPE /AWS1/CL_DZNPROJECTIDS_W=>TT_PROJECTIDS TT_PROJECTIDS¶
The IDs of projects in which rules are to be listed.
it_assettypes TYPE /AWS1/CL_DZNASSETTYPEIDS_W=>TT_ASSETTYPEIDENTIFIERS TT_ASSETTYPEIDENTIFIERS¶
The asset types of the rule.
iv_dataproduct TYPE /AWS1/DZNBOOLEAN /AWS1/DZNBOOLEAN¶
The data product of the rule.
iv_includecascaded TYPE /AWS1/DZNBOOLEAN /AWS1/DZNBOOLEAN¶
Specifies whether to include cascading rules in the results.
iv_maxresults TYPE /AWS1/DZNINTEGER /AWS1/DZNINTEGER¶
The maximum number of rules to return in a single call to
ListRules. When the number of rules to be listed is greater than the value ofMaxResults, the response contains aNextTokenvalue that you can use in a subsequent call toListRulesto list the next set of rules.
iv_nexttoken TYPE /AWS1/DZNPAGINATIONTOKEN /AWS1/DZNPAGINATIONTOKEN¶
When the number of rules is greater than the default value for the
MaxResultsparameter, or if you explicitly specify a value forMaxResultsthat is less than the number of rules, the response includes a pagination token namedNextToken. You can specify thisNextTokenvalue in a subsequent call toListRulesto list the next set of rules.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_dznlistrulesoutput /AWS1/CL_DZNLISTRULESOUTPUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->listrules(
it_assettypes = VALUE /aws1/cl_dznassettypeids_w=>tt_assettypeidentifiers(
( new /aws1/cl_dznassettypeids_w( |string| ) )
)
it_projectids = VALUE /aws1/cl_dznprojectids_w=>tt_projectids(
( new /aws1/cl_dznprojectids_w( |string| ) )
)
iv_action = |string|
iv_dataproduct = ABAP_TRUE
iv_domainidentifier = |string|
iv_includecascaded = ABAP_TRUE
iv_maxresults = 123
iv_nexttoken = |string|
iv_ruletype = |string|
iv_targetidentifier = |string|
iv_targettype = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
LOOP AT lo_result->get_items( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_ruleid = lo_row_1->get_identifier( ).
lv_revision = lo_row_1->get_revision( ).
lv_ruletype = lo_row_1->get_ruletype( ).
lv_rulename = lo_row_1->get_name( ).
lv_ruletargettype = lo_row_1->get_targettype( ).
lo_ruletarget = lo_row_1->get_target( ).
IF lo_ruletarget IS NOT INITIAL.
lo_domainunittarget = lo_ruletarget->get_domainunittarget( ).
IF lo_domainunittarget IS NOT INITIAL.
lv_domainunitid = lo_domainunittarget->get_domainunitid( ).
lv_boolean = lo_domainunittarget->get_includechilddomainunits( ).
ENDIF.
ENDIF.
lv_ruleaction = lo_row_1->get_action( ).
lo_rulescope = lo_row_1->get_scope( ).
IF lo_rulescope IS NOT INITIAL.
lo_assettypesforrule = lo_rulescope->get_assettype( ).
IF lo_assettypesforrule IS NOT INITIAL.
lv_rulescopeselectionmode = lo_assettypesforrule->get_selectionmode( ).
LOOP AT lo_assettypesforrule->get_specificassettypes( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_assettypeidentifier = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lv_boolean = lo_rulescope->get_dataproduct( ).
lo_projectsforrule = lo_rulescope->get_project( ).
IF lo_projectsforrule IS NOT INITIAL.
lv_rulescopeselectionmode = lo_projectsforrule->get_selectionmode( ).
LOOP AT lo_projectsforrule->get_specificprojects( ) into lo_row_4.
lo_row_5 = lo_row_4.
IF lo_row_5 IS NOT INITIAL.
lv_projectid = lo_row_5->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
lv_updatedat = lo_row_1->get_updatedat( ).
lv_updatedby = lo_row_1->get_lastupdatedby( ).
ENDIF.
ENDLOOP.
lv_paginationtoken = lo_result->get_nexttoken( ).
ENDIF.