Skip to content

/AWS1/IF_COA=>LISTAUTOMATIONRULEPREVIEW()

About ListAutomationRulePreview

Returns a preview of the recommended actions that match your Automation rule's configuration and criteria.

Method Signature

METHODS /AWS1/IF_COA~LISTAUTOMATIONRULEPREVIEW
  IMPORTING
    !IV_RULETYPE TYPE /AWS1/COARULETYPE OPTIONAL
    !IO_ORGANIZATIONSCOPE TYPE REF TO /AWS1/CL_COAORGANIZATIONSCOPE OPTIONAL
    !IT_RECOMMENDEDACTIONTYPES TYPE /AWS1/CL_COARECDACTTYPELIST_W=>TT_RECOMMENDEDACTIONTYPELIST OPTIONAL
    !IO_CRITERIA TYPE REF TO /AWS1/CL_COACRITERIA OPTIONAL
    !IV_MAXRESULTS TYPE /AWS1/COAINTEGER OPTIONAL
    !IV_NEXTTOKEN TYPE /AWS1/COANEXTTOKEN OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_coalistautoruleprvrsp
  RAISING
    /AWS1/CX_COAACCESSDENIEDEX
    /AWS1/CX_COAFORBIDDENEXCEPTION
    /AWS1/CX_COAINTERNALSERVEREX
    /AWS1/CX_COAINVPARAMVALUEEX
    /AWS1/CX_COAOPTINREQUIREDEX
    /AWS1/CX_COASERVICEUNAVAILEX
    /AWS1/CX_COATHROTTLINGEX
    /AWS1/CX_COACLIENTEXC
    /AWS1/CX_COASERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.

IMPORTING

Required arguments:

iv_ruletype TYPE /AWS1/COARULETYPE /AWS1/COARULETYPE

The type of rule.

Only the management account or a delegated administrator can set the ruleType to be OrganizationRule.

it_recommendedactiontypes TYPE /AWS1/CL_COARECDACTTYPELIST_W=>TT_RECOMMENDEDACTIONTYPELIST TT_RECOMMENDEDACTIONTYPELIST

The types of recommended actions to include in the preview.

Optional arguments:

io_organizationscope TYPE REF TO /AWS1/CL_COAORGANIZATIONSCOPE /AWS1/CL_COAORGANIZATIONSCOPE

The organizational scope for the rule preview.

io_criteria TYPE REF TO /AWS1/CL_COACRITERIA /AWS1/CL_COACRITERIA

A set of conditions that specify which recommended action qualify for implementation. When a rule is active and a recommended action matches these criteria, Compute Optimizer implements the action at the scheduled run time.

iv_maxresults TYPE /AWS1/COAINTEGER /AWS1/COAINTEGER

The maximum number of automation rule preview results to return in a single response. Valid range is 1-1000.

iv_nexttoken TYPE /AWS1/COANEXTTOKEN /AWS1/COANEXTTOKEN

A token used for pagination to retrieve the next set of results when the response is truncated.

RETURNING

