Skip to content

/AWS1/IF_BDO=>LISTPOLICYGENERATIONASSETS()

About ListPolicyGenerationAssets

Retrieves a list of generated policy assets from a policy generation request within the AgentCore Policy system. This operation returns the actual Cedar policies and related artifacts produced by the AI-powered policy generation process, allowing users to review and select from multiple generated policy options.

Method Signature

METHODS /AWS1/IF_BDO~LISTPOLICYGENERATIONASSETS
  IMPORTING
    !IV_POLICYGENERATIONID TYPE /AWS1/BDORESOURCEID OPTIONAL
    !IV_POLICYENGINEID TYPE /AWS1/BDORESOURCEID OPTIONAL
    !IV_NEXTTOKEN TYPE /AWS1/BDONEXTTOKEN OPTIONAL
    !IV_MAXRESULTS TYPE /AWS1/BDOMAXRESULTS OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_bdolstplygenerastsrsp
  RAISING
    /AWS1/CX_BDOACCESSDENIEDEX
    /AWS1/CX_BDOINTERNALSERVEREX
    /AWS1/CX_BDORESOURCENOTFOUNDEX
    /AWS1/CX_BDOTHROTTLINGEX
    /AWS1/CX_BDOVALIDATIONEX
    /AWS1/CX_BDOCLIENTEXC
    /AWS1/CX_BDOSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_policygenerationid TYPE /AWS1/BDORESOURCEID /AWS1/BDORESOURCEID

The unique identifier of the policy generation request whose assets are to be retrieved. This must be a valid generation ID from a previous StartPolicyGeneration call that has completed processing.

iv_policyengineid TYPE /AWS1/BDORESOURCEID /AWS1/BDORESOURCEID

The unique identifier of the policy engine associated with the policy generation request. This provides the context for the generation operation and ensures assets are retrieved from the correct policy engine.

Optional arguments:

iv_nexttoken TYPE /AWS1/BDONEXTTOKEN /AWS1/BDONEXTTOKEN

A pagination token returned from a previous ListPolicyGenerationAssets call. Use this token to retrieve the next page of assets when the response is paginated due to large numbers of generated policy options.

iv_maxresults TYPE /AWS1/BDOMAXRESULTS /AWS1/BDOMAXRESULTS

The maximum number of policy generation assets to return in a single response. If not specified, the default is 10 assets per page, with a maximum of 100 per page. This helps control response size when dealing with policy generations that produce many alternative policy options.

RETURNING

oo_output TYPE REF TO /aws1/cl_bdolstplygenerastsrsp /AWS1/CL_BDOLSTPLYGENERASTSRSP

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->listpolicygenerationassets(
  iv_maxresults = 123
  iv_nexttoken = |string|
  iv_policyengineid = |string|
  iv_policygenerationid = |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_policygenerationassets( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_resourceid = lo_row_1->get_policygenerationassetid( ).
      lo_policydefinition = lo_row_1->get_definition( ).
      IF lo_policydefinition IS NOT INITIAL.
        lo_cedarpolicy = lo_policydefinition->get_cedar( ).
        IF lo_cedarpolicy IS NOT INITIAL.
          lv_statement = lo_cedarpolicy->get_statement( ).
        ENDIF.
      ENDIF.
      lv_naturallanguage = lo_row_1->get_rawtextfragment( ).
      LOOP AT lo_row_1->get_findings( ) into lo_row_2.
        lo_row_3 = lo_row_2.
        IF lo_row_3 IS NOT INITIAL.
          lv_findingtype = lo_row_3->get_type( ).
          lv_string = lo_row_3->get_description( ).
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
  lv_nexttoken = lo_result->get_nexttoken( ).
ENDIF.