oo_output TYPE REF TO /aws1/cl_coalistautoruleprvrsp /AWS1/CL_COALISTAUTORULEPRVRSP

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->listautomationrulepreview(
  io_criteria = new /aws1/cl_coacriteria(
    it_ebsvolumesizeingib = VALUE /aws1/cl_coaintegercritcond=>tt_integercriteriacondlist(
      (
        new /aws1/cl_coaintegercritcond(
          it_values = VALUE /aws1/cl_coaintegerlist_w=>tt_integerlist(
            ( new /aws1/cl_coaintegerlist_w( 123 ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_ebsvolumetype = VALUE /aws1/cl_coastringcriteriacond=>tt_stringcriteriaconditionlist(
      (
        new /aws1/cl_coastringcriteriacond(
          it_values = VALUE /aws1/cl_coastringcritvalues_w=>tt_stringcriteriavalues(
            ( new /aws1/cl_coastringcritvalues_w( |string| ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_estimatedmonthlysavings = VALUE /aws1/cl_coadoublecriteriacond=>tt_doublecriteriaconditionlist(
      (
        new /aws1/cl_coadoublecriteriacond(
          it_values = VALUE /aws1/cl_coadoublelist_w=>tt_doublelist(
            ( new /aws1/cl_coadoublelist_w( |0.1| ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_lookbackperiodindays = VALUE /aws1/cl_coaintegercritcond=>tt_integercriteriacondlist(
      (
        new /aws1/cl_coaintegercritcond(
          it_values = VALUE /aws1/cl_coaintegerlist_w=>tt_integerlist(
            ( new /aws1/cl_coaintegerlist_w( 123 ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_region = VALUE /aws1/cl_coastringcriteriacond=>tt_stringcriteriaconditionlist(
      (
        new /aws1/cl_coastringcriteriacond(
          it_values = VALUE /aws1/cl_coastringcritvalues_w=>tt_stringcriteriavalues(
            ( new /aws1/cl_coastringcritvalues_w( |string| ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_resourcearn = VALUE /aws1/cl_coastringcriteriacond=>tt_stringcriteriaconditionlist(
      (
        new /aws1/cl_coastringcriteriacond(
          it_values = VALUE /aws1/cl_coastringcritvalues_w=>tt_stringcriteriavalues(
            ( new /aws1/cl_coastringcritvalues_w( |string| ) )
          )
          iv_comparison = |string|
        )
      )
    )
    it_resourcetag = VALUE /aws1/cl_coarestagscritcond=>tt_resourcetagscritcondlist(
      (
        new /aws1/cl_coarestagscritcond(
          it_values = VALUE /aws1/cl_coastringcritvalues_w=>tt_stringcriteriavalues(
            ( new /aws1/cl_coastringcritvalues_w( |string| ) )
          )
          iv_comparison = |string|
          iv_key = |string|
        )
      )
    )
    it_restartneeded = VALUE /aws1/cl_coastringcriteriacond=>tt_stringcriteriaconditionlist(
      (
        new /aws1/cl_coastringcriteriacond(
          it_values = VALUE /aws1/cl_coastringcritvalues_w=>tt_stringcriteriavalues(
            ( new /aws1/cl_coastringcritvalues_w( |string| ) )
          )
          iv_comparison = |string|
        )
      )
    )
  )
  io_organizationscope = new /aws1/cl_coaorganizationscope(
    it_accountids = VALUE /aws1/cl_coaorgconfacctids_w=>tt_organizationconfaccountids(
      ( new /aws1/cl_coaorgconfacctids_w( |string| ) )
    )
  )
  it_recommendedactiontypes = VALUE /aws1/cl_coarecdacttypelist_w=>tt_recommendedactiontypelist(
    ( new /aws1/cl_coarecdacttypelist_w( |string| ) )
  )
  iv_maxresults = 123
  iv_nexttoken = |string|
  iv_ruletype = |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_previewresults( ) into lo_row.
    lo_row_1 = lo_row.
    IF lo_row_1 IS NOT INITIAL.
      lv_recommendedactionid = lo_row_1->get_recommendedactionid( ).
      lv_resourcearn = lo_row_1->get_resourcearn( ).
      lv_resourceid = lo_row_1->get_resourceid( ).
      lv_accountid = lo_row_1->get_accountid( ).
      lv_string = lo_row_1->get_region( ).
      lv_resourcetype = lo_row_1->get_resourcetype( ).
      lv_integer = lo_row_1->get_lookbackperiodindays( ).
      lv_recommendedactiontype = lo_row_1->get_recommendedactiontype( ).
      lv_string = lo_row_1->get_currentresourcesummary( ).
      lo_resourcedetails = lo_row_1->get_currentresourcedetails( ).
      IF lo_resourcedetails IS NOT INITIAL.
        lo_ebsvolume = lo_resourcedetails->get_ebsvolume( ).
        IF lo_ebsvolume IS NOT INITIAL.
          lo_ebsvolumeconfiguration = lo_ebsvolume->get_configuration( ).
          IF lo_ebsvolumeconfiguration IS NOT INITIAL.
            lv_string = lo_ebsvolumeconfiguration->get_type( ).
            lv_integer = lo_ebsvolumeconfiguration->get_sizeingib( ).
            lv_integer = lo_ebsvolumeconfiguration->get_iops( ).
            lv_integer = lo_ebsvolumeconfiguration->get_throughput( ).
          ENDIF.
        ENDIF.
      ENDIF.
      lv_string = lo_row_1->get_recdresourcesummary( ).
      lo_resourcedetails = lo_row_1->get_recdresourcedetails( ).
      IF lo_resourcedetails IS NOT INITIAL.
        lo_ebsvolume = lo_resourcedetails->get_ebsvolume( ).
        IF lo_ebsvolume IS NOT INITIAL.
          lo_ebsvolumeconfiguration = lo_ebsvolume->get_configuration( ).
          IF lo_ebsvolumeconfiguration IS NOT INITIAL.
            lv_string = lo_ebsvolumeconfiguration->get_type( ).
            lv_integer = lo_ebsvolumeconfiguration->get_sizeingib( ).
            lv_integer = lo_ebsvolumeconfiguration->get_iops( ).
            lv_integer = lo_ebsvolumeconfiguration->get_throughput( ).
          ENDIF.
        ENDIF.
      ENDIF.
      lv_boolean = lo_row_1->get_restartneeded( ).
      lo_estimatedmonthlysavings = lo_row_1->get_estimatedmonthlysavings( ).
      IF lo_estimatedmonthlysavings IS NOT INITIAL.
        lv_string = lo_estimatedmonthlysavings->get_currency( ).
        lv_double = lo_estimatedmonthlysavings->get_beforediscountsavings( ).
        lv_double = lo_estimatedmonthlysavings->get_afterdiscountsavings( ).
        lv_savingsestimationmode = lo_estimatedmonthlysavings->get_savingsestimationmode( ).
      ENDIF.
      LOOP AT lo_row_1->get_resourcetags( ) into lo_row_2.
        lo_row_3 = lo_row_2.
        IF lo_row_3 IS NOT INITIAL.
          lv_tagkey = lo_row_3->get_key( ).
          lv_tagvalue = lo_row_3->get_value( ).
        ENDIF.
      ENDLOOP.
    ENDIF.
  ENDLOOP.
  lv_nexttoken = lo_result->get_nexttoken( ).
ENDIF.